| name | intercom-core-workflow-a |
| description | Manage Intercom contacts: create, search, update, merge leads into users.
Use when building contact management features, syncing user data, or implementing contact search and segmentation against the Intercom REST API.
Trigger with phrases like "intercom contacts", "intercom users", "intercom leads", "create intercom contact", "search intercom contacts", "merge intercom lead".
|
| 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 Contacts & Contact Management
Overview
Primary workflow for managing Intercom contacts. Covers creating users and leads, searching with filters, updating custom attributes, merging leads into users, and listing segments. This SKILL.md gives you the high-level workflow and the first example; drill into references/implementation.md for the full step-by-step code and references/examples.md for end-to-end flows.
Prerequisites
- Completed
intercom-install-auth setup
- Understanding of Intercom contact model (users vs leads)
- Valid API credentials with contacts read/write scope
Instructions
The contact workflow is six operations against the intercom-client SDK. Instantiate the client once, then call the operation you need:
import { IntercomClient } from "intercom-client";
const client = new IntercomClient({
token: process.env.INTERCOM_ACCESS_TOKEN!,
});
const user = await client.contacts.create({
role: "user",
externalId: "customer-9001",
email: "alice@acme.com",
name: "Alice Johnson",
customAttributes: { plan: "enterprise" },
});
The six operations, in the order you typically reach for them:
- Create contacts —
contacts.create with role: "user" (identified, needs externalId) or role: "lead" (anonymous).
- Search contacts — with a single filter or a compound / query, plus pagination and sort.