Skip to main content
All CollectionsApp StoreIntercom's Salesforce app
Syncing data between Salesforce accounts and Intercom companies
Syncing data between Salesforce accounts and Intercom companies
Beth-Ann Sher avatar
Written by Beth-Ann Sher
Updated over a week ago

What’s new?

Now you can sync data between accounts in Salesforce and companies in Intercom. You can also define the sync direction for each specific attribute (Salesforce to Intercom or Intercom to Salesforce).

With company and account syncing configured, you’ll be able to:

  • View the most up-to-date company details.

  • Use Salesforce account data within Intercom to target outbound messages, segment your customers, and more.

  • Update Salesforce with company data sent from Intercom.

Syncing accounts in Salesforce with companies in Intercom

Similar to how we sync leads and contacts, you can sync accounts in Salesforce with companies in Intercom.

Note: Currently you can only sync business accounts, not person accounts.

How are companies and accounts mapped?

A mapping is established when objects (accounts in Salesforce, companies in Intercom) with the same identifier (a field such as Account Number) are found in Intercom and in Salesforce.

For example, a company in Intercom with the company ID 'abc123' will be matched with an account in Salesforce with the account number 'abc123'.

Note: Intercom doesn’t support the syncing of companies created automatically during qualification.

A mapping between a company in Intercom and an account in Salesforce is unique and persisted (“one-to-one” relationship). In a case where two or more accounts have the same ID, the most recently updated account will be matched.

How does mapping attributes work?

After mapping accounts with companies, you can map and sync their attributes (fields). You can determine in which direction the attribute will be sent during the sync process (from Intercom to Salesforce or vice versa). You can also specify if you don’t want to sync empty values or overwrite existing ones.

Note: Data synced via these mappings is applied directly to the account or company objects in Salesforce or Intercom. For a simple view of live Salesforce data in Intercom, use the Inbox app.

In order to sync attributes between Intercom and Salesforce, their data types need to be compatible between both systems. See which field types are compatible here.

Prerequisites for syncing account data

To sync company and account data between Intercom and Salesforce, you need to:

  1. Have enabled “company-related features” in your general settings:

  2. Ensure that you have company objects in Intercom. Company objects are sent to Intercom in the intercomSettings JavaScript code snippet (as a JSON object called company) or using the REST API.
    Read this article to learn more about companies in Intercom.

  3. Check that the company ID you send to Intercom has the same value as the field that identifies your accounts in Salesforce. This guarantees a match between objects in both systems:

You can use any field that identifies an account in Salesforce to match with a company in Intercom. It should be a unique identifier to guarantee a correct match.

We recommend you use Account Number as an identifier. If duplicates exist, the one which was most recently updated will be matched.

Note: "Text Area" type fields are not able to be used as the identifer on the Salesforce side. In this case configure your field to be a "String" instead.

Tip: Check that the Company id in Intercom has the same format as the account identifier (field) that you use in Salesforce:

Note: It's not currently possible to match with Salesforce’s record ID.

Once you have companies in Intercom which match companies in Salesforce, you are ready to start mapping the fields you want to sync between both systems.

How to configure the mapping

Go to the Salesforce app settings. Open the “Sync account data” tab, where you will find two sections:

  • Map companies with accounts

  • Map attributes

Map companies with accounts

To map companies in Intercom with accounts in Salesforce you can use any text, integer, double or id field that identifies your account objects in Salesforce (with Company ID in Intercom). Find more information on the primitive data types in Salesforce here.

This requires you to have a unique ID that is set in both Intercom and Salesforce for each company. We recommend using a unique identifier as it ensures a unique match between Intercom and Salesforce.

Select the field in Salesforce that you want to use to map companies with accounts:

Important: If you change the field used to map companies with accounts, any established matches between companies in Intercom and accounts in Salesforce will be unmatched, and new ones will be established going forwards.

These changes will be applied to new matches in future, but existing matches will not be updated. This means some Salesforce data shown in Intercom could be out of date until a new match is established.

To apply your changes, save your settings. 👌

Map attributes

In the second section, you can map attributes between accounts in Salesforce and companies in Intercom. These are the attributes that will be synced directly to or from your companies in Intercom, not the attributes visible in the inbox app (which cannot be edited).

Recommended reading: This section explains exactly how and when data is synced between Salesforce and Intercom. It's a good idea to familiarize yourself before you configure your attribute mapping.

Click ‘+ Map new attribute’ at the bottom of the list:

Next, select which attribute from Intercom and which field from Salesforce you want to map. Remember to map attributes with fields that have a compatible data type.

You’ll see the type listed next to each attribute and field in brackets, E.g. (String):


  • If a field is already used in another attribute or ID mapping, it will be disabled.

  • We don’t currently support the syncing to Salesforce compound fields.

  • We don’t currently support syncing attributes that change very frequently (e.g. last_seen) or formula fields.

Then select in which direction the sync will happen (from Intercom to Salesforce or Salesforce to Intercom):

Then, check the box for any situation where this attribute shouldn’t sync. In this example, since we’re syncing from Salesforce to Intercom, Salesforce is the “Source” and Intercom is the “Destination”. You can choose not to sync:

  • If the source is empty.

  • If the destination already has a value.

Click ‘Add’ to save the mapping to the list.

To edit a mapping, hover over it and click ‘Edit’:

If you no longer want to sync a specific attribute, hover over it and click ‘Remove’:

To apply your changes, click ‘Save settings’ in the bottom right corner:

Once the changes are saved, you’ll see a confirmation message:


Enabling the account sync with existing data in Salesforce or Intercom

If you already have company or account data in Intercom or Salesforce, enabling the sync may overwrite existing data. You can set up attribute rules to prevent this happening. Learn more about when and how data is synced here.

Using account sync together with people sync

It’s not possible to only sync account/company data. With this app installed, some fields required by Salesforce are sent when creating a lead or synced every time it’s updated in Intercom or Salesforce. Read more about how people sync works.

Bulk update of data

Currently, data is only synced going forwards, after you have configured the app. There is no bulk update functionality.

Importing accounts for account-based marketing?

This app’s account sync functionality keeps your account data in sync between Salesforce and Intercom.

Importing accounts for account-based marketing is a different functionality that is not intended to keep your account data updated between Salesforce and Intercom.


Communicate with your Salesforce administrator about allocating the correct API limit to Intercom so that all your other integrations can work at the same time. Read this article to find out how to manage your API usage in the Salesforce app in Intercom.

As with any data syncing product integration, there are some data risks involved. To minimise this risk we recommend doing a backup of your Salesforce data beforehand. Read this article to find out how.

Install and test the Salesforce app in a sandbox environment first. Read this article to find out how.

How is data synced between Intercom and Salesforce?

The attributes you map between Intercom and Salesforce are synced when they change in either system. When the change occurs in Intercom, the sync to Salesforce is triggered immediately, while Salesforce is checked every 5 minutes to determine if there are changes to sync to Intercom. See the tables below for details on how data is updated in different situations.

Important: Because data is only synced when there are changes (or new records) in Salesforce or Intercom, historical data is not always in sync. If there hasn’t been a change to trigger an update, data shown in Intercom may not match data shown in the Salesforce inbox app. There is no bulk update of existing historical data when using the Salesforce app.

When data is synced from Intercom to Salesforce

The following triggers in Intercom will cause data to be updated in Salesforce. The behaviour in each of these cases is different depending on whether there’s an existing match between an account in Salesforce and a company in Intercom. This match is called an “identity mapping”.


If identity mapping already exists

If no existing identity mapping found

Company updated in Intercom

Sync any updated attributes to Salesforce.

  • Create new identity mapping.

  • Sync any updated attributes to Salesforce.

Company created in Intercom

Not applicable.

Create new identity mapping.

Sync all mapped attributes to Salesforce.

Company deleted in Intercom

Delete identity mapping.

Not applicable.

Note: “Mapped attributes” are any attributes that you have set up to sync between Intercom and Salesforce in your settings.

When data is synced from Salesforce to Intercom

Intercom checks Salesforce for any changes (new or updated accounts) every 5 minutes and when found, updates information in Intercom.


If identity mapping already exists

New identity mapping created

Account updated in Salesforce

Sync all mapped attributes to Intercom.

  • Create new identity mapping.

  • Sync all mapped attributes to Intercom.

Mapping key updated in Salesforce. (For example, the ID used to match a record in Intercom)

  • Delete identity mapping.

  • Create new identity mapping.

  • Sync all mapped attributes to Intercom.

  • Create new identity mapping.

  • Sync all mapped attributes to Intercom.

Account created in Salesforce

Not applicable.

  • Create new identity mapping.

  • Sync all mapped attributes to Intercom.

Account deleted in Salesforce

Delete identity mapping.

Not applicable.

If a person is removed from an Intercom company will they also be removed from the Salesforce account?

No, the Salesforce app does not sync a person's company/account associations between platforms. Leads and users in Intercom that are added to/removed from companies in Intercom will not update a mapped Salesforce lead/contact's account associations in Salesforce. If a person needs to be removed from an Intercom company and a Salesforce account, you must make that change on both platforms.


Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts

Did this answer your question?