> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hightouch.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Gainsight

> Improve product adoption and reduce churn by enriching Gainsight with rich, up-to-date customer data from your data warehouse

## Supported syncing

| Sync Type | Description | Supported Sync Modes | API reference |
| - | - | - | - |
| **Company** | Sync data from any source to Company Objects | Upsert, Update | [Company endpoint](https://support.gainsight.com/Gainsight_NXT/API_and_Developer_Docs/Company_and_Relationship_API/Company_API_Documentation) |
| **Person** | Sync data from any source to Person Objects | Upsert | [Person endpoint](https://support.gainsight.com/Gainsight_NXT/API_and_Developer_Docs/Person_API/Person_API_Documentation) |
| **Custom Objects** | Sync data from any source to Custom Objects | Upsert, Update | [Custom Object endpoint](https://support.gainsight.com/Gainsight_NXT/API_and_Developer_Docs/Custom_Object_API/Gainsight_Custom_Object_API_Documentation) |

For more information about sync modes, refer to the [sync modes](https://docs.hightouch.com/syncs/types-and-modes.md#sync-modes) docs.

## Connect to Gainsight

Go to the [**Destinations** overview page](https://app.hightouch.com/destinations?from=docs) and click the **Add destination** button. Select **Gainsight** and click **Continue**. You can then authenticate Hightouch to Gainsight by entering the following fields into Hightouch:

* **Subdomain**: You can create domains and subdomains by following [these instructions in Gainsight's docs](https://support.gainsight.com/Gainsight_NXT/06Surveys/02Admin_Guides/Set_up_a_Gainsight_Domain).
* **API Key**: You can generate an API key by following [these instructions in Gainsight's docs](https://support.gainsight.com/Gainsight_NXT/Connectors/Connectors/API_Integrations/Generate_API_Access_Key#Generate_Access_Key).

## Sync configuration

Once you've set up your Gainsight destination and have a [model](https://docs.hightouch.com/getting-started/concepts.md#models) to pull data from, you can set up your sync configuration to begin syncing data. Go to the [**Syncs** overview page](https://app.hightouch.com/syncs?from=docs) and click the **Add sync** button to begin. Then, select the relevant model and the Gainsight destination you want to sync to.

### Syncing companies

The [Company object](https://support.gainsight.com/Gainsight_NXT/API_and_Developer_Docs/Company_and_Relationship_API/Company_API_Documentation) is one of the core objects in Gainsight and is used to store information about your customers, including individual customer records.

#### Record matching

To match rows from your model to companies in Gainsight, you need to select a model column and corresponding Gainsight field. You can match on any [filterable, unique](https://support.gainsight.com/Gainsight_NXT/API_and_Developer_Docs/Data_Management_APIs/Data_Management_APIs#Get_Describe_OMD) field in Gainsight.

Refer to the [record matching docs](https://docs.hightouch.com/syncs/record-matching.md) for more information.

#### Field mapping

Hightouch lets you sync company fields via [field mapping](https://docs.hightouch.com/syncs/mapping-data.md).
You can map data from any of your model columns to any non read-only company fields.

#### Delete behavior

The [delete behavior](https://docs.hightouch.com/syncs/overview.md#delete-behavior) you select dictates what to do when a row no longer appears in your model's query results. You have the following options:

| Behavior | Description |
| - | - |
| **Do nothing** | Keep the company in Gainsight |
| **Clear** | Remove all the mapped fields, but keep the record in Gainsight |
| **Delete** | Delete the synced company record from Gainsight |

### Syncing people

A Gainsight [Person](https://support.gainsight.com/Gainsight_NXT/API_and_Developer_Docs/Person_API/Person_API_Documentation) is a standard object that stores unique records of people in the real world.

#### Record matching

To match rows from your model to people in Gainsight, you need to select the model column that contains values that match the **Email** field.

Refer to the [record matching docs](https://docs.hightouch.com/syncs/record-matching.md) for more information.

#### Field mapping

Hightouch lets you sync people fields via [field mapping](https://docs.hightouch.com/syncs/mapping-data.md).
You can map data from any of your model columns to any non read-only people fields.

#### Delete behavior

The [delete behavior](https://docs.hightouch.com/syncs/overview.md#delete-behavior) you select dictates what to do when a row no longer appears in your model's query results. You have the following options:

| Behavior | Description |
| - | - |
| **Do nothing** | Keep the person in Gainsight |
| **Clear** | Remove all the mapped fields, but keep the record in Gainsight |
| **Delete** | Delete the synced person record from Gainsight |

### Syncing custom objects

Hightouch lets you update [Low Volume Custom Objects](https://support.gainsight.com/SFDC_Edition/Data_Management/Managing_Data_In_Gainsight/Low_Volume_Custom_Objects) in Gainsight.
You can use these objects to store low volume data that needs to be edited frequently.

Hightouch diplays Low Volume custom objects in your Gainsight instance in a picklist at the beginning of your sync configuration.
To create custom objects, refer to [Gainsight's docs](https://support.gainsight.com/Gainsight_NXT/02Data_Management/Objects/Gainsight_Objects#Create_Low_Volume_Custom_Objects).

> [!NOTE]
>
> Gainsight doesn't support creating or updating High Volume Custom Objects via [their API](https://support.gainsight.com/Gainsight_NXT/API_and_Developer_Docs/Custom_Object_API/Gainsight_Custom_Object_API_Documentation).
> As a workaround, you can sync your data to [S3](https://docs.hightouch.com/destinations/s3.md) and use Gainsight's [S3 Connector](https://support.gainsight.com/SFDC_Edition/Connectors/Connectors/File-Based_Integration/Gainsight_S3_Connector) to import your data into a High Volume Custom Object.

#### Record matching

To match rows from your model to custom objects in Gainsight, you need to select a model column and corresponding Gainsight field. You can match on any [filterable, unique](https://support.gainsight.com/Gainsight_NXT/API_and_Developer_Docs/Data_Management_APIs/Data_Management_APIs#Get_Describe_OMD) field in Gainsight.

Refer to the [record matching docs](https://docs.hightouch.com/syncs/record-matching.md) for more information.

#### Field mapping

Hightouch lets you sync custom object fields via [field mapping](https://docs.hightouch.com/syncs/mapping-data.md).
You can map data from any of your model columns to any non read-only custom object fields.

#### Delete behavior

The [delete behavior](https://docs.hightouch.com/syncs/overview.md#delete-behavior) you select dictates what to do when a row no longer appears in your model's query results. You have the following options:

| Behavior | Description |
| - | - |
| **Do nothing** | Keep the custom object in Gainsight |
| **Clear** | Remove all the mapped fields, but keep the record in Gainsight |
| **Delete** | Delete the synced custom object from Gainsight |

## Tips and troubleshooting

To see the exact API requests and responses from each sync run, use the [live debugger](https://docs.hightouch.com/syncs/debugger.md). To get notified by Slack, PagerDuty, SMS, or email when a sync fails, set up [sync alerts](https://docs.hightouch.com/syncs/alerting.md). If you run into an issue this page doesn't cover, [contact support](#pylon-chat).
