Intercom Salesforce Integration: Setup, Mapping and Pitfalls (2026)

In this article
- Intercom’s own Salesforce app, installed from the Intercom App Store, is the default route. As of October 2026 it is available on Intercom’s Advanced and Expert plans and needs a Salesforce edition with API access.
- It does four jobs: attribute sync between Intercom leads and users and Salesforce leads and contacts, and optionally between Intercom companies and Salesforce accounts (you pick the direction per field), lead creation from a conversation, conversation transcripts as Salesforce tasks or cases, and a live Salesforce card in the Intercom inbox with contact, account and opportunity data.
- The traps are duplicates (Intercom leads vs users, Salesforce leads vs contacts), owner mapping, the shared Salesforce API limit, and chat transcripts with personal data landing in a CRM that many people can read.
- Need two-way case status, custom objects, account creation or rules the app can’t express? Use an iPaaS or a custom integration on the Intercom API and webhooks. If support should live in Salesforce, compare running Agentforce Service (formerly Service Cloud) instead, or alongside Intercom’s Fin.
Jump to
What an Intercom Salesforce integration should do
Intercom is often the first place a prospect speaks: a chat on the pricing page, a question from a trial user, a message to the AI agent. Salesforce is where sales qualifies, owns and forecasts that person. Without a link, a rep calls a lead who complained in chat an hour ago, and an agent doesn’t know the person in front of them is a six-figure renewal.
A useful integration does four jobs:
- Turn conversations into leads. A qualified chat becomes a Salesforce lead with the right owner, source and UTM data.
- Keep people data consistent. Name, company, plan and lifecycle fields match in both tools, each owned by one side.
- Log the conversation. Reps see what the person asked, on the lead or contact record, without opening Intercom.
- Give agents context. In the Intercom inbox, the agent sees the account owner, the open opportunity and its stage.
It is not a full mirror. Every synced field can conflict, and every transcript copied into Salesforce is personal data in one more place. Sync what someone will act on.
What Intercom’s Salesforce app includes
Intercom builds and maintains the app and lists it in the Intercom App Store. According to Intercom’s help center, as of October 2026 it covers these parts:
| Feature | What it does | Direction | Stored where |
|---|---|---|---|
| Attribute sync | Matches Intercom leads to Salesforce leads and Intercom users to Salesforce contacts, then syncs the attributes you map | Two-way overall, one direction per attribute | Both, per mapping |
| Create lead | A teammate sends a chat contact to Salesforce as a new lead (an email address is required; missing required fields get a placeholder) | Intercom → Salesforce | Salesforce (Lead) |
| Conversations as tasks | A completed task is created when a conversation starts and its transcript is updated when it closes; teammates can also create a task from a message or note | Intercom → Salesforce | Salesforce (Task) |
| Case creation | Creates a case automatically from Workflows or triggers, or manually from the inbox; the transcript goes into the case description | Intercom → Salesforce only | Salesforce (Case) |
| Inbox app | Shows live Salesforce data next to the conversation: contact, account and opportunity details such as owner, stage, close date and value | Salesforce → Intercom, read only | Nothing copied |
| Account sync | Matches Intercom companies to existing Salesforce business accounts on a shared ID (such as Company ID to Account Number) and syncs the attributes you map; person accounts are not supported | One direction per attribute | Both, per mapping |
| Bulk sync | Re-syncs mapped attributes for all people that already exist in both systems | Per mapping | Both |
Requirements
- Intercom plan: Advanced or Expert. Installing against a Salesforce sandbox is available only on Expert, from a test workspace.
- Intercom permissions: the installing teammate needs full admin rights, at least “Apps and Integrations Access” with all permissions.
- Salesforce edition: one with API access, such as Enterprise or Unlimited. Contact, Group and Professional editions lack it, although Professional can buy API access as an add-on.
- Salesforce user: a regular user, not API-only, with API Enabled, View All Data and read and write access to leads, contacts, accounts and tasks. If that user isn’t a System Administrator, the Intercom app must also be installed under Connected Apps OAuth Usage in Salesforce Setup.
What it doesn’t do
Intercom’s documentation lists the gaps. The ones teams hit most:
- No contact or account creation. The app only creates Salesforce leads. Contacts are created and leads converted in Salesforce, and a bulk sync never creates a person who exists on one side only.
- Accounts must already exist. Account sync also needs both records to exist already, and the link between a person and their company or account is not synced.
- No case status sync. Case creation is one-way. Closing the conversation updates the case transcript, not the case status, and Salesforce changes don’t flow back to the conversation.
- Fields it can’t map. Tags and events, compound fields, read-only fields and high-frequency attributes such as last seen. Formula fields sync only when another change triggers a sync. Reference fields arrive as record IDs, not names.
- Case form limits. No field validation, no default formula fields, and required case fields must be filled in Intercom first. A failed automatic case shows up under Sync Errors, not as a message to the teammate.
- Opportunity linking. A conversation is related to an opportunity only when there is exactly one open opportunity; with several, it is ignored.
- Not instant. Changes in Intercom are sent right away, but Intercom checks Salesforce for changes every 5 minutes, so updates can take up to 5 minutes to appear.
Your options compared
Four routes, from least to most effort:
| Intercom’s Salesforce app | iPaaS or connector | Custom API integration | Support in Salesforce | |
|---|---|---|---|---|
| Examples | Attribute sync, create lead, tasks, cases, inbox app | Zapier, Make, Workato, Tray, MuleSoft, Boomi | Intercom REST API and webhooks, Salesforce REST API, Platform Events, your middleware | Agentforce Service with Salesforce messaging, optionally with Fin for Salesforce |
| What syncs | Leads, contacts, account attributes, tasks, cases; live opportunity view | Whatever the recipes cover: account creation, custom objects, ticket data | Anything both APIs expose | No sync needed for support |
| Direction | One direction per attribute; tasks and cases Intercom → Salesforce | Usually one-way per flow | Two-way, your design | Not applicable |
| Cost level | Included on Advanced and Expert plans | Subscription per task or per recipe | Build cost plus upkeep | Salesforce licenses plus a migration project |
| Typical effort | Days | 1–3 weeks | Several weeks | Months |
| Limits | Lead creation only, no case status, fixed matching rules | Rate limits, loop risk, cost grows with volume | You own bugs, API changes and monitoring | Retraining, rebuilding bots, routing and help content |
If you run Zendesk next to Intercom, or are choosing between them, our Zendesk Salesforce integration guide covers that pair. For the overall map of Salesforce integration routes, start with the Salesforce integration guide.
Which option fits you?
Answer five questions on your Intercom plan, what must flow back into conversations and how strict your data rules are. One possible answer is to stop syncing and run support in Salesforce.
Which Intercom Salesforce integration fits?
How the data flows
The design that holds up: Salesforce owns accounts, ownership, lifecycle stage and opportunities. Intercom owns conversations and product-side attributes such as plan or signup date. Transcripts flow one way into Salesforce; account context is read live in the inbox.
Field mapping: what goes where
Start with this minimum set. For each row, one system owns the value and the other only receives it.
| Intercom | Salesforce | Direction | System of record |
|---|---|---|---|
| Lead (visitor who left an email) | Lead | Intercom → Salesforce on “Create lead”, then per attribute | Intercom until qualified, then Salesforce |
| User (signed-in customer) | Contact | Per attribute | Salesforce for identity and owner |
| Email, or a unique customer ID | Email, or a unique text field | Matching key, not synced | Your product database |
| Name, phone, job title | Same fields | Salesforce → Intercom once the person is a contact | Salesforce |
| Plan, signup date, product role | Custom fields on Lead and Contact | Intercom → Salesforce | Intercom (or your product) |
| UTM source, medium, campaign | Lead source fields | Intercom → Salesforce (leads only) | Intercom |
| Owner (teammate) | Lead, contact or account owner | Salesforce → Intercom | Salesforce |
| Conversation transcript | Task, or Case description | Intercom → Salesforce | Intercom |
| Conversation attributes, workflow answers | Case fields | Intercom → Salesforce on case creation, refreshed when the conversation closes again | Intercom |
| Tags, events | Not mappable | Webhooks and custom code if needed | Intercom |
Two settings matter most. First, each mapping can skip the sync when the source is empty or when the destination already has a value. Use them so an empty Intercom field never wipes a value sales typed in.
Second, pick the matching key before you connect. Intercom recommends a unique identifier, but leads can only match by email. If you switch email matching off, lead creation from Intercom stops working.
How to set it up, step by step
Settle field ownership and clean duplicates before you click Install: the app matches on whatever it finds on day one. Intercom’s help center shows the current screens for each step.
- Write down who needs whatWhich chats should become leads, which fields reps need, which conversations should become cases, and which Salesforce fields agents need in the inbox. This becomes your mapping and your list of what must not sync.
- Check plan and editionConfirm you are on Intercom Advanced or Expert and that your Salesforce edition has API access. If you want to test against a Salesforce sandbox, that needs Expert and a test workspace.
- Create the connecting userA regular Salesforce user (not API-only) owned by the team, with API Enabled, View All Data and read and write on leads, contacts, accounts and tasks. Add case permissions if you will create cases (Intercom needs Edit on cases to assign case owners). If it isn’t a System Administrator, install the Intercom app under Connected Apps OAuth Usage.
- Clean duplicates firstMerge duplicate leads and contacts in Salesforce and duplicate users in Intercom. The app matches on what it finds, so dirty data on day one means wrong owners and wrong transcripts.
- Install and connectIn the Intercom App Store, open Salesforce, click “Install now”, authorize access and sign in as the connecting user (choose “Install using sandbox” for a sandbox).
- Set matching and mappingsPick the matching attribute, then map attributes one by one with a direction for each, starting with the required lead fields the app maps by default. Turn on the skip rules for empty sources and filled destinations where sales owns the value.
- Configure ownershipDecide whether Salesforce ownership should follow the Intercom owner (the “Maintain lead and account ownership” setting) or the other way round. Make sure every teammate who should own records has a Salesforce user with the same email.
- Configure tasks and casesTurn on automatic task creation if reps need transcripts. For cases, pick a default case record type, map conversation attributes to case fields, and decide whether the case owner follows Salesforce rules or the Intercom teammate.
- Test real scenariosA new chat lead, a lead whose email already exists as a contact, and two leads with one email. Then a person with two open opportunities, a case with a required field left empty, and an owner who has no Salesforce user. Check records, owners and the Sync Errors tab.
- Pilot, then run a bulk syncRun one team for a week or two. Then run a bulk sync for people who exist in both systems while API usage is low, and brief sales and support on what syncs where.
If you later change the connected Salesforce user, disconnect and reconnect as the new user. Intercom warns that uninstalling the app clears your attribute mappings.
Built by Gilzor
Results we’ve shipped




Talk to the people who build it. Tell us about your project and get a free estimate of scope, timeline and cost.
Pitfalls and how to fix them
| Problem | What happens | Fix |
|---|---|---|
| Leads vs users vs contacts | A visitor chats as an Intercom lead, signs up later as a user, and Salesforce ends up with a lead and a contact for one person. The app prefers users over leads and contacts over leads, and picks the most recently updated record when two of the same type match | Identify signed-in users with a stable user ID, merge Intercom leads into users, convert Salesforce leads promptly and run duplicate rules in Salesforce |
| One email, many leads | If an email matches several Salesforce leads, Intercom flags the person instead of picking one, so data and transcripts may not land where reps expect | Duplicate rules on email in Salesforce; merge before go-live |
| Owner overwritten or cleared | Owner follows account owner, then contact owner, then lead owner. If no teammate matches, the owner is cleared or falls back to the installing teammate | Give every owning teammate a Salesforce user with the same email; let Salesforce own assignment |
| Sync loops between tools | The app and a Zapier or Workato recipe write the same field, and values flip back and forth | One writer per field; document it in the mapping table |
| Salesforce API limit | The app shares the org’s 24-hour API request limit with every other integration. You set how much of it Intercom may use; Intercom allows a manual bulk sync only while under 40% of that and pauses background sync as usage climbs. Past the org limit, every integration stops until the next 24-hour period | Monitor API usage, give heavy integrations their own schedule, run bulk syncs off-peak |
| Personal data in transcripts | Chats contain addresses, card fragments, health details or passwords, and they land in Salesforce tasks and case descriptions that many users can read | Log transcripts only where reps need them, restrict task and case visibility, and redact sensitive data in Intercom before it syncs |
| Silent case failures | A required field or type mismatch stops a case, and the teammate sees no error | Keep required case fields mapped, check Sync Errors daily in the first weeks |
| Synced cases trigger processes | Assignment rules, auto-responses or escalations fire on cases that are really Intercom conversations | Dedicated case record type, excluded from case flows and email alerts |
Personal data deserves a decision, not a default. Privacy laws include the GDPR and US state laws like the California Consumer Privacy Act. Under them, a deletion or access request may have to cover Intercom and every Salesforce task and case that holds a copy of the conversation. The fewer copies, the easier that is.
When to go beyond the app
An iPaaS fills single gaps without replacing the app. Examples: creating a Salesforce contact when an Intercom user signs up, updating a field when a case closes, or posting a qualified lead to Slack. Keep each field with one writer. If you already run MuleSoft, our Salesforce MuleSoft integration guide covers that route.
Custom work pays off when:
- You need accounts created from Intercom, person accounts, custom objects (subscriptions, workspaces, usage) or tags and events in Salesforce.
- Case status and replies must flow back to the conversation.
- Transcripts must be filtered or masked before they reach Salesforce, with rules you can audit.
- You route people between several Salesforce orgs or Intercom workspaces.
A typical build is a small middleware service. On the Intercom side it listens to webhooks (topics such as contact.lead.created and conversation.admin.closed) and calls the Intercom REST API. Intercom’s developer docs set a default of 10,000 API calls a minute per workspace for private apps, spread across 10-second windows.
On the Salesforce side it uses the REST API, Platform Events or Change Data Capture, and a dedicated integration user. Salesforce includes a limited number of Salesforce Integration user licenses in supported editions. Add idempotency so retries don’t create duplicates, a queue and alerts.
Creating contacts on signup is a one-way job; status that flows back from cases to conversations needs a two-way sync. See the API integration cost guide for how these ranges are built.
When Salesforce should run support instead, or alongside
Some teams find the integration is the wrong problem. Salesforce’s own service product, now called Agentforce Service (formerly Service Cloud), handles messaging, cases and AI agents inside the CRM, so there is nothing to sync. It tends to fit when:
- Support depends on Salesforce data every day: entitlements, contracts, assets, field service.
- You already run other Salesforce clouds and want one customer timeline and one reporting layer.
- The Intercom link has grown into several recipes, custom code and a part-time owner.
There is a middle path. Intercom sells Fin for Salesforce, which runs its Fin AI agent on Salesforce cases that arrive by email and web form, following your case assignment rules. It also covers live chat in Fin Messenger, with handoff to Salesforce’s in-app messaging.
According to Intercom, as of October 2026 it is available through its sales team, not self-serve. It suits teams that want Intercom’s AI agent but keep agents and cases in Salesforce. Keep the Intercom messenger and the Salesforce app if support is happy in Intercom and sales only needs context.
Go-live checklist
Go through this before the bulk sync, since that step updates everyone who exists in both tools at once. The score tells you whether to pilot or keep preparing.
Intercom Salesforce go-live
FAQ
Does Intercom integrate with Salesforce natively?
Which Salesforce editions work with Intercom?
Is the Intercom Salesforce integration two-way?
Can Intercom create contacts or accounts in Salesforce?
Where do Intercom conversations show up in Salesforce?
Should we use Salesforce for support instead of Intercom?
Where Gilzor fits
An Intercom link works when sales and support agree which side owns each field and which chats become leads or cases. Gilzor is a software development company in Poland and Cyprus that builds and maintains Salesforce integrations.
We can run that mapping with your sales and support leads, configure Intercom’s Salesforce app or an iPaaS, or build a custom integration on the Intercom and Salesforce APIs, and support it after launch. To see how such a project is scoped, visit our Salesforce integration services page.
No sales pitch
Get a straight answer for your project
Tell us what you’re building. We’ll reply with options, a rough cost and timeline. If we’re not the right fit, we’ll say so.

Co-Founder of Gilzor. Works with founders and product companies on how to staff and run engineering: team extension, dedicated teams, and getting stalled projects moving again.
Gilzor · Web Development partner
Need a team for your web product?
Services
Web DevelopmentCustom websites and web apps — front-end, back-end, launch and support.→By company type
Selected projects






The team behind them





