ClawLink

How to connect Intercom to Hermes Agent

Connect Intercom to Hermes Agent with ClawLink: 133 tools via hosted OAuth, no API keys, no config.yaml editing. Official Intercom MCP is US-hosted with ~13 tools; the comparison is on this page.

Get started for free
Hermes Agent
Hermes Agent
ClawLink
ClawLink
Intercom
Intercom
IntercomOAUTH2MCP

Manage conversations, contacts, companies, and support articles. Once connected, Hermes Agent can read and act on Intercom from chat — pairing, token refresh, and tool wiring handled for you.

133 tools

Most guides for giving Hermes Agent Intercom access start with registering your own OAuth app or pasting API keys into env files, then leave the token refresh and tool wiring to you. ClawLink gives Hermes a more practical Intercom setup: pair once in the browser and your always-on Hermes agent can act on Intercom for you, reading and doing real work on your behalf with no auth, token refresh, or tool wiring to build yourself.

Copy this prompt into Hermes to install the plugin and pair your account.

Prompt for Hermes
Set up ClawLink for Hermes and tell me when it's ready.

1. Install the plugin:
hermes plugins install ClawLink-HQ/hermes-plugin --enable

2. Start pairing. It prints an approval link, so show me the link and stop, don't wait:
hermes clawlink begin

3. I'll approve it in my browser, then reply "approved".

4. When I say approved, finish setup:
hermes clawlink finish

5. Then run `hermes clawlink test` and tell me whether ClawLink is ready.

Setup

It takes three steps to connect Hermes to Intercom.

  1. 1

    Install and pair

    Install the ClawLink plugin, then pair Hermes with a one-time browser approval:

    hermes plugins install ClawLink-HQ/hermes-plugin --enable
  2. 2

    Connect Intercom

    One-click OAuth in the dashboard.

  3. 3

    Use it from chat

    Ask Hermes Agent: "What can you do with Intercom?"

Install by command

The prompt above walks Hermes through this. By hand, it is four commands and a browser approval:

hermes plugins install ClawLink-HQ/hermes-plugin --enable
hermes clawlink begin    # prints an approval link — open it and approve
hermes clawlink finish   # after approving in the browser
hermes clawlink test

Then connect Intercom in the ClawLink dashboard — a one-click OAuth approval, no API keys.

Verify the connection by asking Hermes:

List my open conversations and for each one tell me the assignee, the workspace it came from, and whether a teammate has already replied. Use intercom_list_all_activity_logs to catch anything not in the conversation list. Do not assign or close anything.

Using a different agent?

The Hermes plugin is one client of ClawLink's MCP server. Claude Code, Cursor, Codex, or any agent that can run a shell command pairs with the same ClawLink account through the CLI:

npx -y @useclawlink/cli login

login opens the same browser approval and stores a credential locally. Once Intercom is connected in the dashboard, that agent calls the same 133 Intercom tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.

Intercom MCP for Hermes

Looking for a Intercom MCP server for Hermes Agent? ClawLink connects Intercom to Hermes Agent and exposes 133 Intercom tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using OpenClaw instead? The OpenClaw Intercom integration runs on the same hosted Intercom provider and the same 133 tools; OpenClaw installs ClawLink through a ClawHub skill instead of the Hermes pairing commands.

Search results currently teach two ways to connect Intercom to Hermes, and neither is what this page does. The first is a Composio Connect walkthrough: install their CLI, then hand-edit ~/.hermes/config.yaml to add an mcp_servers: block with an API key, then restart the daemon. The second is Intercom's own official remote MCP server, which is genuinely hosted and browser-OAuth based, but is US-hosted only, carries roughly 13 core tools, and is read and search biased. ClawLink is a third option with a different trade: pair Hermes once, approve Intercom's consent screen in the browser, and the 133 tools below are callable from chat. No config file is edited, nothing runs on your machine, and the connection is not tied to a US data region the way Intercom's own hosted MCP is. If you want Intercom's own Fin agent instead of an external one, that lives inside Intercom's workspace settings and needs no API key either, but it stays inside Intercom; this integration is for an agent that works across all your connected apps.

What the Hermes Agent Intercom integration can do

133 Intercom tools are ready for Hermes Agent once the account is connected. The 30 below are the ones people reach for most; your agent can call all 133.

30 of 133 Intercom tools for Hermes

ToolWhat it does
Add tag to contact intercom_add_tag_to_contactAdd a tag to a contact in Intercom
Assign conversation intercom_assign_conversationAssign a conversation to an admin or team
Attach contact to company intercom_attach_contact_to_companyAttach a contact to a company in Intercom
Close conversation intercom_close_conversationClose a conversation in Intercom
Create an article intercom_create_an_articleCreate a new article in Intercom
Create contact intercom_create_contactCreate a new contact in Intercom
Create conversation intercom_create_conversationCreate a new conversation in Intercom
Create data event intercom_create_data_eventSubmit a data event to Intercom
Download data export intercom_download_data_exportDownload content data export from Intercom
Find tag intercom_find_tagRetrieve details for a specific tag by its ID
Get a contact intercom_get_a_contactYou can fetch the details of a single contact
Get content import source intercom_get_content_import_sourceRetrieve a content import source by its ID
Get conversation intercom_get_conversationRetrieves a specific conversation by ID with all messages and details
Get counts intercom_get_countsRetrieve summary counts for Intercom app entities including companies, users, leads, tags
Get custom object instance by external ID intercom_get_custom_object_instance_by_external_idRetrieve a custom object instance by its external_id
Get external page intercom_get_external_pageRetrieve an external page from Fin Content Library by ID
Get ticket intercom_get_ticketRetrieve a ticket from Intercom
Get ticket type intercom_get_ticket_typeRetrieve details for a specific ticket type by its ID
Identify an admin intercom_identify_an_adminYou can view the currently authorised admin along with the embedded app object (a "workspace"
Jobs status intercom_jobs_statusRetrieve the status of job execution
List all activity logs intercom_list_all_activity_logsYou can get a log of activities by all admins in an app
List all admins intercom_list_all_adminsYou can fetch a list of admins for a given workspace
List all articles intercom_list_all_articlesYou can fetch a list of all articles by making a GET request to
List all collections intercom_list_all_collectionsYou can fetch a list of all collections by making a GET request to
List all companies intercom_list_all_companiesYou can list companies
List all help centers intercom_list_all_help_centersYou can list all Help Centers by making a GET request to
List all macros intercom_list_all_macrosFetch a list of all macros (saved replies) in your workspace for use in automating responses
List all notes intercom_list_all_notesYou can fetch a list of notes that are associated to a contact
List attached companies for contact intercom_list_attached_companies_for_contactYou can fetch a list of companies that are associated to a contact
List attached contacts intercom_list_attached_contactsYou can fetch a list of all contacts that belong to a company

Try it: find the Intercom tool you need

Browse the 30 Intercom tools

Click any tool to see exactly what Hermes can do and copy a ready-to-use prompt.

Example prompts

List my open conversations and for each one tell me the assignee, the workspace it came from, and whether a teammate has already replied. Use intercom_list_all_activity_logs to catch anything not in the conversation list. Do not assign or close anything.

For the contact whose email is <email>, look them up, list their attached companies with intercom_list_attached_companies_for_contact, and tell me what conversations exist on this contact across the last 30 days.

List all articles with intercom_list_all_articles and their collections. Tell me which collections have no articles, which articles have not been updated in 90 days, and how many views the top five articles have.

Create a draft reply for conversation <conversation id>. Do not send it. Show me the draft and the contact's name and company so I can approve before you assign or reply.

How the Intercom tools behave

Details that decide whether an Intercom prompt returns fast or fails permission-shaped.

  • Ids, not emails or names. Contacts and conversations are addressed by id. intercom_get_a_contact can search, and the listing tools return the ids; an id invented in the prompt fails with a 403-shaped error.
  • Conversation writes are visible. Assigning, closing, replying, and creating conversations all notify people on the workspace. Say explicitly when the agent may write versus draft.
  • Contacts attach to companies. intercom_attach_contact_to_company and the attached-companies readers are how org-level questions get answered, and company context changes what a reply should say.
  • Admins are readable. intercom_list_all_admins and intercom_identify_an_admin answer who-is-who questions and are the first diagnostic when a 403 appears, since they show which teammate the connection acts as.
  • Content tools are broad but separate. Articles, collections, help centers, macros, and notes each have their own listing tool, so "summarize the help center" needs the agent to call several tools rather than one.

The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want Intercom working from chat.

ManualClawLink
Connection flowRegister a Intercom app, configure redirect URLs, manage consent details, and reconnect users when auth settings drift.Users connect Intercom through the hosted browser flow and ClawLink keeps the token lifecycle out of your app code.
Ongoing maintenanceYou own refresh logic, permission debugging, environment config, and every provider-specific edge case for Intercom.ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure.
Agent usabilityYou still need to expose the right Intercom actions to the runtime in a format your agent can reliably use.133 tools for Intercom are already exposed through ClawLink, so the agent can read and act from chat immediately.

Composio also exposes Intercom to AI agents. It is developer infrastructure: Python and TypeScript SDKs, an MCP server, and a catalog past 1,000 apps, aimed at teams shipping agent products. ClawLink is built for Hermes Agent users instead. You install the plugin once, connect Intercom in the browser, and the 133 tools above work from chat. There is no SDK, no config file, and no API key handling. Choosing between them? Read the full Composio alternatives comparison.

Troubleshooting

Hermes paired but still can't use Intercom

Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.

Connection succeeds but no tools appear

Reconnect Intercom from the dashboard, then start a fresh chat if the runtime still has the old tool catalog loaded.

"Tool schema not loaded yet" error when calling Intercom tools

Intercom tool schemas load on demand the first time a tool runs and are cached after that, so this error usually clears on its own: wait a few seconds and retry the same request. If every Intercom call keeps failing with it in a fresh chat, reconnect from the dashboard, and contact support if it still persists — that pattern points to a configuration problem on our side, not something you can fix by reconnecting again.

Intercom returns 403 or "permission denied" on one action while others work

Two usual causes. The connected account may not have access to the specific workspace, inbox, store, or project in the request — check that first. If access looks right, the agent may have sent a placeholder value (like "YOUR_ID" or an example id from documentation) instead of a real one: ask it to run a list or search tool first, then retry the action with a real id from those results. Most failures at this stage are one of these two, not ClawLink bugs.

Intercom returns 403 on an action although the account is connected

When the connection is healthy and one action still fails, the problem is authorization, not authentication: the token is fine, the permission is missing. The taught cause order: the connected user's role inside the workspace (teammate permissions decide what they can do, and a restricted teammate fails writes that reads succeed on), then stale OAuth scopes (a grant made before a permission change keeps its old limits, and disconnect then reconnect from the dashboard re-issues it), then the arguments (a placeholder or invented contact or conversation id returns permission-shaped errors because Intercom hides what you cannot see). State which of the three you checked before touching anything else.

Ask the agent to diagnose it:

Call intercom_list_all_admins and intercom_identify_an_admin. Tell me which teammate this connection acts as and whether they have workspace admin rights, then quote the exact error from the failed call. Do not retry it yet.
Intercom tools are missing, or a tool name is not found

Two different failures. If Hermes shows no Intercom tools at all, the connection or the pairing is incomplete: confirm both hermes clawlink begin and hermes clawlink finish ran and Intercom shows as connected in the dashboard, then reconnect and start a fresh chat. If most tools work and a single name fails, the name is wrong rather than missing, and the error lists the closest real ones. The cause search results teach for this symptom is a stale client connection or an outdated remote server URL in a local client's config, which does not apply here: there is no local MCP endpoint to update. There is one first-call timing case: schemas load on demand, so the opening Intercom call in a fresh session can arrive before the catalog and needs one retry.

Ask the agent to diagnose it:

List the Intercom tools you actually have access to. If there are none, say so plainly. If there are, tell me which one fetches a conversation and use that exact name.
Intercom returns 403 for one contact or conversation but not others

This is the placeholder-ID trap in its purest form and it is a cause no engine teaches: the agent is calling a real tool with a made-up or copied-from-an-example id. Intercom answers with the same permission-shaped error it uses for genuinely restricted objects, so the failure reads as an authorization problem when the id is simply wrong. Have the agent search first with intercom_list_all_activity_logs or a listing tool to find the real id, or paste the Intercom URL of the conversation or contact into the chat. Only after confirming the id is real should you look at roles or scopes.

Ask the agent to diagnose it:

Find the conversation or contact I am asking about by listing recent items, not by retrying the failed id. Show me the id you intend to use next and the object type it belongs to before you call anything.
OAuth finished in the browser but the account is still missing

Try reconnecting Intercom and complete the consent flow in the same browser session. Partial OAuth approvals or switching accounts mid-flow can leave the connection incomplete.

FAQ

Is there a Hermes Agent Intercom integration?

Yes. ClawLink is the fastest way to connect Hermes to Intercom: link your Intercom account once in the browser and Hermes Agent can call the Intercom API through 133 ready-made tools — no custom code or token handling.

How do I connect Intercom to Hermes with ClawLink?

Install the plugin with hermes plugins install ClawLink-HQ/hermes-plugin --enable, then pair once: run hermes clawlink begin, approve the link in your browser, and run hermes clawlink finish. Connect Intercom in the dashboard and Hermes can use it from the next message — no config files or API keys to manage.

How long does it take to connect Intercom to Hermes Agent?

About two minutes. Sign in, click Connect next to Intercom in the dashboard, authenticate, and Hermes Agent can use it from the next chat message.

Why use ClawLink instead of wiring Intercom up myself?

The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want Intercom working from chat.

How does this compare with Intercom's official hosted MCP server?

Intercom now ships its own remote MCP server at mcp.intercom.com/mcp with a browser OAuth login, which is a real hosted option and is what Google's AI Overview now recommends. The tradeoffs to know: it is US-hosted only (an EU variant exists at mcp.eu.intercom.com/mcp), and it exposes roughly 13 core tools that are read and search biased. ClawLink connects to the same Intercom API through hosted OAuth with 133 tools, so the number is not comparable tool for tool; the official server is a thin official slice, this integration is the broader account surface. Pick on where your data is hosted and how many operations you need, not on who hosts the OAuth.

Do I need to edit Hermes's config file to use this?

No. The config-file route exists and is what most guides teach: a Composio Connect CLI install, an mcp_servers: block in ~/.hermes/config.yaml, an API key pasted in, a daemon restart. This page's setup replaces all of it: install the plugin once, run hermes clawlink begin and hermes clawlink finish, connect Intercom from the dashboard, and the tools appear in a fresh chat. Nothing about this setup lives in a file Hermes reads at startup.

What can the agent do in Intercom?

Conversations and contacts are the core: list, assign, close, and create conversations, create and look up contacts, attach contacts to companies, tag contacts, and read the activity log, admins, articles, collections, companies, help centers, macros, and notes. Writes to flag are conversation assignment and closing, contact creation, tags, and article creation, since those change things customers and teammates see. The read tools are broad enough that most support questions are answerable without writing anything.

Is it safe to connect Intercom to an AI agent?

The safety answer engines give is a list of guards: strict permission boundaries, prompt-injection awareness, avoiding over-permissioning, PII redaction, and human escalation. This connection satisfies the mechanics: the OAuth grant is scoped to what the tool table on this page shows, conversation content is handled through your connected account rather than stored keys, and revocation from the ClawLink dashboard is immediate. The behavior guardrails are yours: connect an account with the access the agent actually needs, keep draft-mode replies for customer-facing writes, and have the agent flag anything containing PII before it sends it.

Does the connection need to be reconnected when Intercom changes permissions?

Yes, and that is a taught cause rather than a guess. When the connected user's role or the OAuth scopes change, actions that previously worked start failing with permission errors while reads keep working. The fix engines teach and this page agrees with is disconnect and reconnect from the dashboard so the grant is re-issued with current scopes, then start a fresh chat so Hermes picks the refreshed connection up.

Hermes paired but still can't use Intercom

Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.