Search documentation...



Sync product and CRM data to Intercom so that your support team has all the information they need about customers


To setup an Intercom destination, you need to authenticate via OAuth.

Integration features

With the Intercom destination, Hightouch can create and update both contacts objects and company objects within the Intercom Contacts Model and Intercom Company Model respectively.

Contact ObjectsContact objects allow you to represent and provide information on individual users. All contact objects will be represented as users or leads as marked by the role attribute. The Intercom destination has three different possible modes.
Company ObjectsCompany objects allow you to represent and provide information on organizations using your product. Each company will have its own description and be associated with contacts.

The Intercom destination has three possible modes:

  • Upsert: Upsert mode pushes new objects to Intercom and updates fields that change in your warehouse.
  • Archive: Archive mode archives all of the objects from the source.



In this mode, new objects will be inserted into Intercom and all designated columns will be kept up-to-date within Intercom.

This mode is good for the following scenarios:

  • You want to push contact objects or company objects into Intercom and want to keep the data up-to-date.

For a company object, if a company is not found via company_id, a new company will be created, if found, that company will be updated.


In this mode, selected columns will be updated for a given object within Intercom. For example, you could add a Lifetime Value (LTV) column to a contact object or company object. This mode doesn't create new rows for an object within Intercom. Instead, it updates columns on existing objects.

Update mode requires you to have access to the IDs of the objects you want to update within your warehouse.

This mode is good for the following scenarios:

  • You have objects in Intercom that you want to add additional information to.
  • You want to continuously sync data from your warehouse and add this data to existing objects within Intercom.
  • You already have access to Intercom object IDs within your warehouse.

For a company object, company_id can't be updated. In a situation where a company_id must be changed, the company will need to be deleted and the data uploaded again under the new company_id.


This mode is only available for contact objects. A sync with archive mode will archive all of the records, queried from the source, in Intercom.

Configuration parameters

The Intercom Destination has 5 configuration parameters common to each of the three modes:

Intercom Object TypeThe name of the object type that will be pushed into Intercom. The options are Contact or Company.
Intercom Property serving as Unique User IdentifierThe name of the Intercom object property that will act as the Unique User Identifier for the Hightouch query. The options are email and external_id.
Hightouch Column mapping to Intercom Unique User IdentifierThe name of the column on the Hightouch query that maps to the Intercom Unique User Identifier.
Hightouch to Intercom Default Field MappingsA list of Hightouch columns that will be pushed to new objects in Intercom from default fields(id, created_at, first_name, etc).
Hightouch to Intercom Custom Field MappingsA list of Hightouch columns that will be pushed to new objects in Intercom from custom made fields.

Record matching

Records can be matched from your source to Intercom by the given fields in the dropdown. These fields will depend on the object type.

The record should be matched using a unique identifier, otherwise the intended records may not be updated properly.


Records can also be associated to another object during the sync. You can associate a company to a contact in a sync that upserts contact objects and vice versa.

You will select a field from your model to match to the associated object. You need to make sure you have a unique identifier of the other object. Hightouch will use that 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, you select a field to match to the company. Below, we want to "find the Company where the its company_id is equal to our model's company_id column."

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.

On this page

SetupIntegration featuresModesUpsertUpdateArchiveConfiguration parametersRecord matchingAssociations

Was this page helpful?