Search documentation...

K
ChangelogBook a demoSign up

Intercom

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 TypeDescriptionSupported Sync ModesAPI Reference
Contact objectsSync data from any source to Intercom contacts.Upsert, Update, ArchiveContact docs
Company objectsSync data from any source to Intercom company objects.Upsert, UpdateCompany docs
EventsSync records as events to Intercom. This is often in the form of a track call.InsertEvent 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.

Creating an association in the Hightouch UI

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:

  • Email
  • 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.

Creating an association in the Hightouch UI

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:

BehaviorDescription
Do nothingKeep the contact in Intercom
Clear fieldsKeep the contact in Intercom but clear the synced fields
Remove from listRemove 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.

Creating an association in the Hightouch UI

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:

BehaviorDescription
Do nothingKeep the company in Intercom
Clear fieldsKeep the company in Intercom but clear the synced fields
Remove from listRemove 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.

To ensure syncs send each event, your event model must use a truly unique primary key. See the events syncs documentation for more information.

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.

If the tag does not already exist, it will be created within Intercom. If the tag already exists, it will be added to the contact or company.

If the tag is removed from a contact or company in your source, it will be removed from the contact or company in Intercom.

Mapping to the tags field in Intercom in the Hightouch UI

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.

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Last updated: Dec 11, 2024

On this page

Supported syncingConnect to IntercomSync configurationSyncing contactsSyncing companiesSyncing eventsTagsTips and troubleshootingCommon errorsLive debuggerSync alerts

Was this page helpful?