Intercom
Customer messaging and support.
Verdict
Common use cases
- Triage support tickets during team standups
- Log customer call notes to contact records
- Assign urgent conversations to on-call agents
- Draft help articles from recurring questions
- Tag high-value accounts after sales calls
Integration
- Vendor
- Intercom
- Category
- crm
- Auth
- OAUTH2
- Tools
- 50
- Composio slug
intercom
Tools
- Add subscription to a contact
You can add a specific subscription to a contact. in intercom, we have two different subscription types based on user consent - opt-out and opt-in: 1.attaching a contact to an opt-out subscription type will opt that user out from receiving
- Add tag to a contact
You can tag a specific contact. this will return a tag object for the tag that was added to the contact.
- Assign conversation
Assigns a conversation to a specific admin or team in intercom
- Attach a contact to a company
You can attach a company to a single contact.
- Close conversation
Closes a conversation in intercom, marking it as resolved
- Create a collection
You can create a new collection by making a post request to `https://api.intercom.io/help center/collections.`
- Create an article
You can create a new article by making a post request to `https://api.intercom.io/articles`.
- Create a note
You can add a note to a single contact.
- Create conversation
Creates a new conversation in intercom
- Create or update a company
You can create or update a company. companies will be only visible in intercom when there is at least one associated user. companies are looked up via `company id` in a `post` request, if not found via `company id`, the new company will be
- Delete a collectiondestructive
You can delete a single collection by making a delete request to `https://api.intercom.io/collections/<id>`.
- Delete a companydestructive
You can delete a single company.
- Delete a contactdestructive
You can delete a single contact.
- Delete an articledestructive
You can delete a single article by making a delete request to `https://api.intercom.io/articles/<id>`.
- Detach a contact from a company
You can detach a company from a single contact.
- Get a contact
You can fetch the details of a single contact.
- Get conversation
Retrieves a specific conversation by id with all messages and details
- Identify an admin
You can view the currently authorised admin along with the embedded app object (a "workspace" in legacy terminology). > 🚧 single sign on > > if you are building a custom "log in with intercom" flow for your site, and you call the `/me` end
- List all activity logs
You can get a log of activities by all admins in an app.
- List all admins
You can fetch a list of admins for a given workspace.
- List all articles
You can fetch a list of all articles by making a get request to `https://api.intercom.io/articles`. > 📘 how are the articles sorted and ordered? > > articles will be returned in descending order on the `updated at` attribute. this means if
- List all collections
You can fetch a list of all collections by making a get request to `https://api.intercom.io/help center/collections`. collections will be returned in descending order on the `updated at` attribute. this means if you need to iterate through
- List all companies
You can list companies. the company list is sorted by the `last request at` field and by default is ordered descending, most recently requested first. note that the api does not include companies who have no associated users in list respons
- List all help centers
You can list all help centers by making a get request to `https://api.intercom.io/help center/help centers`.
- List all notes
You can fetch a list of notes that are associated to a contact.
- List attached companies for contact
You can fetch a list of companies that are associated to a contact.
- List attached contacts
You can fetch a list of all contacts that belong to a company.
- List attached segments for companies
You can fetch a list of all segments that belong to a company.
- List attached segments for contact
You can fetch a list of segments that are associated to a contact.
- List conversations
Lists conversations from intercom with filtering and pagination support
- List subscriptions for a contact
You can fetch a list of subscription types that are attached to a contact. these can be subscriptions that a user has 'opted-in' to or has 'opted-out' from, depending on the subscription type. this will return a list of subscription type ob
- List tags attached to a contact
You can fetch a list of all tags that are attached to a specific contact.
- Merge a lead and a user
You can merge a contact with a `role` of `lead` into a contact with a `role` of `user`.
- Remove subscription from a contactdestructive
You can remove a specific subscription from a contact. this will return a subscription type model for the subscription type that was removed from the contact.
- Remove tag from a contactdestructive
You can remove tag from a specific contact. this will return a tag object for the tag that was removed from the contact.
- Reopen conversation
Reopens a closed conversation in intercom
- Reply to conversation
Sends a reply to an existing conversation in intercom
- Retrieve a collection
You can fetch the details of a single collection by making a get request to `https://api.intercom.io/help center/collections/<id>`.
- Retrieve a company by id
You can fetch a single company.
- Retrieve a help center
You can fetch the details of a single help center by making a get request to `https://api.intercom.io/help center/help center/<id>`.
- Retrieve an admin
You can retrieve the details of a single admin.
- Retrieve an article
You can fetch the details of a single article by making a get request to `https://api.intercom.io/articles/<id>`.
- Retrieve companies
You can fetch a single company by passing in `company id` or `name`. `https://api.intercom.io/companies?name={name}` `https://api.intercom.io/companies?company id={company id}` you can fetch all companies and filter by `segment id` or `tag
- Scroll over all companies
The `list all companies` functionality does not work well for huge datasets, and can result in errors and performance problems when paging deeply. the scroll api provides an efficient mechanism for iterating over all companies in a dataset.
- Search conversations
Searches for conversations using query string with support for filtering and sorting
- Search for articles
You can search for articles by making a get request to `https://api.intercom.io/articles/search`.
- Set an admin to away
You can set an admin as away for the inbox.
- Update a collection
You can update the details of a single collection by making a put request to `https://api.intercom.io/collections/<id>`.
- Update a company
You can update a single company using the intercom provisioned `id`. {% admonition type="attention" name="using `company id`" %} when updating a company it is not possible to update `company id`. this can only be set once upon creation of t
- Update a contact
You can update an existing contact (ie. user or lead).
Setup
Setup guide
- 11. In Switchy, open your workspace settings and navigate to the Integrations tab. 2. Find Intercom in the MCP directory and click Connect. 3. You'll be redirected to Intercom's OAuth consent screen — sign in with an admin account that has permissions for conversations, contacts, help center, and tags. 4. Review the requested scopes (read and write access to conversations, contacts, articles, notes, tags, and companies) and click Authorize. 5. Switchy will confirm the connection and display a green checkmark next to Intercom. 6. Open any Space, type '@Intercom list my open conversations' and send the message. 7. The MCP should return a list of active threads — if you see results, the connection works. 8. To invoke other tools, @mention Intercom followed by your request (e.g. '@Intercom assign conversation 12345 to Sarah' or '@Intercom add tag vip-customer to contact jane@example.com').
What teammates see: by default, memories from Intercom are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Spaces have used this MCP together with a given model.
How Switchy teams use it
Starter prompts
Assign Open Conversations
@Intercom list all open unassigned conversations from the last 24 hours, then assign each one to the team member whose expertise matches the customer's questionOpen in a Space →
Tag Contacts by Segment
@Intercom find all contacts mentioned in this conversation who work at enterprise accounts, then add the tag 'enterprise-user' to each oneOpen in a Space →
Close Resolved Tickets
@Intercom show me conversations marked waiting-on-customer for more than 5 days, then close any where the last message indicates the issue is solvedOpen in a Space →
Draft Help Article
@Intercom read conversation 98765, extract the problem and solution, then create a new article in the Troubleshooting collection with a clear title and step-by-step instructionsOpen in a Space →
Log Call Notes
@Intercom add a note to contact sarah@acme.com summarizing today's call: discussed Q1 renewal, flagged billing question, next follow-up in two weeksOpen in a Space →
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@intercom show me all open conversations assigned to the support team that have been waiting more than 48 hours
Found 7 conversations matching your criteria. The oldest is from Sarah Chen (ID: 5f2a3b1c) opened 73 hours ago about billing discrepancies. Next is Marcus Rodriguez (ID: 5f2a3b2d) at 68 hours regarding API rate limits. Three conversations are in the 50-60 hour range covering onboarding questions, and two more at 49 hours about feature requests. All are currently assigned to the support team with 'open' status.
This read-heavy example demonstrates conversation filtering and sorting capabilities. Requires OAuth scope for reading conversations and team assignments. Response structure depends on your Intercom workspace's conversation volume and tagging conventions. Rate limits apply to bulk conversation queries.
@intercom assign conversation 789456123 to admin Jessica and add a note saying we're escalating this to engineering for the database timeout issue
Conversation 789456123 has been reassigned to Jessica Martinez (admin ID: 2847391). Added internal note: 'Escalating to engineering for database timeout issue.' The conversation status remains open, and Jessica will receive a notification about the new assignment. The note is visible only to your team, not to the end user.
This action example shows how the MCP can modify conversation state and add internal context. Requires OAuth scopes for conversation assignment and note creation. Changes are immediate and trigger Intercom notifications. Always verify admin names/IDs exist in your workspace before bulk operations.
@intercom review all conversations tagged 'feature-request' from the last week and draft a summary of the top 3 most-mentioned features for our product roadmap meeting
Analyzed 23 conversations tagged 'feature-request' from the past 7 days. Top requests: (1) Bulk export functionality — mentioned in 9 conversations, users want CSV/Excel export for reports. (2) Slack integration — 6 conversations requesting two-way sync with Slack channels. (3) Custom dashboard widgets — 5 conversations asking for configurable analytics views. Common pain point across all three: current workarounds feel manual and time-consuming. Recommend prioritizing bulk export given highest volume and clearest use case.
This synthesis example pairs Intercom data retrieval with AI reasoning to extract patterns. Requires read access to conversations and tags. The AI's summary reflects conversation content it can access, but won't capture nuance from attachments or voice calls. Best used for directional insights, not precise metrics.
Use-case deep-dives
When Intercom MCP beats manual ticket assignment
A 10-person SaaS team runs support through Intercom but triages in Slack. Without this MCP, someone copies ticket URLs into Slack, another person manually assigns in Intercom, and context gets lost. With the MCP, your AI workspace can assign conversations, add tags, and attach notes directly from the triage thread. The assign and tag tools handle 80% of handoff work. This wins when your team closes 50+ tickets a week and assignment logic is simple (round-robin or skill-based). If you need complex SLA routing or multi-brand workflows, Intercom's native automations are still faster. For straightforward handoff at small scale, this MCP cuts 15 minutes per day of tab-switching.
Using Intercom MCP for account context updates
A 6-person customer success team manages 200 accounts and tracks expansion signals in Intercom contacts. They spot upsell triggers in calls or emails, then manually update contact fields and company attachments. The MCP's attach-contact-to-company and add-note tools let your AI workspace write those updates from a shared doc or meeting transcript. This works when your CS motion is high-touch and you're updating 10-20 contacts a day. OAuth2 auth means each person's updates show their name in Intercom's audit log. The threshold: if you're syncing CRM data bidirectionally or running bulk enrichment, use Intercom's API directly or a dedicated iPaaS. For ad-hoc updates from team conversations, this MCP saves 30 seconds per contact.
When Intercom MCP fits documentation sprints
A 4-person product team writes help articles in Notion, then someone copies them into Intercom's help center manually. The MCP's create-article and create-collection tools let your AI workspace push finished drafts directly from the doc tool. This wins during documentation sprints (onboarding a new feature, annual help center refresh) when you're publishing 10+ articles in a week. The 50-tool scope includes subscription management and conversation tools you won't use here, but OAuth2 means each writer's articles show correct authorship. If you're publishing one article a month, the manual flow is fine. If you're running quarterly doc sprints or your support team writes 5+ articles a week, this MCP cuts 10 minutes per article and keeps your help center current.
Frequently asked
What can Switchy do with Intercom MCP?
Switchy can manage your Intercom conversations, contacts, and help center content. The MCP lets you assign conversations to admins, tag contacts, add notes, create articles and collections, and update subscription preferences. It's useful for support teams who want AI to handle routine customer data tasks without switching between tools.
What OAuth scopes does Intercom MCP request?
Intercom uses OAuth2 and requests broad workspace access to read and write conversations, contacts, tags, companies, articles, and subscriptions. You'll need admin-level permissions in your Intercom workspace to authorize the connection. The MCP can't selectively limit scopes—it's all or nothing based on what Intercom's API allows.
Can Intercom MCP send messages to customers?
No. The MCP can assign conversations, close them, and add internal notes, but it doesn't include tools to send outbound messages or replies to customers. If you need to draft responses, you'd do that in Intercom directly or use Intercom's separate messaging API outside of this MCP.
Why use Intercom MCP instead of Intercom's web app?
The MCP is faster for repetitive admin tasks like bulk tagging contacts, assigning conversations based on keywords, or creating help articles from existing docs. You stay in Switchy's AI workspace instead of clicking through Intercom's UI. For one-off customer replies or complex workflow automation, Intercom's app or API is still better.
Who on my team should connect Intercom MCP?
Whoever has admin access to your Intercom workspace and manages support operations. Since the MCP can modify contacts, close conversations, and edit help center content, you want someone who understands your support workflows. One connection works for the whole Switchy team—individual users don't need separate Intercom logins.