Our two-way Salesforce app makes it easy to capture, nurture and convert leads in Intercom. You can create Salesforce leads, see and use Salesforce data in Intercom, and Intercom data in Salesforce. You can also create Salesforce tasks or cases from Intercom conversations.
Note: This article covers the installation and setup of the Salesforce app. Read this article to learn how to use the app in your inbox.
Connect Salesforce and Intercom and you can:
Also add the Salesforce Inbox app which lets you:
To integrate with Salesforce, you must have:
An Intercom subscription with full admin permissions.
A Salesforce account with admin permissions.
A Salesforce edition with API access, such as Enterprise or Unlimited edition. - There are 3 editions without API access:
Professional edition - you can buy API access as an add-on with this edition.
Integrate with Salesforce
You’ll find the Salesforce app in the Intercom app store. Click ‘Install now.
Then authorize Salesforce to access your Intercom workspace:
Once you connect the integration, data will start being synced between Intercom and Salesforce whenever a user or lead is updated. This will update the fields required by Salesforce to create a new lead record, which are mapped by default.
It’s a good idea to configure your data mapping preferences now. 👍
Optional: Install and test the app in a Sandbox environment
If you’d like, you can safely test the integration first. Use your test workspace, and select ‘Install using sandbox’ from the dropdown when installing the app:
Installing with a Salesforce sandbox environment is only available on certain Intercom plans. See our plans and pricing here.
Mapping leads, users and their attributes
Mapping is how we match leads, users, and their attributes in Intercom with leads, contacts, and their fields in Salesforce.
Recommended reading: This article 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.
How does mapping leads and users work?
A mapping is established when objects (leads or users) with the same identifier (fields such as a customer number or email address) are found both in Intercom and in Salesforce.
If duplicate objects exist, Intercom Users will be prioritized over Intercom Leads. In Salesforce, Contacts will be prioritized over Leads. In a case with two matching users or two matching leads, the last updated one will be matched.
For example, a user in Intercom with the user_id 'abc123' will be matched with a contact in Salesforce with the customer number 'abc123'.
Note: You must use email address to map leads as they do not have a user_id.
How does mapping attributes work?
After mapping objects (leads and users), you can map and sync their attributes (fields). You can also determine in which direction the attribute will be sent during the sync process (from Intercom to Salesforce or Salesforce to Intercom).
Note: Data synced via these mappings is applied directly to the user, lead or contact 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. The following tables show the types of attributes that can be synced between Intercom and Salesforce:
Intercom ➡️ Salesforce
string, textarea, phone, url, email, reference, encryptedstring, picklist, multipicklist
int, double, currency, percent, string, textarea, encryptedstring
True or false
boolean, string, textarea, encryptedstring
datetime, date, time, string, textarea, encryptedstring
Salesforce ➡️ Intercom
string, textarea, phone, url, email, reference, id, picklist, multipicklist, address, location
True or false, Text
Int, double, currency, percent
Number, Decimal, Text
Once you configure the mapping of leads or users and their attributes, Intercom will automatically keep attributes in sync as they change in either system.
Note: Data isn't synced immediately, you may notice a delay of up to 5 minutes.
Formula fields are more complex and the syncing behaviour can depend on the Salesforce setup. In general formula fields can be mapped and synced to Intercom. However because this field is calculated, changes to this field will not initiate a trigger meaning that this field will only be synced when something else triggers the sync.
High frequency fields:
Intercom attributes that have a very high rate/frequency of change e.g. last_seen are not currently mappable. This ensures API allocations are not overly used by Intercom.
Mapping UTM parameter attributes from Intercom to Salesforce is only supported for Salesforce Leads, not Contacts.
How to configure the mapping
Go to the Settings tab. Open the “Map data between Intercom and Salesforce” tab.
Here, you will find two sections:
Map leads and users
Map attributes for leads and contacts
Map leads and users
To map leads and users in Intercom with leads and contacts in Salesforce you have two options:
Map using a unique identifier (with User ID in Intercom). - This is the recommended option.
Map using email address.
Map using a unique identifier
This option requires you to have a unique customer-defined ID that is set in both Intercom and Salesforce. We recommend using this option as it ensures a unique match between Intercom and Salesforce.
Select a unique field in Salesforce that you want to use to map leads and users:
You can select email or text fields in Salesforce to map leads and users with.
The option to Map using email address when User id isn’t set in Intercom is selected by default. This fallback option allows you to establish a mapping even if a user doesn’t have a user_id set in Intercom.
Note: Unchecking this option will only match Intercom Users with Salesforce, not leads. This means Lead creation from Intercom will not work. Checking this box ensures that Lead creation and mapping works as expected.
Map using an email address
If you can’t use a unique value to match your leads and contacts in Salesforce, you can choose the option “Map using email address”. If multiple leads and users have the same email address, Users will be prioritized over Leads. In a case with two matching users or two matching leads, the most recently updated one will be matched.
Important: If you change the attribute used to map leads and users, any established matches between people in Intercom and 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 for leads and contacts
In the second section, you can map attributes between Intercom and Salesforce for leads and contacts. These are the attributes that will be synced directly to or from your contacts in Intercom, not the attributes visible in the inbox app (which cannot be edited).
If you need to create new attributes in Intercom, follow the steps in this article.
Select the leads or contacts tab, then click ‘Map new attribute’ at the bottom of the list:
Note: In this example, we’ll set up mapping for leads, but the process is almost entirely the same for contacts.
The only difference is that Leads have a set of required fields which can't be edited. These are the fields that we require to create new leads in Salesforce, so they must be synced from Intercom to Salesforce.
If a lead’s email address is updated, Intercom will attempt to re-map it to another lead with the same email address in Salesforce, if one exists.
If you have any other custom fields in Salesforce which are required for lead creation, you must ensure they are matched manually.
Any read-only fields in Salesforce can't be synced from Intercom to Salesforce.
Any read-only fields in Intercom can't be synced from Salesforce to Intercom.
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 of Salesforce compound 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 Intercom to Salesforce, Intercom is the “Source” and Salesforce 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. If you're the admin of the workspace, you’ll be notified (via email) when the sync is complete.
See your Salesforce lead owners in Intercom
The Salesforce app will automatically map your Salesforce users to their Intercom teammate profile to keep lead and account ownership up to date. You’ll find the mappings under “Maintain lead and account ownership” in the Salesforce app settings:
In the Salesforce Inbox app, you can hover over a lead’s owner to see if it was automatically assigned by Salesforce:
If a lead doesn’t have an ‘account owner’ in Salesforce, Intercom will find the ‘contact owner’. If they don’t have a ‘contact owner’, Intercom will find the ‘lead owner’. If there’s no match, the owner will fall back to the teammate who installed the Salesforce app.
If you change a lead’s owner in Salesforce, it will automatically update in Intercom.
If you use the Salesforce app to assign owners, you won’t be able to manually change the owners in Intercom.
Account owners override contact owners. If there's no teammate in Intercom matching the account owner Intercom will clear the value, even if there is a matching contact owner.
Automatically send conversations to Salesforce as tasks
Every time a conversation is started, a completed task will be created in the Salesforce activities list. This is enabled by default, but you can disable it under “Conversations”:
The task transcript is updated every time the conversation is closed.
The task is assigned in Salesforce to the teammate assigned to the conversation in Intercom.
Images are included as links.
Settings for the Salesforce Inbox app
The following settings specifically affect how the Salesforce inbox app works. If you do not intend to use it, you can disregard this section.
Define how cases are assigned to an owner in Salesforce
With the Salesforce app installed in your inbox, you can easily create new cases from Intercom conversations.
To choose how these cases are assigned to an owner, go to the "Conversations" tab, under “Assign case owner”:
Use my Salesforce configuration — With this setting, Intercom will make no attempt to assign the owner of your cases. Instead, upon creation in Salesforce, your configured rules and workflows will determine the owner.
Note: If you do not have rules defined in Salesforce, the owner will be set to the teammate who installed the Salesforce app in Intercom.
Automatically assign Intercom teammate as the case owner — This setting will attempt to assign new cases to the teammate who created them with the Inbox app.
Important: For this setting to work, a user must exist in Salesforce with the same email address as the teammate in Intercom and 'Edit case' permissions.
If intercom cannot find a teammate in Salesforce with the correct permissions, it will fall back to the default behaviour, allowing Salesforce to determine the case owner.
The “Created By” field will be populated in Salesforce with the teammate who installed the Salesforce app in Intercom.
Configure how to create cases in Salesforce
When creating cases from a conversation in the Inbox you can manually define which fields are shown or you can use your Salesforce Case Record Type (CRT) configuration:
Use my Salesforce case record type configuration
Create a custom form
Use my Salesforce case record type configuration
You can apply different layouts, default values, and required fields per CRT as defined in your Salesforce configuration associated with the original user profile that installed the application in Intercom.
The teammate who is creating the case in the Inbox can select which CRT to use, and we’ll display the different picklists and fields in the case form depending on the CRT selected.
The “Type of case” dropdown in the Inbox shows the default CRT defined in Salesforce. The default CRT is defined in Salesforce in the configuration linked to the user profile used to install the application in Intercom. Learn how to change the default CRT.
When creating a case in the Inbox, teammates will then be presented with the appropriate layout and default values as per their configuration in Salesforce:
Note: You must provide a value for all required fields.
If only one CRT is set up, this CRT will be automatically selected and the case creation form will be presented.
Important to note:
Our current implementation of CRT only uses the configuration linked to the user profile used to install the application in Intercom, therefore all teammates will share this configuration regardless of their Salesforce profile.
In Salesforce, the case fields are split into different sections. To minimise space in the Inbox, we’ve opted to remove the section grouping.
The current implementation doesn’t support default formulas.
There is currently no field validation when creating a case. For example, if the Case field in Salesforce only accepts numbers teammates can still enter string values. Case creation will fail in this scenario.
If case creation fails, the teammate will receive an error message.
Pre-requisites For Case Record Types
To use Salesforce Case Record Type configuration you need to:
Have Case Record Types configured in Salesforce
Have the Salesforce integration app installed
Ensure you have access to the Intercom Inbox
Check that the Salesforce integration App owner account has permission to create Cases in Salesforce
Create a custom form
With this option (selected by default), you can manually define which fields will be displayed in the Inbox when creating a case in Salesforce:
Note: Required fields cannot be deleted.