| name | intercom-core-workflow-b |
| description | Manage Intercom conversations: create, reply, close, snooze, assign, and tag.
Use when building conversation management features, automating replies,
or implementing support workflow automation.
Trigger with phrases like "intercom conversations", "intercom reply",
"intercom assign conversation", "intercom close conversation",
"intercom snooze", "manage intercom conversations".
|
| allowed-tools | Read, Write, Edit, Bash(npm:*), Grep |
| version | 1.6.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","support","messaging","intercom"] |
| compatibility | Designed for Claude Code |
Intercom Conversations & Messaging
Overview
Manage the full conversation lifecycle: create, reply (as admin or contact), assign to teams, close, snooze, and tag. Conversations contain threaded "parts" including messages, notes, and assignments.
This SKILL.md gives you the high-level workflow and the essential skeleton. The complete step-by-step code for all seven operations lives in references/implementation.md; realistic end-to-end scenarios are in references/examples.md.
Prerequisites
- Completed
intercom-install-auth setup (provides the INTERCOM_ACCESS_TOKEN)
- Admin ID (from
client.admins.list())
- Contact IDs for conversation participants
Authentication
All calls authenticate with a bearer access token supplied to the SDK client โ see intercom-install-auth for how to obtain and store it. Read it from the environment, never hard-code it:
import { IntercomClient } from "intercom-client";
const client = new IntercomClient({
token: process.env.INTERCOM_ACCESS_TOKEN!,
});
The raw run_assignment_rules endpoint (Step 3) uses the same token as an Authorization: Bearer header.
Instructions
The workflow is seven operations against client.conversations.*. Reach for the one you need โ they are independent once you have a conversation ID.
- Create โ
conversations.create({ from, body }) opens a conversation from a contact and returns its conversationId.
- Reply โ
conversations.reply(...) adds a part. type: "admin" is customer-visible, type: "note" is internal-only, type: "user" is a contact reply.
- Assign โ
conversations.assign(...) routes to an admin (type: "admin") or team (type: "team"); or POST for auto-routing.