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.
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/mcpdo { action: "intercom.contacts.list", intent: "check which Intercom account is connected"}# List all contacts · read · 1 upstream call- 231actionsin one signed file
- 111readlook, never change
- 80writecreate and update
- 40wait for a yesdestructive, confirmed first
Set up
Connect Intercom in three steps.
- 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 - 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_tokenIntercom access tokenregionYour Intercom region
account { op: "connections.requirements", service: "intercom" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "intercom.contacts.list" }# list all contacts · read · 1 upstream callcheck { 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 2026OpenAPI spec (GitHub)developers.intercom.com
- 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.
- 111readlook, never change
- 80writecreate and update
- 40destructivewait for a confirmation
Contacts
2410 read · 7 write · 7 destructive
List all contacts · Create contact · Get a contact · Update a contact
Conversations
186 read · 7 write · 5 destructive
List all conversations · Creates a conversation · Retrieve a conversation · Update a conversation
Tickets
122 read · 7 write · 3 destructive
Search tickets · Create a ticket · Retrieve a ticket · Update a ticket
Articles
114 read · 5 write · 2 destructive
List all articles · Create an article · Search for articles · Retrieve an article
Companies
96 read · 2 write · 1 destructive
Retrieve companies · Retrieve a company by ID · Update a company · Delete a company
Conversation attributes
82 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
Internal articles
83 read · 3 write · 2 destructive
List all articles · Create an internal article · Search for internal articles · Update an internal article
Content snippets
72 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, 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.listList all contacts | List all contacts. | read | crm.contact.list177 connectors |
intercom.companies.listRetrieve companies | Retrieve companies. | read | crm.company.list162 connectors |
intercom.admins.listList all admins | List all admins. | read | identity.user.list474 connectors |
intercom.conversations.listList all conversations | List all conversations. | read | service.conversation.list19 connectors |
intercom.tickets.searchSearch tickets | Search tickets. | read | service.ticket.search18 connectors |
intercom.teams.listList all teams | List all teams. | read | identity.group.list262 connectors |
intercom.tags.listList all tags | List all tags. | read | crm.tag.list65 connectors |
intercom.tickets.createCreate a ticket | Create a ticket. | write | service.ticket.create54 connectors |
intercom.contacts.createCreate contact | Create contact. | write | crm.contact.create161 connectors |
intercom.companies.getRetrieve a company by ID | Retrieve a company by ID. | read | crm.company.get162 connectors |
intercom.conversations.createCreates a conversation | Creates a conversation. | write | service.conversation.create13 connectors |
intercom.tickets.deleteDelete a ticket | Delete a ticket. | destructive | service.ticket.delete42 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.
- Readread
Which Intercom tickets have been open the longest? Show me the ten oldest with their status.
calls
intercom.tickets.search - Writewrite
Create a ticket in Intercom. Show me exactly what you will send before you save it.
calls
intercom.tickets.create - Across systemsread
Which Intercom companies have invoices in ConnectWise PSA, and how many each?
calls
intercom.companies.listconnectwise_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, oncrm.company· ConnectWise PSAWhich Intercom companies have invoices in NetSuite, and how many each?
intercom.companies.list+netsuite.views.invoices, oncrm.company· NetSuite
identity.user 517identity.group 239crm.company 227crm.contact 192service.ticket 62crm.tag 47comm.call 33knowledge.article 22ask { 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"] } } ]}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.
Delete a ticket?
intent: the user asked me to delete a ticket
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: "[email protected]" }, { match: "intercom.contacts.delete", approver: "[email protected]" }, { match: "intercom.companies.delete", approver: "[email protected]" } ]}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.
- 1upstream call per actionall 231 Intercom actions
- 231actions pageeach page of a long list is one call
- 110reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Intercom action.
231 actions by area: the id your agent calls, what it does, and its effect.
Contacts24
intercom.contacts.add_subscriptionAdd subscription to a contactwriteintercom.contacts.add_tagAdd tag to a contactwriteintercom.contacts.archiveArchive contactdestructiveintercom.contacts.attach_companyAttach a Contact to a Companywriteintercom.contacts.blockBlock contactdestructiveintercom.contacts.createCreate contactwriteintercom.contacts.deleteDelete a contactdestructiveintercom.contacts.detach_companyDetach a contact from a companydestructiveintercom.contacts.dismiss_bannerDismiss a banner for a contactwriteintercom.contacts.getGet a contactreadintercom.contacts.get_by_external_idGet a contact by External IDreadintercom.contacts.listList all contactsreadintercom.contacts.list_bannersList banners for a contactreadintercom.contacts.list_companiesList attached companies for contactreadintercom.contacts.list_merge_historyGet contact merge historyreadintercom.contacts.list_segmentsList attached segments for contactreadintercom.contacts.list_subscriptionsList subscriptions for a contactreadintercom.contacts.list_tagsList tags attached to a contactreadintercom.contacts.mergeMerge a lead and a userdestructiveintercom.contacts.remove_subscriptionRemove subscription from a contactdestructiveintercom.contacts.remove_tagRemove tag from a contactdestructiveintercom.contacts.searchSearch contactsreadintercom.contacts.unarchiveUnarchive contactwriteintercom.contacts.updateUpdate a contactwrite
Conversations18
intercom.conversations.add_tagAdd tag to a conversationwriteintercom.conversations.attach_contactAttach a contact to a conversationwriteintercom.conversations.convert_to_ticketConvert a conversation to a ticketwriteintercom.conversations.createCreates a conversationwriteintercom.conversations.deleteDelete a conversationdestructiveintercom.conversations.detach_contactDetach a contact from a group conversationdestructiveintercom.conversations.getRetrieve a conversationreadintercom.conversations.listList all conversationsreadintercom.conversations.list_deletedList all deleted conversation IDsreadintercom.conversations.list_handling_eventsList handling eventsreadintercom.conversations.list_side_conversationsList side conversationsreadintercom.conversations.manageManage a conversationwriteintercom.conversations.mergeMerge a conversationdestructiveintercom.conversations.redactRedact a conversation partdestructiveintercom.conversations.remove_tagRemove tag from a conversationdestructiveintercom.conversations.replyReply to a conversationwriteintercom.conversations.searchSearch conversationsreadintercom.conversations.updateUpdate a conversationwrite
Tickets12
intercom.tickets.add_tagAdd tag to a ticketwriteintercom.tickets.change_typeChange ticket typewriteintercom.tickets.createCreate a ticketwriteintercom.tickets.deleteDelete a ticketdestructiveintercom.tickets.enqueue_createEnqueue create ticketwriteintercom.tickets.getRetrieve a ticketreadintercom.tickets.link_conversationLink a conversation to a ticketwriteintercom.tickets.remove_tagRemove tag from a ticketdestructiveintercom.tickets.replyReply to a ticketwriteintercom.tickets.searchSearch ticketsreadintercom.tickets.unlink_conversationUnlink a conversation from a ticketdestructiveintercom.tickets.updateUpdate a ticketwrite
Articles11
intercom.articles.add_tagAdd a tag to an articlewriteintercom.articles.createCreate an articlewriteintercom.articles.deleteDelete an articledestructiveintercom.articles.getRetrieve an articlereadintercom.articles.get_draftRetrieve an article draftreadintercom.articles.listList all articlesreadintercom.articles.publish_draftPublish an article draftwriteintercom.articles.remove_tagRemove a tag from an articledestructiveintercom.articles.searchSearch for articlesreadintercom.articles.stage_draftStage an article draftwriteintercom.articles.updateUpdate an articlewrite
Companies9
intercom.companies.deleteDelete a companydestructiveintercom.companies.getRetrieve a company by IDreadintercom.companies.listRetrieve companiesreadintercom.companies.list_allList all companiesreadintercom.companies.list_contactsList attached contactsreadintercom.companies.list_segmentsList attached segments for companiesreadintercom.companies.scrollScroll over all companiesreadintercom.companies.updateUpdate a companywriteintercom.companies.upsertCreate or Update a companywrite
Conversation attributes8
intercom.conversation_attributes.add_optionAdd an option to a list conversation attributewriteintercom.conversation_attributes.createCreate a conversation attributewriteintercom.conversation_attributes.deleteDelete (archive) a conversation attributedestructiveintercom.conversation_attributes.delete_optionArchive an option on a list conversation attributedestructiveintercom.conversation_attributes.getGet a conversation attributereadintercom.conversation_attributes.listList all conversation attributesreadintercom.conversation_attributes.updateUpdate a conversation attributewriteintercom.conversation_attributes.update_optionUpdate an option on a list conversation attributewrite
Internal articles8
intercom.internal_articles.add_tagAdd a tag to an internal articlewriteintercom.internal_articles.createCreate an internal articlewriteintercom.internal_articles.deleteDelete an internal articledestructiveintercom.internal_articles.getRetrieve an internal articlereadintercom.internal_articles.listList all articlesreadintercom.internal_articles.remove_tagRemove a tag from an internal articledestructiveintercom.internal_articles.searchSearch for internal articlesreadintercom.internal_articles.updateUpdate an internal articlewrite
Content snippets7
intercom.content_snippets.add_tagAdd a tag to a content snippetwriteintercom.content_snippets.createCreate a content snippetwriteintercom.content_snippets.deleteDelete a content snippetdestructiveintercom.content_snippets.getRetrieve a content snippetreadintercom.content_snippets.listList all content snippetsreadintercom.content_snippets.remove_tagRemove a tag from a content snippetdestructiveintercom.content_snippets.updateUpdate a content snippetwrite
Fin7
intercom.fin.askAsk Finwriteintercom.fin.escalateEscalate to a humanwriteintercom.fin.list_capabilitiesDiscover Fin's capabilitiesreadintercom.fin.replyReply to Finwriteintercom.fin.run_procedureRun a Fin procedurewriteintercom.fin.start_conversationStart a conversation with Finwriteintercom.fin.submit_csatSubmit a CSAT ratingwrite
Audiences5
intercom.audiences.createCreate an audiencewriteintercom.audiences.deleteDelete an audiencedestructiveintercom.audiences.getRetrieve an audiencereadintercom.audiences.listList all audiencesreadintercom.audiences.updateUpdate an audiencewrite
Collections5
intercom.collections.createCreate a collectionwriteintercom.collections.deleteDelete a collectiondestructiveintercom.collections.getRetrieve a collectionreadintercom.collections.listList all collectionsreadintercom.collections.updateUpdate a collectionwrite
Content import sources5
intercom.content_import_sources.createCreate a content import sourcewriteintercom.content_import_sources.deleteDelete a content import sourcedestructiveintercom.content_import_sources.getRetrieve a content import sourcereadintercom.content_import_sources.listList content import sourcesreadintercom.content_import_sources.updateUpdate a content import sourcewrite
Custom object instances5
intercom.custom_object_instances.deleteDelete a Custom Object Instance by IDdestructiveintercom.custom_object_instances.delete_by_external_idDelete a Custom Object Instance by External IDdestructiveintercom.custom_object_instances.getGet Custom Object Instance by IDreadintercom.custom_object_instances.listList Custom Object Instancesreadintercom.custom_object_instances.upsertCreate or Update a Custom Object Instancewrite
Data connectors5
intercom.data_connectors.createCreate a data connectorwriteintercom.data_connectors.deleteDelete a data connectordestructiveintercom.data_connectors.getRetrieve a data connectorreadintercom.data_connectors.listList all data connectorsreadintercom.data_connectors.updateUpdate a data connectorwrite
External pages5
intercom.external_pages.deleteDelete an external pagedestructiveintercom.external_pages.getRetrieve an external pagereadintercom.external_pages.listList external pagesreadintercom.external_pages.updateUpdate an external pagewriteintercom.external_pages.upsertCreate an external page (or update an external page by external ID)write
Fin voice calls5
intercom.fin_voice_calls.getCollect Fin Voice call by IDreadintercom.fin_voice_calls.get_by_external_idCollect Fin Voice call by external IDreadintercom.fin_voice_calls.get_by_phone_numberCollect Fin Voice call by phone numberreadintercom.fin_voice_calls.list_by_conversationCollect Fin Voice calls by conversation IDreadintercom.fin_voice_calls.registerRegister a Fin Voice callwrite
News items5
intercom.news_items.createCreate a news itemwriteintercom.news_items.deleteDelete a news itemdestructiveintercom.news_items.getRetrieve a news itemreadintercom.news_items.listList all news itemsreadintercom.news_items.updateUpdate a news itemwrite
Office hours exceptions5
intercom.office_hours_exceptions.createCreate an office hours exceptionwriteintercom.office_hours_exceptions.deleteDelete an office hours exceptiondestructiveintercom.office_hours_exceptions.getRetrieve an office hours exceptionreadintercom.office_hours_exceptions.listList all office hours exceptionsreadintercom.office_hours_exceptions.updateUpdate an office hours exceptionwrite
Office hours schedules5
intercom.office_hours_schedules.createCreate an office hours schedulewriteintercom.office_hours_schedules.deleteDelete an office hours scheduledestructiveintercom.office_hours_schedules.getRetrieve an office hours schedulereadintercom.office_hours_schedules.listList all office hours schedulesreadintercom.office_hours_schedules.updateUpdate an office hours schedulewrite
Admins4
intercom.admins.getRetrieve an adminreadintercom.admins.listList all adminsreadintercom.admins.meIdentify an adminreadintercom.admins.set_awaySet an admin to awaywrite
Help center redirects4
intercom.help_center_redirects.createCreate a redirectwriteintercom.help_center_redirects.deleteDelete a redirectdestructiveintercom.help_center_redirects.getRetrieve a redirectreadintercom.help_center_redirects.listList all redirects for a help centerread
Tags4
intercom.tags.deleteDelete tagdestructiveintercom.tags.getFind a specific tagreadintercom.tags.listList all tagsreadintercom.tags.upsertCreate or update a tag, Tag or untag companies, Tag contactswrite
Ticket types4
intercom.ticket_types.createCreate a ticket typewriteintercom.ticket_types.getRetrieve a ticket typereadintercom.ticket_types.listList all ticket typesreadintercom.ticket_types.updateUpdate a ticket typewrite
Calls3
intercom.calls.getGet a callreadintercom.calls.listList all callsreadintercom.calls.searchList calls with transcriptsread
Data attributes3
intercom.data_attributes.createCreate a data attributewriteintercom.data_attributes.listList all data attributesreadintercom.data_attributes.updateUpdate a data attributewrite
Data exports3
intercom.data_exports.cancelCancel content data exportdestructiveintercom.data_exports.createCreate content data exportwriteintercom.data_exports.getShow content data exportread
Events3
intercom.events.createSubmit a data eventwriteintercom.events.create_summariesCreate event summarieswriteintercom.events.listList all data eventsread
Messages3
intercom.messages.createCreate a messagewriteintercom.messages.get_whatsapp_statusRetrieve WhatsApp message delivery statusreadintercom.messages.list_statusesGet statuses of all messages sent based on the specified ruleset_idread
Newsfeeds3
intercom.newsfeeds.getRetrieve a newsfeedreadintercom.newsfeeds.listList all newsfeedsreadintercom.newsfeeds.list_itemsList all live newsfeed itemsread
Teams3
intercom.teams.getRetrieve a teamreadintercom.teams.get_metricsRetrieve team metricsreadintercom.teams.listList all teamsread
Visitors3
intercom.visitors.convertConvert a visitordestructiveintercom.visitors.getRetrieve a visitor with User IDreadintercom.visitors.updateUpdate a visitorwrite
Activity logs2
intercom.activity_logs.listList all activity logsreadintercom.activity_logs.searchSearch activity logsread
Article versions2
intercom.article_versions.getRetrieve an article versionreadintercom.article_versions.listList article versionsread
Brands2
intercom.brands.getRetrieve a brandreadintercom.brands.listList all brandsread
Company notes2
intercom.company_notes.createCreate a company notewriteintercom.company_notes.listList all company notesread
Contact notes2
intercom.contact_notes.createCreate a notewriteintercom.contact_notes.listList all notesread
Content2
intercom.content.bulk_actionRun a bulk action on Knowledge Hub contentdestructiveintercom.content.searchSearch knowledge base contentsread
Data connector execution results2
intercom.data_connector_execution_results.getRetrieve an execution resultreadintercom.data_connector_execution_results.listList execution results for a data connectorread
Email settings2
intercom.email_settings.getRetrieve an email settingreadintercom.email_settings.listList all email settingsread
Help centers2
intercom.help_centers.getRetrieve a Help Centerreadintercom.help_centers.listList all Help Centersread
Ip allowlist2
intercom.ip_allowlist.getGet IP allowlist settingsreadintercom.ip_allowlist.replaceUpdate IP allowlist settingsdestructive
Macros2
intercom.macros.getRetrieve a macroreadintercom.macros.listList all macrosread
Reporting data exports2
intercom.reporting_data_exports.enqueueEnqueue a new reporting data export jobwriteintercom.reporting_data_exports.getGet export job statusread
Segments2
intercom.segments.getRetrieve a segmentreadintercom.segments.listList all segmentsread
Ticket type attributes2
intercom.ticket_type_attributes.createCreate a new attribute for a ticket typewriteintercom.ticket_type_attributes.updateUpdate an existing attribute for a ticket typewrite
Activity log event types1
intercom.activity_log_event_types.listList all activity log event typesread
Away status reasons1
intercom.away_status_reasons.listList all away status reasonsread
Jobs1
intercom.jobs.getRetrieve job statusread
Notes1
intercom.notes.getRetrieve a noteread
Phone call redirects1
intercom.phone_call_redirects.createCreate a phone Switchwrite
Reporting datasets1
intercom.reporting_datasets.listList available datasets and attributesread
Subscription types1
intercom.subscription_types.listList subscription typesread
Ticket states1
intercom.ticket_states.listList all ticket statesread
Workflows1
intercom.workflows.exportExport a workflowread
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.
Give your agent Intercom today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.