# UserVoice Destination

## Destination Info

* Accepts [Page](/docs/segment/connections/spec/page), [Alias](/docs/segment/connections/spec/alias), [Group](/docs/segment/connections/spec/group), [Identify](/docs/segment/connections/spec/identify) calls.
* Refer to it as **UserVoice** in the [Integrations object.](/docs/segment/guides/filtering-data/#filtering-with-the-integrations-object)

### Components

* [Browser](https://github.com/segment-integrations/analytics.js-integration-uservoice)

## Connection Modes

[Learn more about connection modes.](/docs/segment/connections/destinations/#connection-modes)

### Device-Mode

* web: yes
* mobile: no
* server: no

### Cloud-Mode

* web: no
* mobile: no
* server: no

[Uservoice](https://www.uservoice.com/) is a customer support and feedback tool that lets your users submit feedback right from your site, and helps you manage all the incoming requests.

## Getting Started

1. From the Segment web app, click **Catalog**.
2. Search for "UserVoice" in the Catalog, select it, and choose which of your sources to connect the destination to.
3. Add your JavaScript API Key (Your API Key appears in the JavaScript snippet URL as widget.uservoice.com/APIKEY.js.) and enable the destination in Segment.
4. Segment automatically starts sending data from the source you selected

When you enable UserVoice from the Segment web app, your changes appear in the Segment CDN in about 45 minutes, and then Analytics.js starts asynchronously loading Uservoice's JavaScript onto your page.

Remember to remove UserVoice's native snippet from your page.

## Identify

If you're not familiar with the Segment Specs, take a look to understand what the [Identify method](/docs/segment/connections/spec/identify/) does. An example call would look like:

```text
analytics.identify('ze8rt1u89', {
  name: 'Zaphod Kim',
  gender: 'Male',
  email: 'jane.kim@example.com',
  phone: '1-401-826-4421',
  address: {
    city: 'San Francisco',
    state: 'Ca',
    postalCode: '94107'
  }
});
```

When you call `identify` the `userId` and `traits` included in the call will be set to the current user in UserVoice. For more details on identifying users on UserVoice, check [their documentation](https://developer.uservoice.com).

## Group

If you're not familiar with the Segment Specs, take a look to understand what the [Group method](/docs/segment/connections/spec/group/) does. An example call would look like:

```text
analytics.group("0e8c78ea9d97a7b8185e8632", {
  name: "Initech",
  industry: "Technology",
  employees: 329,
  plan: "enterprise",
  "total billed": 830
});
```

When you call `group` the `traits` included in the call will be set to the current user's **Account** in UserVoice. For more details on grouping users on UserVoice, check [their documentation](https://developer.uservoice.com/).

## Alias

If you're not familiar with the Segment Specs, take a look to understand what the [Alias method](/docs/segment/connections/spec/alias/) does. An example call would look like:

```text
analytics.alias("507f191e81");
```

For your implementation, make sure to replace "507f191e81" with your user's previous ID.

Calling `alias` connects anonymous visitors to identified users.

## Settings

Segment lets you change these destination settings from the Segment app without having to touch any code.

| Field                                  | Description                                                                                                                                                           | Required | Type     |
| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | -------- |
| Accent Color                           | Accent Color                                                                                                                                                          | No       | color    |
| Javascript API Key                     | Your API Key appears in the javascript snippet URL as widget.uservoice.com/APIKEY.js. This setting is required.                                                       | Yes      | string   |
| Use the Classic Widget                 | If you want to use the classic version of the UserVoice widget make sure to enable this setting, and customize it using the any of the \*\*classic options\*\* below. | No       | boolean  |
| Mode (Classic)                         | Select Mode                                                                                                                                                           | No       | select   |
| Forum ID (Classic)                     | Your Forum ID appears in the JavaScript code snippet as \`forum\_id: YOUR\_FORUM\_ID\`.                                                                               | No       | string   |
| Widget Links Color (Classic)           | The \`linkColor\` setting defaults to "#007dbf".                                                                                                                      | No       | color    |
| Mode                                   | The mode setting defaults to "full".                                                                                                                                  | No       | select   |
| Primary Widget Color (Classic)         | The primaryColor setting defaults to "#cc6d00".                                                                                                                       | No       | color    |
| Enable Screenshots                     | This will allow users to submit a screenshot of the current window when submitting a message with the contact form.                                                   | No       | boolean  |
| Show the UserVoice Widget on Page Load | Show the UserVoice Widget on Page Load                                                                                                                                | No       | boolean  |
| Enable SmartVote                       | Enable SmartVote                                                                                                                                                      | No       | boolean  |
| Tab Color (Classic)                    | The \`tabColor\` setting defaults to "#cc6d00".                                                                                                                       | No       | color    |
| Invert the Tab's Colors (Classic)      | The \`tabInverted\` setting defaults to \`false\`.                                                                                                                    | No       | boolean  |
| Tab Label (Classic)                    | The \`tabLabel\` setting defaults to "Feedback & Support".                                                                                                            | No       | string   |
| Tab Position (Classic)                 | The \`tabPosition\` setting defaults to "middle-right".                                                                                                               | No       | select   |
| Custom Ticket Fields                   | This will allow you to set field value pairs for ticket custom fields (set via your admin console).                                                                   | No       | text-map |
| Custom Trigger Selector                | If you want to have your own custom UserVoice trigger, add the CSS selector for the trigger here. It might look like: \`#uservoice-trigger\`.                         | No       | string   |
| Trigger Background Color               | This will change the background color of the trigger. It defaults to a translucent gray.                                                                              | No       | color    |
| Trigger Foreground Color               | This will change the color of the text on the trigger, including the question mark.                                                                                   | No       | color    |
| Trigger Position                       | The \`triggerPosition\` setting defaults to \`bottom-right\`                                                                                                          | No       | select   |
