crmoauth2

Intercom

Customer messaging and support.

Verdict

Intercom via MCP is the integration that lets the model see customer conversations, search support history, and (with care) draft replies. Useful when your customer-support volume is high enough that AI summarisation actually saves time. What we notice: read operations are the immediate win — searching across conversations, finding when a customer last contacted support, summarising an open ticket queue. The model can spot patterns ("five customers asked about X this week") that you'd miss without a tool. Reply drafting works for first-pass answers; sending without review is risky for anything more nuanced than basic FAQ. Best for: support team summaries and triage (what's open, what's escalated, what should we proactively notice); customer-context lookups during a sales or success call ("what's their support history, what's open"); identifying recurring issues that should become docs or product fixes. Avoid for: unreviewed customer-facing reply sending (use Intercom's own AI features for that, with their guardrails); workflows that need real-time conversation handoff (the MCP is request/response, not streaming); compliance-strict deployments where AI access to support content needs auditing. Practical frame: paid Intercom plan required; OAuth integration. Token cost depends heavily on conversation volume — summarising a busy support queue can run $0.20-1.00 in tokens, recovered in time saved.

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 collection
    destructive

    You can delete a single collection by making a delete request to `https://api.intercom.io/collections/<id>`.

  • Delete a company
    destructive

    You can delete a single company.

  • Delete a contact
    destructive

    You can delete a single contact.

  • Delete an article
    destructive

    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 contact
    destructive

    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 contact
    destructive

    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

  1. 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

Not enough Spaces yet to publish anonymised usage stats (we require ≥ 50 Spaces per week).

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 question
Open 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 one
Open 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 solved
Open 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 instructions
Open 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 weeks
Open in a Space →

Example outputs

Illustrative - representative of the model's voice and quality, not literal recordings.

Prompt

@intercom show me all open conversations assigned to the support team that have been waiting more than 48 hours

Output

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.

Notes

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.

Prompt

@intercom assign conversation 789456123 to admin Jessica and add a note saying we're escalating this to engineering for the database timeout issue

Output

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.

Notes

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.

Prompt

@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

Output

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.

Notes

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

Support handoff at 10-person SaaS

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.

Customer success contact enrichment

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.

Help center article publishing workflow

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.

Compare with

Compare with anything else →
Data last verified 7 hours ago.Sources aggregated hourly to weekly. See docs/architecture/model-directory.md.