Automate Intercom work with your agents
Maplith maps how Intercom’s conversations, contacts (users and leads), companies, and tickets join your payments, web shop, CRM and spreadsheets, so your agent knows where each thing is and how far to trust each join.
| Way | Status | What it means |
|---|---|---|
| Your own agent | Available | Intercom connector in Claude (US-hosted workspaces) or Intercom synced app in ChatGPT, read-only. |
| Export files | Available | CSV exports: the last three months. |
| Maplith reads Intercom itself | Rolling out | Built, and not open to every workspace yet. |
What your agents do with Intercom and Maplith
What starts the work, what your agent does with Maplith, and how it ends. Each flow uses the Intercom data and joins described below.
A new conversation nobody has picked up
Trigger: A customer opens a conversation in Intercom, and no teammate is assigned to it.
With Maplith:
- Signals: With Maplith’s Intercom integration (rolling out), the conversation arrives as a
support_case_openedsignal. Until it reaches your workspace, your agent looks for new conversations in Intercom with its own read access. - Task context:
get_task_contexton the case returns the playbook “Work a new Intercom support case”, if you put it in use, and what the agent’s key may do. - Route:
routefrom the conversation to its contact by contact id, then to the same person in your shop or billing system by email or by the external user id. - The action gate:
request_actionfor a task for whoever assigns the inbox: the case, the customer found in your shop or billing system, and the team the playbook names. A person assigns it in Intercom. - Record and value:
record_actionrecords who took the case and how it ended.
Result: Whoever assigns the inbox gets the case with the customer already found in your other systems.
A ticket that carries an order number
Trigger: A customer raises a ticket about a delivery, and the order number sits in one of the ticket’s attributes.
With Maplith:
- The map:
get_objecton the tickets says whether your ticket type keeps an order number in an attribute, and which one. - Route:
routefrom the ticket to the order in your shop by that order number, with how far Maplith trusts the hop. - Findings: Where a scan found tickets whose order number matches no order, a finding says so, with its evidence and a recommendation.
- The action gate: The agent drafts a reply from the order’s fulfillment status, which it read in the shop with its own access, and
request_actiondecides whether a person approves the reply. Maplith never sends it: your agent does, only with write access you give it in Intercom separately (its Write conversations permission), once approved. - Record and value:
record_actionrecords the reply and closes the loop on the ticket.
Result: The customer gets the delivery status from the order, not a request to repeat the order number.
The same person as a lead and a user
Trigger: Billing asks which Intercom contact belongs to a paying customer, and finds a lead and a user with the same email.
With Maplith:
- Ask:
ask: “how do Intercom’s contacts tie to our billing customers?” The answer cites its joins: by email, or by the external user id your product sends. - Route:
routefrom the Intercom contact to the Stripe customer by email, with how much Maplith trusts that hop. - The map:
get_objecton the contacts says which of the two carries the external user id; the agent reads both contacts in Intercom with its own read access. - The action gate:
request_actionfor a task for the person who looks after Intercom’s contacts, with both contacts and the id that should decide between them. - Record and value:
record_actionrecords the task and which contact was kept.
Result: Billing and support talk about the same person, keyed by the id your product sends.
How it connects
Through access you already have. Until Maplith’s Intercom integration reaches your workspace, Maplith holds no Intercom credential and never writes there.
- Connect your assistant to Maplith over MCP, by signing in or with an agent key.
- Your agent reads Intercom with the Intercom connector in Claude (US-hosted workspaces) or the Intercom synced app in ChatGPT, read-only.
- With your approval it sends what it read; Maplith builds the map and deletes the files again.
When Maplith’s Intercom integration reaches your workspace
- In Maplith, open Data sources › Systems and choose Connect Intercom, or click Install on Maplith in Intercom's App Store. You need to be an admin or builder of the workspace.
- Intercom asks you to approve read access to the workspace: sign in to Intercom as a teammate who may install apps, and approve it there.
- Intercom returns you to Data sources › Systems. Maplith checks that it is you, in the workspace you started from, before it stores anything; the access token is sealed and never shown again.
- Scan it from the connection, or wait for the workspace's scan schedule.
What Maplith’s Intercom integration never reads or does
- Anything that changes Intercom: the server's tools that write an article or an internal note are never called.
- Tickets, articles, news items, data exports or settings: the permissions for them are not asked for.
- Your access token anywhere but sealed in Maplith: it is never shown again and never sent to a model.
- A US- or AU-hosted workspace: only Intercom's EU server is read, so those workspaces share an export or let their own agent read Intercom.
The permissions it asks for, and why
| Permission | Why |
|---|---|
| Read conversations | Reads the conversations the support process and the support playbooks are built from: their state, times, assignee and tags |
| Read and list users and companies | Lists the contacts and companies a conversation belongs to, so a case can be joined to the same person or company in the shop or the billing system |
| Read one user and one company | Reads one contact or company when a conversation names it |
What Maplith never reads or does
- Intercom itself: until Maplith’s Intercom integration reaches your workspace, Maplith holds no Intercom credential and never signs in to it.
- Anything that changes Intercom: Maplith never writes there. When your agent acts, it uses access you gave it.
- What you leave out: you decide what your agent shares or an export contains.
Datasets that make a good map
Conversations
One customer conversation in the inbox, with its state, timestamps, assignee and tags.
- conversation id
- contact id
- company id
- assigned teammate id
- team id
- tags
- created at
- closed at
Contacts (users and leads)
One person the company talks to: a signed-up user or an anonymous lead.
- contact id
- external user id
- email (Maplith tries to mask it)
- company id
- signed up at
- last seen at
Companies
One customer company, with the id the company gives it and its custom attributes.
- company id
- company name
- user count
- created at
- custom attributes
Tickets
One ticket of a given ticket type, raised by a customer or the team.
- ticket id
- ticket type
- contact id
- linked conversation id
- state
- created at
Teammates and tags
One support teammate or team, and the tags used to sort conversations.
- admin id
- team id
- tag id
- tag name
The narrowest access Intercom offers for reading
- Read conversations
- Read and list users and companies
- Read one user and one company
- Read tickets
- Read tags
- Read admins
Questions about Intercom and Maplith
Does Maplith copy my Intercom data?
Which Intercom access does Maplith need?
Read conversations, Read and list users and companies and Read one user and one company. Maplith keeps that access sealed, never shown again and never sent to a model.