# Gainsight CS

[Gainsight CS](https://www.gainsight.com/customer-success/) is Gainsight's customer success product. It gives you a complete, 360-degree view of your customers and helps you understand their product behavior based on the data around their interactions and usage trends.

## Destination Info

* Supports [HIPAA mode](https://documentation.freshpaint.io/hipaa-mode)
* Connection modes:

<table><thead><tr><th width="147" align="right"> </th><th data-type="checkbox">Client-side</th><th data-type="checkbox">Server-side</th></tr></thead><tbody><tr><td align="right">Web</td><td>false</td><td>true</td></tr><tr><td align="right">Mobile</td><td>false</td><td>true</td></tr><tr><td align="right">Server</td><td>false</td><td>true</td></tr></tbody></table>

## Getting Started

You'll need the following configuration to get started with the integration:

### Gainsight Access Key

To get the key visit <mark style="color:red;">Administration > Integrations > Connectors 2.0</mark> then click on Gainsight API (you will have to create this connection if not done already)\
You can also refer to Gainsight's doc on [Access Key](https://support.gainsight.com/Gainsight_NXT/Connectors/Connectors/API_Integrations/Generate_API_Access_Key) for more information.

<figure><img src="/files/44iJ43Q3gMgKDePBmfDV" alt=""><figcaption><p>Gainsight Access Key</p></figcaption></figure>

### Gainsight Sub-domain / Custom Domain

The domain be found under <mark style="color:red;">Administration > General > Domains</mark>.\
You can also refer to Gainsight's doc on [Gainsight domain](https://support.gainsight.com/Gainsight_NXT/06Surveys/02Admin_Guides/Set_up_a_Gainsight_Domain) for more information.

<figure><img src="/files/v8hX43WJsZ9aESruthGa" alt=""><figcaption><p>Gainsight Domain</p></figcaption></figure>

### Events Shared Secret Key

This key is required if you want to enable sending events from freshpaint.

Open the Events Page on Gainsight by visiting <mark style="color:red;">Administration > General > Events</mark>. (You'll need to click on Register As Publisher if not done before to enable the events framework on Gainsight. You can also refer to Gainsight's doc on [Events Framework](https://support.gainsight.com/Gainsight_NXT/Journey_Orchestrator_and_Email_Templates/Programs/Events_Framework#Register_as_Publisher) for more information).

On the Events Page click on the key / gear icon on the top right corner to get the secret key.

<figure><img src="/files/na3uzz6shhHqFBap5hmB" alt=""><figcaption><p>Events Secret Key</p></figcaption></figure>

### Tenant ID

Visit <mark style="color:red;">Administration > General > Application Settings</mark> to get the Tenant ID.

<figure><img src="/files/YYJeKqvLcjmWPpPNSi4e" alt=""><figcaption></figcaption></figure>

### Event Topic Name

Events go to topic on Gainsight. On the Events Page, create a new topic if not there already.&#x20;

## Sending Data to Gainsight

### Identify

You can send users to gainsight by making a `freshpaint.identify` call. When you do this, we create a **Person** object on Gainsight. You can see then by visiting <mark style="color:red;">Administration > Customer Data > Data Management</mark>, then searching for *person* in *Search by an object's Name*, and finally selecting the object with name <mark style="color:red;">Person</mark>.

<figure><img src="/files/OYsgDKx5gBoZpbpflsz1" alt=""><figcaption></figcaption></figure>

One important thing to note - Gainsight **does not** support sending arbitary user props. You'll need to allowlist them first. Some props like Email, Name etc. are allowlisted by default. You can allowlist your custom props on Gainsight.

Using the User Mappings configuration you can also map some freshpaint user properties to Gainsight Person Field Name. By default we provide you with the following default mapping:

<figure><img src="/files/WmfXdrljCeZIzZXKHixo" alt=""><figcaption><p>Gainsight Default User Mapping</p></figcaption></figure>

Another **important note**: Sending the <mark style="color:red;">Email</mark> field is mandatory in gainsight. Without this identify calls to Gainsight will fail.

With the default mappings, a sample identify call will look something like:

```javascript
freshpaint.identify("abhishek@freshpaint.io", {
	"email": "abhishek@freshpaint.io",
	"firstName": "Abhishek",
	"lastName": "Kedia"
})
```

### Track&#x20;

For sending track calls to Gainsight you'll need to select the <mark style="color:red;">Enable Events</mark> option and provide us with the event framework configuration.

<figure><img src="/files/O5AY5s5xQtShA4g8Wy0B" alt=""><figcaption></figcaption></figure>

Also Gainsight requires to create events on their UI before sending any event data.

You can do that by visiting Gainsight's Events Page (<mark style="color:red;">Administration > General > Events</mark>) , select the <mark style="color:red;">Events</mark> tab and then click on <mark style="color:red;">Create Event</mark> button.\
\
For any event that you create on Gainsight you'll need to specify a name and version in the **Event Mappings** configuration on Freshpaint.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.freshpaint.io/integrations/destinations/apps/gainsight-cs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
