Sync product and CRM data to Intercom so that your support team has all the information they need about customers
Supported syncing
Hightouch can create and update both contacts and company objects within the Intercom Contacts Model and Intercom Company Model respectively.
Sync Type | Description | Supported Sync Modes | API Reference |
---|---|---|---|
Contact objects | Sync data from any source to Intercom contacts. | Upsert, Update, Archive | Contact docs |
Company objects | Sync data from any source to Intercom company objects. | Upsert, Update | Company docs |
Events | Sync records as events to Intercom. This is often in the form of a track call. | Insert | Event docs |
For more information about sync modes, refer to the sync modes docs.
Connect to Intercom
Go to the Destinations overview page and click the Add destination button. Select Intercom and click Continue. You can then authenticate Hightouch to Intercom with OAuth. Click Log in to Intercom and log into your Intercom account.
Once successful, you will be redirected back to Hightouch to enter a descriptive name for your destination and complete setup.
Sync configuration
Once you've set up your Intercom destination and have a model to pull data from, you can set up your sync configuration to begin syncing data. Go to the Syncs overview page and click the Add sync button to begin. Then, select the relevant model and the Intercom destination you want to sync to.
Syncing contacts
Contact objects allow you to represent and provide information on individual users. All contact objects are represented as users or leads as marked by the role attribute.
When looking at the People list or when creating an audience, the number of contacts (users) displayed might differ from the number of rows processed by your sync. This is because Intercom automatically filters out unsubscribed contacts from your contact list.
Record matching
To match rows from your model to objects in Intercom, you need to select a model column and corresponding Intercom field. You can match on any of the following Intercom fields:
- External User ID
Field mapping
You can map data from any of your model columns to contact fields in Intercom. Ensure the data type of your model column matches the data type of the field you want to sync to.
Associations
You can associate companies to contacts using this configuration section. To do so, select a column from your model to match the associated object. Hightouch uses this column to look up the associated object's ID and make the connection between the two objects.
For example, if you wanted to associate a company to your contact, you select Company from the right dropdown. Then, select a field to match the company on, for example Company ID.
Delete behavior
The 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 contact in Intercom |
Clear fields | Keep the contact in Intercom but clear the synced fields |
Remove from list | Remove the contact from Intercom |
Syncing companies
Company objects allow you to represent and provide information on organizations using your product. Each company has its own description and can be associated with contacts.
Company objects' Company ID can't be updated. If you need to change a company object's Company ID you need to delete it and recreate it with a new Company ID.
When syncing company objects, make sure they have at least one associated contact. Otherwise, the company won't be visible in Intercom.
Record matching
To match rows from your model to records in Intercom, you need to select the model column that contains values that match the Company ID field. If there isn't a company with the matching Company ID, Hightouch creates a new company.
Field mapping
You can map data from any of your model columns to company fields in Intercom. Ensure the data type of your model column matches the data type of the field you want to sync to.
Associations
You can associate contacts to companies using this configuration section. To do so, select a column from your model to match to the associated object. Hightouch uses this column to look up the associated object's ID and make the connection between the two objects.
For example, if you wanted to associate a company to your contact, you select Contact from the right dropdown. Then, select a field to match the contact on, for example user_id
.
Delete behavior
The 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 Intercom |
Clear fields | Keep the company in Intercom but clear the synced fields |
Remove from list | Remove the company from Intercom |
Syncing events
When syncing events, Hightouch treats any records added to your source as new events and sends them to Intercom when your sync runs.
Event name
Providing an event name is required to log an event in Intercom. You can either provide a static value or select to use a column from your model.
Refer to Intercom's event docs for guidance on event naming.
Event timestamp
You can optionally select a column that contains timestamps of when events occurred. If this field is empty, Hightouch uses the time the event arrives at the server.
Field mapping
You can select model columns to sync to native and custom event parameters in the field mapping section.
Tags
You can manage tags on companies and contacts in Intercom using Hightouch.
The data in your source should contain the name of one or more tags for each row.
For multiple tags, your source can contain an array or a comma-separated string of tag names.
Tag Modes
Syncs can have different tag modes based on how you would like to handle tags.
Create added tags
When there are tags added to the source, create the tags in Intercom. If the tag does not already exist, it will be created in Intercom. If the tag already exists, it will be added to the contact or company. Do nothing for tags removed from the source.
Overwrite existing tags
When there are changes to tags in the source, remove all tags in Intercom before creating the tags present in the source. If there are no changes to the tags, do nothing. Because this removes all tags in Intercom, this may delete data not authored by Hightouch.
Delete removed tags and create added tags
When there are changes to tags in the source, removes tags in Intercom that have been removed from the source, and creates tags that have been added to the source.
Read more about how Intercom handles tags here.
Tips and troubleshooting
Common errors
If you encounter an error or question not listed below and need assistance, don't hesitate to . We're here to help.
429 Rate limit exceeded
The full error message looks something like this:
Custom data attributes could not be created: StatusCodeError: 429 -
{
"type": "error.list",
"request_id": "003drrt76xkssahyhgd41",
"errors":[{
"code": "rate_limit_exceeded",
"message": "Exceeded rate limit of 167 in 10_seconds"
}]
}
This error means you've exceeded Intercom's rate limit. One reason for this could be running two Hightouch syncs to Intercom simultaneously. Try staggering the syncs so that they don't overlap.
Missing companies
If your Hightouch sync processes successfully, but you don't see the companies in Intercom, check if there is at least one contact associated to the company. Intercom only displays companies with at least one associated contact. For more information, read the Intercom company API documentation.
Live debugger
Hightouch provides complete visibility into the API calls made during each of your sync runs. We recommend reading our article on debugging tips and tricks to learn more.
Sync alerts
Hightouch can alert you of sync issues via Slack, PagerDuty, SMS, or email. For details, please visit our article on alerting.