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.
Since 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 the Salesforce inbox app may be out of date. There is no bulk update of existing historical data when using the Salesforce app.
When is data 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 a person (lead/user) in Intercom and a person (lead/contact) in Salesforce. This match is called an “identity mapping”.
Trigger | If identity mapping already exists | If no existing identity mapping found |
Person updated in Intercom | Sync any updated attributes to Salesforce. |
|
Mapping key updated in Intercom. (For example, the email address used to match a record in Salesforce.) |
|
|
Person created in Intercom | Not applicable. |
|
Person deleted in Intercom | Delete identity mapping. | Not applicable. |
“Mapped attributes” are any attributes that you have set up to sync between Intercom and Salesforce in your settings.
When is data synced from Salesforce to Intercom?
Intercom checks Salesforce for any changes (new or updated leads & contacts) every 5 minutes and when found, updates information in Intercom.
Trigger | Identity mapping already exists | New identity mapping created |
Person updated in Salesforce | Sync all mapped attributes to Intercom. |
|
Mapping key updated in Salesforce. (For example, the email address used to match a record in Intercom.) |
|
|
Person created in Salesforce | Not applicable. |
|
Person deleted in Salesforce | Delete identity mapping. | Not applicable. |
Lead qualified into a contact in Salesforce
|
|
|
"Person" in this table refers to a lead or contact in Salesforce.
As the Salesforce app depends on the standard out-of-the-box setup that Salesforce offers, there may be times when the integration fails to install or work as expected. If you experience an error, this troubleshooting guide should help you identify and fix the problem.
The relationship between Lead/User and Company in Intercom, and the relationship between Leads/Contact and Accounts in Salesforce does not sync. This relationship needs to be managed on the respective platforms separately.
What happens when a Lead from Intercom is created in Salesforce?
The following actions occur:
New identity mapping created.
Create lead in Salesforce.
Create new identity mapping.
Sync all mapped attributes to Salesforce.
Sync all mapped attributes to Intercom.
Creating a Contact in Intercom will not automatically result in them being created in Salesforce.
A new identity mapping is only created for existing records in Salesforce.
New leads in Salesforce are created from Intercom in the following ways:
FAQs
Does Intercom retain historical data or logs on the settings and mapped attributes setup within my Salesforce App?
We do not retain any historical data or logs on past settings or mapped attributes that have previously been setup within the Salesforce App.
If it is necessary to uninstall and reinstall the App we strongly encourage you to take screenshots or a clear record of your settings prior to actioning any 'uninstall' process so they can be easily replicated after reinstalling. Settings will not be retained or recovered after reinstalling the App.
What to do if you think something is wrong with the sync process?
The “Sync Errors” tab in the Salesforce app settings will show you any errors that occur when syncing data between Intercom and Salesforce. We display when the error occurred and what caused it. Hover over a row and click the “Details” button to learn more about these issues.
Sync Errors will only show errors from Intercom to Salesforce data syncing.
You can also retry the sync. If Intercom is successful in the sync, the error will be removed from the list:
The tab will inform you if it evaluates that you might not have attribute sync configured correctly like so. This help banner is for Account Sync only.
I can't create cases and FIELD_FILTER_VALIDATION_EXCEPTION error is flagged. What can I do?
The "FIELD_FILTER_VALIDATION_EXCEPTION: this field must contain a value" error is commonly shown if Salesforce requires a specific field for cases that is not showing in the case-creator sidebar in Intercom.
To resolve this, please follow the steps outlined outlined below:
1. Go into Salesforce and check your settings for Cases. All fields in the Case object that are required need to be added to the case-creator in Intercom.
2. Once you've found any missing fields, head over to Intercom's App Store.
3. Navigate all the way through to the Case setting by going Intercom App Store > Salesforce >Settings >Set up Cases, then click the "Add Fields" button.
4. You'll receive a menu with different fields to choose from.
5. Click on the required field to add it to the sidebar and repeat this process until you've added all the fields you need.
Note: If you don't see the Add Fields button, it has to do with your permissions in Salesforce. In that case, it will be best to talk to your IT Team or whoever owns your Salesforce account.
I need to reconnect the Salesforce app, how do I do this?
If Intercom fails to connect to your Salesforce account, you'll see this banner in your app settings:
This can happen for a couple of reasons:
Salesforce hasn't connected to Intercom - this happens if you exit the installation process before completing all steps.
The OAuth token is manually removed within Salesforce - if the OAuth token for Intercom is removed from Salesforce, the integration will stop working.
You've used all four Salesforce OAuth tokens - Salesforce only allows a single user to connect four apps to connect using OAuth tokens. To connect more apps, a different Salesforce user will need to connect the app. Read this article for more info.
Your Salesforce API access is disabled - you'll require API access to connect Salesforce to Intercom.
You should check if you're experiencing these issues. Once resolved, you should be able to successfully re-authenticate the app.
Note: If you re-authenticate the Salesforce app, it will resume syncing your data as normal. It won't need to re-import your data.
What happens to my settings if I uninstall/reinstall the Salesforce app?
If you uninstall the Salesforce app, your mappings will be cleared, so it would be a good idea to take a screenshot of the mappings for your leads and contacts before uninstalling.
No data will be affected on either the Intercom or Salesforce side when you uninstall the app. When the app is reinstalled, another sync will be triggered.
Have you checked what the issue might be in your app settings?
If something fails while creating a lead or a task, you can diagnose the issue yourself. Just visit the app store and click the Salesforce app. You'll see a list of errors there, along with the issues that are causing them.
Does your Salesforce setup include the fields Intercom requires?
The integration sends data from Intercom to specific fields in Salesforce. These are standard fields in Salesforce, but if they have been modified, hidden or removed the integration may not work. You’ll need to edit your Salesforce settings to ensure these fields are available.
Salesforce fields required:
Lead object
Email
LastName
FirstName
Company
Phone
Status (aka Lead Status)
LeadSource
OwnerId
Contact object
Email
Account object
OwnerId
Task object
Description (aka Comments)
CreatedById (aka Created By)
ActivityDate (aka Due Date)
Subject
Type
Status
Priority
OwnerId (aka Assigned to)
Have you hit your Salesforce API limit?
Every Salesforce account has a set rate limit, which is dependent on the plan you’re on. Intercom will use up some of this limit. If you’ve hit your Salesforce API limit, all of your Salesforce integrations will stop working, including Intercom.
Are you missing some Salesforce data in Intercom?
If you’ve matched an Intercom lead to one in Salesforce - but then update the email in Intercom so it matches a different Salesforce lead - it can take up to 10 minutes for custom attributes displaying Salesforce data to update.
I can't find the Salesforce picklist when mapping an Intercom list.
You can map Intercom attributes with fields in Salesforce so that they stay in sync in your integration settings. You'll see the fields that are compatible, (e.g. text can match text, integers can match integers, etc).
For lists, we match each option. If there's an option in Salesforce that isn't matched in Intercom, we will add it for you in the list of options. However, we can only add options if the Salesforce picklist is NOT set to restricted.
Note: If the option isn't appearing, make sure it isn't set to Read-Only.
Why can't I create a Salesforce task in Intercom?
When you try to create a Salesforce task in Intercom, you might receive the error: 'Intercom requires these fields in the Salesforce Task object: Type':
Is your Type field visible in Salesforce?
The 'Type' field for the Task object is a standard field in Salesforce for most users, but if you have the Salesforce Professional edition, it will be set to 'hidden' by default.
Our integration needs it to be visible to create tasks. You can amend this in Salesforce by going to Object Manager > Task > Fields & Relationships > Type > Set Field-Level Security and setting it to 'visible'.
I received an email "Problem with your Salesforce integration with Intercom", why?
We have rolled out a new Salesforce health check for all workspaces that have the Salesforce app installed. This check ensures that:
The app is correctly installed
We can authenticate with the Salesforce API
Salesforce is set up in such a way that we can work with it
We are running this health check every hour. Affected workspaces will move into the new unhealthy state gradually in the first 24 hours after enabling this check.
We will email either the teammate who installed the integration or in cases where this teammate is not a member of the workspace anymore, the first active human teammate who has been a part of the workspace for the longest period of time. This check will take place at 7 am UTC.
Head over to your Salesforce app settings and you will see some errors flagged in the UI.
The potential messages shown here are:
Intercom cannot authenticate to Salesforce <error details>
Intercom requires these fields to be filterable in the Salesforce <object name> object: <list of fields>
Intercom requires these fields in the Salesforce <object name> object: <list of fields>
These fields are required in the <object name> object on Salesforce (but are not used by Intercom): <list of fields>
There's an "Installation wasn't completed.." notification in the Settings tab, but the integration has previously been installed and syncing without issue?
This will happen if the teammate who most recently installed the Salesforce App has been removed as a teammate from your workspace. Evidence of this being the issue can be seen if there is no teammate name next to the "Installed by ..." button:
If this has occurred you'll need to uninstall and reinstall the Salesforce app while logged into Salesforce with an account with full admin level permissions. Intercom is able to sync changes to Salesforce using the Salesforce account of the person installing the app, which is why it requires full admin permissions.
Is it possible to sync granular subscription data from Intercom to Salesforce?
Currently, our Salesforce App doesn't support syncing granular subscription data from Intercom to Salesforce. You can only sync the "Unsubscribed from emails" attribute, which applies to all emails, but not specific email lists.
However, as a workaround, you could create a custom integration which uses our Subscription Webhook topics and an API request to update Salesforce whenever someone unsubscribes from an email list in Intercom, as an example. The granular.unsubscribe
webhook topic could be used to notify you whenever someone unsubscribed from a message subscription type in Intercom. After receiving the webhook, you could then make an API request to Salesforce to update the relevant person.
How often will data be synced?
The attributes you map between Intercom and Salesforce are synced when they change in either system (see trigger detailed explanation in the sections above). When the change occurs in Intercom, the sync to Salesforce is triggered immediately, while Salesforce is checked on 5 minute intervals to determine if there are changes to sync back to Intercom.
What objects can I sync to Intercom?
For now, you can sync Salesforce fields from Leads and Contacts to Intercom’s people objects (you do not need to define whether it is an Intercom Lead or User object).
Can I sync any Intercom attribute?
You can sync most attributes. Some exceptions are read-only attributes, attributes in Intercom that change very frequently (e.g. last_seen) or formula fields (see next question).
Can I sync Salesforce Formula fields?
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.
Can I use a sandbox account to test this first?
Sure thing! You can test this new version using a test workspace with a Salesforce sandbox account.
Still having trouble setting up Salesforce?
If you’re still experiencing trouble with your Salesforce integration, please get in touch with our Support team via the Messenger 😄
Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts