---
title: "Intercom MCP server for AI agents - actionlake"
description: "Give Claude 231 Intercom actions through one MCP server: contacts, conversations, tickets. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/intercom
updated: 2026-10-07
---

Connectors · CRM & sales

# Intercom MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Intercom and the rest of your systems. It gives your agent 231 Intercom actions (111 reads, 80 writes and 40 that wait for a confirmation) and holds the Intercom credential itself, so the agent never does. It paces Intercom's limits and records every call.

[Connect Intercom free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "intercom.contacts.list",
  intent: "check which Intercom account is connected"
}
# List all contacts · read · 1 upstream call
```

- 231 actions in one signed file
- 111 read look, never change
- 80 write create and update
- 40 wait for a yes destructive, confirmed first

Set up

## Connect Intercom in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Intercom.
   Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `access_token` Intercom access token
   - `region` Your Intercom region
   ```
   account { op: "connections.requirements", service: "intercom" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "intercom.contacts.list" }
   # list all contacts · read · 1 upstream call
   check { action: "intercom.tickets.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Intercom at a glance

**Sign-in**

Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`access_token`

**Setup fields**

`region`

**Limits we pace to**

1,600 calls per 10 seconds, per connection

**API covered**

Intercom REST API 2.16 (OpenAPI 3.0.1), at your region's intercom.io address, set when you connect

**Built from**

Intercom's documentation, read 7 October 2026[OpenAPI spec (GitHub)](https://github.com/intercom/Intercom-OpenAPI/blob/4373e34796c694f205fa6fa3ff8003a98c72d943/descriptions/2.16/api.intercom.io.yaml) [developers.intercom.com](https://developers.intercom.com/docs/references/rest-api/api.intercom.io)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

110 of 111 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

9, so ask can line Intercom up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Intercom.

231 actions in 54 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **111** read look, never change
- **80** write create and update
- **40** destructive wait for a confirmation

1. ### Contacts
   24
   10 read · 7 write · 7 destructive
   List all contacts · Create contact · Get a contact · Update a contact
2. ### Conversations
   18
   6 read · 7 write · 5 destructive
   List all conversations · Creates a conversation · Retrieve a conversation · Update a conversation
3. ### Tickets
   12
   2 read · 7 write · 3 destructive
   Search tickets · Create a ticket · Retrieve a ticket · Update a ticket
4. ### Articles
   11
   4 read · 5 write · 2 destructive
   List all articles · Create an article · Search for articles · Retrieve an article
5. ### Companies
   9
   6 read · 2 write · 1 destructive
   Retrieve companies · Retrieve a company by ID · Update a company · Delete a company
6. ### Conversation attributes
   8
   2 read · 4 write · 2 destructive
   Create a conversation attribute · List all conversation attributes · Add an option to a list conversation attribute · Get a conversation attribute
7. ### Internal articles
   8
   3 read · 3 write · 2 destructive
   List all articles · Create an internal article · Search for internal articles · Update an internal article
8. ### Content snippets
   7
   2 read · 3 write · 2 destructive
   Create a content snippet · List all content snippets · Add a tag to a content snippet · Retrieve a content snippet

**46 more areas · 134 actions**

- Fin **7**
- Audiences **5**
- Collections **5**
- Content import sources **5**
- Custom object instances **5**
- Data connectors **5**
- External pages **5**
- Fin voice calls **5**
- News items **5**
- Office hours exceptions **5**
- Office hours schedules **5**
- Admins **4**
- Help center redirects **4**
- Tags **4**
- Ticket types **4**
- Calls **3**
- Data attributes **3**
- Data exports **3**
- Events **3**
- Messages **3**
- Newsfeeds **3**
- Teams **3**
- Visitors **3**
- Activity logs **2**
- Article versions **2**
- Brands **2**
- Company notes **2**
- Contact notes **2**
- Content **2**
- Data connector execution results **2**
- Email settings **2**
- Help centers **2**
- Ip allowlist **2**
- Macros **2**
- Reporting data exports **2**
- Segments **2**
- Ticket type attributes **2**
- Activity log event types **1**
- Away status reasons **1**
- Jobs **1**
- Notes **1**
- Phone call redirects **1**
- Reporting datasets **1**
- Subscription types **1**
- Ticket states **1**
- Workflows **1**

Intercom's own MCP server

## Intercom's MCP server, or actionlake?

Intercom runs a remote MCP server for US and EU hosted workspaces (AU hosted workspaces are not yet supported), signed in with OAuth or an API token. Its tools are mostly reads, plus articles and internal notes.

Use Intercom's server when one person wants to work in Intercom from their own AI client. Use actionlake when you also want Intercom behind the same endpoint as your other systems: a key per agent with allowed actions and a spending cap, a named person's approval before destructive actions, a sealed record of every call, and one ask across Intercom and another system.

Source: [Intercom's documentation](https://developers.intercom.com/docs/guides/mcp), checked 22 October 2026.

Top actions

## The Intercom API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 98 of Intercom's 99 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `intercom.contacts.list` List all contacts | List all contacts. | read | `crm.contact.list` 177 connectors |
| `intercom.companies.list` Retrieve companies | Retrieve companies. | read | `crm.company.list` 162 connectors |
| `intercom.admins.list` List all admins | List all admins. | read | `identity.user.list` 474 connectors |
| `intercom.conversations.list` List all conversations | List all conversations. | read | `service.conversation.list` 19 connectors |
| `intercom.tickets.search` Search tickets | Search tickets. | read | `service.ticket.search` 18 connectors |
| `intercom.teams.list` List all teams | List all teams. | read | `identity.group.list` 262 connectors |
| `intercom.tags.list` List all tags | List all tags. | read | `crm.tag.list` 65 connectors |
| `intercom.tickets.create` Create a ticket | Create a ticket. | write | `service.ticket.create` 54 connectors |
| `intercom.contacts.create` Create contact | Create contact. | write | `crm.contact.create` 161 connectors |
| `intercom.companies.get` Retrieve a company by ID | Retrieve a company by ID. | read | `crm.company.get` 162 connectors |
| `intercom.conversations.create` Creates a conversation | Creates a conversation. | write | `service.conversation.create` 13 connectors |
| `intercom.tickets.delete` Delete a ticket | Delete a ticket. | destructive | `service.ticket.delete` 42 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Intercom actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Which Intercom tickets have been open the longest? Show me the ten oldest with their status.
   calls `intercom.tickets.search`
2. Write write
   Create a ticket in Intercom. Show me exactly what you will send before you save it.
   calls `intercom.tickets.create`
3. Across systems read
   Which Intercom companies have invoices in ConnectWise PSA, and how many each?
   calls `intercom.companies.list` `connectwise_manage.invoices.list`

Across your systems

## Intercom, joined to the rest of your business.

One `ask` fetches from Intercom and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

- Which Intercom companies have invoices in ConnectWise PSA, and how many each?
  `intercom.companies.list` + `connectwise_manage.invoices.list`, on `crm.company` · [ConnectWise PSA](https://actionlake.com/connectors/connectwise-psa)
- Which Intercom companies have invoices in NetSuite, and how many each?
  `intercom.companies.list` + `netsuite.views.invoices`, on `crm.company` · [NetSuite](https://actionlake.com/connectors/netsuite)

Also mapped by other connectors `identity.user` **517** `identity.group` **239** `crm.company` **227** `crm.contact` **192** `service.ticket` **62** `crm.tag` **47** `comm.call` **33** `knowledge.article` **22**

ask

```
ask {
  intent: "which Intercom companies have invoices in ConnectWise PSA, and how many each",
  steps: [
    { action: "intercom.companies.list", as: "co", input: {}, limit: 100, max_pages: 5 },
    { action: "connectwise_manage.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 },
    { join: {
        left: "co",
        right: "inv",
        on: "crm.company",
        group_by: "co.name",
        select: ["co.name", "count(inv.id) as invoices"]
    } }
  ]
}
```

Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for Intercom

## Destructive actions wait for a yes.

40 Intercom actions are destructive. The first 10:

- Delete a ticket `intercom.tickets.delete`
- Delete a contact `intercom.contacts.delete`
- Delete a company `intercom.companies.delete`
- Delete tag `intercom.tags.delete`
- Delete a conversation `intercom.conversations.delete`
- Merge a lead and a user `intercom.contacts.merge`
- Delete an article `intercom.articles.delete`
- Remove tag from a ticket `intercom.tickets.remove_tag`
- Remove tag from a contact `intercom.contacts.remove_tag`
- Delete an office hours schedule `intercom.office_hours_schedules.delete`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do intercom.tickets.delete confirm_policy: **human**

Delete a ticket?

**intent:** the user asked me to delete a ticket

run suspended · waiting for a named person · key _intercom-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "intercom-agent",
  allowed_actions: ["intercom.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "intercom.tickets.delete", approver: "lead@example.com" },
    { match: "intercom.contacts.delete", approver: "lead@example.com" },
    { match: "intercom.companies.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Intercom only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Intercom costs on actionlake.

Every Intercom action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Intercom refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 231 Intercom actions
- 231 actions page each page of a long list is one call
- 110 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Intercom action.

231 actions by area: the id your agent calls, what it does, and its effect.

**Contacts 24**

- `intercom.contacts.add_subscription` Add subscription to a contact write
- `intercom.contacts.add_tag` Add tag to a contact write
- `intercom.contacts.archive` Archive contact destructive
- `intercom.contacts.attach_company` Attach a Contact to a Company write
- `intercom.contacts.block` Block contact destructive
- `intercom.contacts.create` Create contact write
- `intercom.contacts.delete` Delete a contact destructive
- `intercom.contacts.detach_company` Detach a contact from a company destructive
- `intercom.contacts.dismiss_banner` Dismiss a banner for a contact write
- `intercom.contacts.get` Get a contact read
- `intercom.contacts.get_by_external_id` Get a contact by External ID read
- `intercom.contacts.list` List all contacts read
- `intercom.contacts.list_banners` List banners for a contact read
- `intercom.contacts.list_companies` List attached companies for contact read
- `intercom.contacts.list_merge_history` Get contact merge history read
- `intercom.contacts.list_segments` List attached segments for contact read
- `intercom.contacts.list_subscriptions` List subscriptions for a contact read
- `intercom.contacts.list_tags` List tags attached to a contact read
- `intercom.contacts.merge` Merge a lead and a user destructive
- `intercom.contacts.remove_subscription` Remove subscription from a contact destructive
- `intercom.contacts.remove_tag` Remove tag from a contact destructive
- `intercom.contacts.search` Search contacts read
- `intercom.contacts.unarchive` Unarchive contact write
- `intercom.contacts.update` Update a contact write

**Conversations 18**

- `intercom.conversations.add_tag` Add tag to a conversation write
- `intercom.conversations.attach_contact` Attach a contact to a conversation write
- `intercom.conversations.convert_to_ticket` Convert a conversation to a ticket write
- `intercom.conversations.create` Creates a conversation write
- `intercom.conversations.delete` Delete a conversation destructive
- `intercom.conversations.detach_contact` Detach a contact from a group conversation destructive
- `intercom.conversations.get` Retrieve a conversation read
- `intercom.conversations.list` List all conversations read
- `intercom.conversations.list_deleted` List all deleted conversation IDs read
- `intercom.conversations.list_handling_events` List handling events read
- `intercom.conversations.list_side_conversations` List side conversations read
- `intercom.conversations.manage` Manage a conversation write
- `intercom.conversations.merge` Merge a conversation destructive
- `intercom.conversations.redact` Redact a conversation part destructive
- `intercom.conversations.remove_tag` Remove tag from a conversation destructive
- `intercom.conversations.reply` Reply to a conversation write
- `intercom.conversations.search` Search conversations read
- `intercom.conversations.update` Update a conversation write

**Tickets 12**

- `intercom.tickets.add_tag` Add tag to a ticket write
- `intercom.tickets.change_type` Change ticket type write
- `intercom.tickets.create` Create a ticket write
- `intercom.tickets.delete` Delete a ticket destructive
- `intercom.tickets.enqueue_create` Enqueue create ticket write
- `intercom.tickets.get` Retrieve a ticket read
- `intercom.tickets.link_conversation` Link a conversation to a ticket write
- `intercom.tickets.remove_tag` Remove tag from a ticket destructive
- `intercom.tickets.reply` Reply to a ticket write
- `intercom.tickets.search` Search tickets read
- `intercom.tickets.unlink_conversation` Unlink a conversation from a ticket destructive
- `intercom.tickets.update` Update a ticket write

**Articles 11**

- `intercom.articles.add_tag` Add a tag to an article write
- `intercom.articles.create` Create an article write
- `intercom.articles.delete` Delete an article destructive
- `intercom.articles.get` Retrieve an article read
- `intercom.articles.get_draft` Retrieve an article draft read
- `intercom.articles.list` List all articles read
- `intercom.articles.publish_draft` Publish an article draft write
- `intercom.articles.remove_tag` Remove a tag from an article destructive
- `intercom.articles.search` Search for articles read
- `intercom.articles.stage_draft` Stage an article draft write
- `intercom.articles.update` Update an article write

**Companies 9**

- `intercom.companies.delete` Delete a company destructive
- `intercom.companies.get` Retrieve a company by ID read
- `intercom.companies.list` Retrieve companies read
- `intercom.companies.list_all` List all companies read
- `intercom.companies.list_contacts` List attached contacts read
- `intercom.companies.list_segments` List attached segments for companies read
- `intercom.companies.scroll` Scroll over all companies read
- `intercom.companies.update` Update a company write
- `intercom.companies.upsert` Create or Update a company write

**Conversation attributes 8**

- `intercom.conversation_attributes.add_option` Add an option to a list conversation attribute write
- `intercom.conversation_attributes.create` Create a conversation attribute write
- `intercom.conversation_attributes.delete` Delete (archive) a conversation attribute destructive
- `intercom.conversation_attributes.delete_option` Archive an option on a list conversation attribute destructive
- `intercom.conversation_attributes.get` Get a conversation attribute read
- `intercom.conversation_attributes.list` List all conversation attributes read
- `intercom.conversation_attributes.update` Update a conversation attribute write
- `intercom.conversation_attributes.update_option` Update an option on a list conversation attribute write

**Internal articles 8**

- `intercom.internal_articles.add_tag` Add a tag to an internal article write
- `intercom.internal_articles.create` Create an internal article write
- `intercom.internal_articles.delete` Delete an internal article destructive
- `intercom.internal_articles.get` Retrieve an internal article read
- `intercom.internal_articles.list` List all articles read
- `intercom.internal_articles.remove_tag` Remove a tag from an internal article destructive
- `intercom.internal_articles.search` Search for internal articles read
- `intercom.internal_articles.update` Update an internal article write

**Content snippets 7**

- `intercom.content_snippets.add_tag` Add a tag to a content snippet write
- `intercom.content_snippets.create` Create a content snippet write
- `intercom.content_snippets.delete` Delete a content snippet destructive
- `intercom.content_snippets.get` Retrieve a content snippet read
- `intercom.content_snippets.list` List all content snippets read
- `intercom.content_snippets.remove_tag` Remove a tag from a content snippet destructive
- `intercom.content_snippets.update` Update a content snippet write

**Fin 7**

- `intercom.fin.ask` Ask Fin write
- `intercom.fin.escalate` Escalate to a human write
- `intercom.fin.list_capabilities` Discover Fin's capabilities read
- `intercom.fin.reply` Reply to Fin write
- `intercom.fin.run_procedure` Run a Fin procedure write
- `intercom.fin.start_conversation` Start a conversation with Fin write
- `intercom.fin.submit_csat` Submit a CSAT rating write

**Audiences 5**

- `intercom.audiences.create` Create an audience write
- `intercom.audiences.delete` Delete an audience destructive
- `intercom.audiences.get` Retrieve an audience read
- `intercom.audiences.list` List all audiences read
- `intercom.audiences.update` Update an audience write

**Collections 5**

- `intercom.collections.create` Create a collection write
- `intercom.collections.delete` Delete a collection destructive
- `intercom.collections.get` Retrieve a collection read
- `intercom.collections.list` List all collections read
- `intercom.collections.update` Update a collection write

**Content import sources 5**

- `intercom.content_import_sources.create` Create a content import source write
- `intercom.content_import_sources.delete` Delete a content import source destructive
- `intercom.content_import_sources.get` Retrieve a content import source read
- `intercom.content_import_sources.list` List content import sources read
- `intercom.content_import_sources.update` Update a content import source write

**Custom object instances 5**

- `intercom.custom_object_instances.delete` Delete a Custom Object Instance by ID destructive
- `intercom.custom_object_instances.delete_by_external_id` Delete a Custom Object Instance by External ID destructive
- `intercom.custom_object_instances.get` Get Custom Object Instance by ID read
- `intercom.custom_object_instances.list` List Custom Object Instances read
- `intercom.custom_object_instances.upsert` Create or Update a Custom Object Instance write

**Data connectors 5**

- `intercom.data_connectors.create` Create a data connector write
- `intercom.data_connectors.delete` Delete a data connector destructive
- `intercom.data_connectors.get` Retrieve a data connector read
- `intercom.data_connectors.list` List all data connectors read
- `intercom.data_connectors.update` Update a data connector write

**External pages 5**

- `intercom.external_pages.delete` Delete an external page destructive
- `intercom.external_pages.get` Retrieve an external page read
- `intercom.external_pages.list` List external pages read
- `intercom.external_pages.update` Update an external page write
- `intercom.external_pages.upsert` Create an external page (or update an external page by external ID) write

**Fin voice calls 5**

- `intercom.fin_voice_calls.get` Collect Fin Voice call by ID read
- `intercom.fin_voice_calls.get_by_external_id` Collect Fin Voice call by external ID read
- `intercom.fin_voice_calls.get_by_phone_number` Collect Fin Voice call by phone number read
- `intercom.fin_voice_calls.list_by_conversation` Collect Fin Voice calls by conversation ID read
- `intercom.fin_voice_calls.register` Register a Fin Voice call write

**News items 5**

- `intercom.news_items.create` Create a news item write
- `intercom.news_items.delete` Delete a news item destructive
- `intercom.news_items.get` Retrieve a news item read
- `intercom.news_items.list` List all news items read
- `intercom.news_items.update` Update a news item write

**Office hours exceptions 5**

- `intercom.office_hours_exceptions.create` Create an office hours exception write
- `intercom.office_hours_exceptions.delete` Delete an office hours exception destructive
- `intercom.office_hours_exceptions.get` Retrieve an office hours exception read
- `intercom.office_hours_exceptions.list` List all office hours exceptions read
- `intercom.office_hours_exceptions.update` Update an office hours exception write

**Office hours schedules 5**

- `intercom.office_hours_schedules.create` Create an office hours schedule write
- `intercom.office_hours_schedules.delete` Delete an office hours schedule destructive
- `intercom.office_hours_schedules.get` Retrieve an office hours schedule read
- `intercom.office_hours_schedules.list` List all office hours schedules read
- `intercom.office_hours_schedules.update` Update an office hours schedule write

**Admins 4**

- `intercom.admins.get` Retrieve an admin read
- `intercom.admins.list` List all admins read
- `intercom.admins.me` Identify an admin read
- `intercom.admins.set_away` Set an admin to away write

**Help center redirects 4**

- `intercom.help_center_redirects.create` Create a redirect write
- `intercom.help_center_redirects.delete` Delete a redirect destructive
- `intercom.help_center_redirects.get` Retrieve a redirect read
- `intercom.help_center_redirects.list` List all redirects for a help center read

**Tags 4**

- `intercom.tags.delete` Delete tag destructive
- `intercom.tags.get` Find a specific tag read
- `intercom.tags.list` List all tags read
- `intercom.tags.upsert` Create or update a tag, Tag or untag companies, Tag contacts write

**Ticket types 4**

- `intercom.ticket_types.create` Create a ticket type write
- `intercom.ticket_types.get` Retrieve a ticket type read
- `intercom.ticket_types.list` List all ticket types read
- `intercom.ticket_types.update` Update a ticket type write

**Calls 3**

- `intercom.calls.get` Get a call read
- `intercom.calls.list` List all calls read
- `intercom.calls.search` List calls with transcripts read

**Data attributes 3**

- `intercom.data_attributes.create` Create a data attribute write
- `intercom.data_attributes.list` List all data attributes read
- `intercom.data_attributes.update` Update a data attribute write

**Data exports 3**

- `intercom.data_exports.cancel` Cancel content data export destructive
- `intercom.data_exports.create` Create content data export write
- `intercom.data_exports.get` Show content data export read

**Events 3**

- `intercom.events.create` Submit a data event write
- `intercom.events.create_summaries` Create event summaries write
- `intercom.events.list` List all data events read

**Messages 3**

- `intercom.messages.create` Create a message write
- `intercom.messages.get_whatsapp_status` Retrieve WhatsApp message delivery status read
- `intercom.messages.list_statuses` Get statuses of all messages sent based on the specified ruleset_id read

**Newsfeeds 3**

- `intercom.newsfeeds.get` Retrieve a newsfeed read
- `intercom.newsfeeds.list` List all newsfeeds read
- `intercom.newsfeeds.list_items` List all live newsfeed items read

**Teams 3**

- `intercom.teams.get` Retrieve a team read
- `intercom.teams.get_metrics` Retrieve team metrics read
- `intercom.teams.list` List all teams read

**Visitors 3**

- `intercom.visitors.convert` Convert a visitor destructive
- `intercom.visitors.get` Retrieve a visitor with User ID read
- `intercom.visitors.update` Update a visitor write

**Activity logs 2**

- `intercom.activity_logs.list` List all activity logs read
- `intercom.activity_logs.search` Search activity logs read

**Article versions 2**

- `intercom.article_versions.get` Retrieve an article version read
- `intercom.article_versions.list` List article versions read

**Brands 2**

- `intercom.brands.get` Retrieve a brand read
- `intercom.brands.list` List all brands read

**Company notes 2**

- `intercom.company_notes.create` Create a company note write
- `intercom.company_notes.list` List all company notes read

**Contact notes 2**

- `intercom.contact_notes.create` Create a note write
- `intercom.contact_notes.list` List all notes read

**Content 2**

- `intercom.content.bulk_action` Run a bulk action on Knowledge Hub content destructive
- `intercom.content.search` Search knowledge base contents read

**Data connector execution results 2**

- `intercom.data_connector_execution_results.get` Retrieve an execution result read
- `intercom.data_connector_execution_results.list` List execution results for a data connector read

**Email settings 2**

- `intercom.email_settings.get` Retrieve an email setting read
- `intercom.email_settings.list` List all email settings read

**Help centers 2**

- `intercom.help_centers.get` Retrieve a Help Center read
- `intercom.help_centers.list` List all Help Centers read

**Ip allowlist 2**

- `intercom.ip_allowlist.get` Get IP allowlist settings read
- `intercom.ip_allowlist.replace` Update IP allowlist settings destructive

**Macros 2**

- `intercom.macros.get` Retrieve a macro read
- `intercom.macros.list` List all macros read

**Reporting data exports 2**

- `intercom.reporting_data_exports.enqueue` Enqueue a new reporting data export job write
- `intercom.reporting_data_exports.get` Get export job status read

**Segments 2**

- `intercom.segments.get` Retrieve a segment read
- `intercom.segments.list` List all segments read

**Ticket type attributes 2**

- `intercom.ticket_type_attributes.create` Create a new attribute for a ticket type write
- `intercom.ticket_type_attributes.update` Update an existing attribute for a ticket type write

**Activity log event types 1**

- `intercom.activity_log_event_types.list` List all activity log event types read

**Away status reasons 1**

- `intercom.away_status_reasons.list` List all away status reasons read

**Jobs 1**

- `intercom.jobs.get` Retrieve job status read

**Notes 1**

- `intercom.notes.get` Retrieve a note read

**Phone call redirects 1**

- `intercom.phone_call_redirects.create` Create a phone Switch write

**Reporting datasets 1**

- `intercom.reporting_datasets.list` List available datasets and attributes read

**Subscription types 1**

- `intercom.subscription_types.list` List subscription types read

**Ticket states 1**

- `intercom.ticket_states.list` List all ticket states read

**Workflows 1**

- `intercom.workflows.export` Export a workflow read

Questions

## The Intercom MCP server, answered.

**Is there an Intercom MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 231 Intercom actions across contacts, conversations, tickets and articles, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Intercom.

**Does Intercom have its own MCP server?**

Intercom runs a remote MCP server for US and EU hosted workspaces (AU hosted workspaces are not yet supported), signed in with OAuth or an API token. Its tools are mostly reads, plus articles and internal notes. (Intercom's documentation, checked 22 October 2026.) Use Intercom's server when one person wants to work in Intercom from their own AI client. Use actionlake when you also want Intercom behind the same endpoint as your other systems: a key per agent with allowed actions and a spending cap, a named person's approval before destructive actions, a sealed record of every call, and one ask across Intercom and another system.

**What do I need to connect Intercom?**

Intercom access token. Plus your region. The free call account { op: "connections.requirements", service: "intercom" } lists exactly what to paste.

**Can an AI agent delete or change things in Intercom?**

Only if its key allows it, and only with an explicit confirmation. 40 Intercom actions are destructive, including delete a ticket, delete a contact and delete a company. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Intercom API limit?**

actionlake paces every call to the limits in the Intercom service file: 1,600 calls per 10 seconds per connection. Repeated reads are answered from cache (110 Intercom actions can be), which never reaches Intercom.

**What does an Intercom action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (231 Intercom actions page). Cache hits, searches, dry runs and calls Intercom refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Intercom API does it cover?**

The Intercom REST API 2.16 (OpenAPI 3.0.1) at your region's intercom.io address, set when you connect. It is built from Intercom's documentation as read on 7 October 2026. 231 actions in 54 areas, each one in the signed service file (version 1.0.0).

**Can I combine Intercom with my other systems?**

Yes. ask joins Intercom to ConnectWise PSA or NetSuite on the same customer and returns the answer rather than every row. Intercom maps crm.company, which 227 other connectors also map.

**Does actionlake keep my Intercom data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Intercom credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Intercom

Shares the most action names with

- [Kustomer 34](https://actionlake.com/connectors/kustomer)
- [Zoho SalesIQ 26](https://actionlake.com/connectors/zoho-salesiq)
- [Pylon 26](https://actionlake.com/connectors/pylon)
- [Insightly CRM 26](https://actionlake.com/connectors/insightly-crm)
- [Outreach 20](https://actionlake.com/connectors/outreach)
- [Affinity 18](https://actionlake.com/connectors/affinity)

Joins with, on shared entities

- [HaloPSA 6](https://actionlake.com/connectors/halopsa)
- [Odoo 6](https://actionlake.com/connectors/odoo)
- [Front 6](https://actionlake.com/connectors/front)
- [Help Scout 6](https://actionlake.com/connectors/help-scout)
- [Trengo 6](https://actionlake.com/connectors/trengo)
- [ServiceNow 5](https://actionlake.com/connectors/servicenow)

Browse

- [All CRM & sales connectors](https://actionlake.com/connectors/category/crm-and-sales)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Intercom; the name is the vendor's own. Counts are from the Intercom service file, version 1.0.0.

## Give your agent Intercom today.

[Connect Intercom free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/intercom
More: https://actionlake.com/llms.txt
