Agent skill

Intercom Migration Deep Dive

by jeremylongshore in jeremylongshore/tons-of-skills-marketplace

A skill your agent uses when migrating from Zendesk/Freshdesk/HelpScout to Intercom, bulk-importing contacts, or re-platforming to Intercom with the contacts, conversations, and articles APIs.

MITAuto-check passed

Install Intercom Migration Deep Dive

skills CLI
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill intercom-migration-deep-dive -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jeremylongshore/tons-of-skills-marketplace intercom-migration-deep-dive --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/.curated/intercom-migration-deep-dive .claude/skills/intercom-migration-deep-dive && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
intercom-migration-deep-dive
GitHub stars
2.8k
Token cost
~1.7k tokens
SKILL.md length
539 words
Files
2 (incl. references)
Skills in repo
3,342
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when migrating from Zendesk/Freshdesk/HelpScout to Intercom, bulk-importing contacts, or re-platforming to Intercom with the contacts, conversations, and articles APIs.

  • Works in 6 steps: Contacts (Step 1) — idempotent: search… → Companies (Step 2) — import before… → Tags (Step 3) — create each tag, apply… → …
  • Migrating from Zendesk/Freshdesk/HelpScout to Intercom
  • SKILL.md covers Overview, Prerequisites, Authentication and Migration Types, plus 5 more sections
  • Calls npm; needs INTERCOM_ACCESS_TOKEN

What it does

Intercom Migration Deep Dive is an agent skill from jeremylongshore/tons-of-skills-marketplace. Use when migrating from Zendesk/Freshdesk/HelpScout to Intercom, bulk-importing contacts, or re-platforming to Intercom with the contacts, conversations, and articles APIs. Trigger with phrases like "migrate to intercom", "intercom migration", "import contacts to intercom", "switch to intercom", "zendesk to intercom", "intercom data import".

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/implementation.md`). Compatibility notes: Designed for Claude Code

It works with Intercom and Zendesk. The repository describes itself as: Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com. The licence is MIT.

When your agent uses it

  • Migrating from Zendesk/Freshdesk/HelpScout to Intercom
  • Bulk-importing contacts
  • Re-platforming to Intercom with the contacts
  • With phrases like migrate to intercom

Example prompts

  • “migrate to intercom”
  • “intercom migration”
  • “import contacts to intercom”
  • “/intercom-migration-deep-dive”

Requirements

  • Node.js
  • A credential in INTERCOM_ACCESS_TOKEN
  • Compatibility (from SKILL.md): Designed for Claude Code
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Bash(npm:*), Bash(node:*)

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Contacts (Step 1) — idempotent: search by external_id/email, then
  2. Companies (Step 2) — import before attaching contacts; contacts reference
  3. Tags (Step 3) — create each tag, apply to its contacts, skip missing
  4. Articles (Step 4) — group into Help Center collections by category,
  5. Orchestrate (Step 5) — executeMigration(plan) runs companies → contacts
  6. Validate (Step 6) — validateMigration(expectedCounts) compares live

What it can do on your machine

Read from SKILL.md and the folder at commit 80f86df. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Bash(npm:*)
    • Bash(node:*)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • developers.intercom.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • INTERCOM_ACCESS_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Designed for Claude Code

    From compatibility in the SKILL.md frontmatter.

Context cost

Intercom Migration Deep Dive loads about 1.7k tokens when it runs, and up to ~4.3k if it reads all its reference files. Until then it costs about 93 tokens; SKILL.md has 539 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~93
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from jeremylongshore/tons-of-skills-marketplace at commit 80f86df, republished under its MIT licence (© jeremylongshore). 539 words, ~1,732 tokens.

Download SKILL.mdSave it as .claude/skills/intercom-migration-deep-dive/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
intercom-migration-deep-dive
description
Use when migrating from Zendesk/Freshdesk/HelpScout to Intercom, bulk-importing contacts, or re-platforming to Intercom with the contacts, conversations, and articles APIs. Trigger with phrases like "migrate to intercom", "intercom migration", "import contacts to intercom", "switch to intercom", "zendesk to intercom", "intercom data import".
allowed-tools
Read, Write, Edit, Bash(npm:*), Bash(node:*)
compatibility
Designed for Claude Code
version
1.6.0
license
MIT
author
Jeremy Longshore <jeremy@intentsolutions.io>
tags
saas, support, messaging, intercom

Intercom Migration Deep Dive

Overview

Comprehensive guide for migrating to Intercom from other platforms (Zendesk, Freshdesk, HelpScout) or bulk-importing data. Covers contact import, company import, tags, Help Center articles, orchestration, and post-migration validation. The full runnable TypeScript for every phase lives in references/implementation.md; this file carries the workflow and the first-phase skeleton so you can follow it end to end, then drill into the reference for depth.

Prerequisites

  • Intercom workspace with an access token exported as INTERCOM_ACCESS_TOKEN
  • Source system data exported (CSV or API access)
  • The intercom-client SDK installed (npm install intercom-client)
  • Feature flag infrastructure for gradual cutover
  • Rollback strategy tested

Authentication

All scripts read the workspace access token from the environment — never hard-code it. Create the token in the Intercom Developer Hub (Settings → Developers → your app → Authentication), then:

bash
export INTERCOM_ACCESS_TOKEN="your-workspace-access-token"
typescript
import { IntercomClient, IntercomError } from "intercom-client";
const client = new IntercomClient({ token: process.env.INTERCOM_ACCESS_TOKEN! });

Migration Types

TypeComplexityDurationRisk
Contact importLowHoursLow
Zendesk/Freshdesk migrationMedium1-2 weeksMedium
Full re-platform (with history)High2-4 weeksHigh
Help Center migrationMediumDaysLow

Instructions

Run the phases in dependency order. Each phase is a standalone function in references/implementation.md; the orchestrator in Step 5 chains them.

  1. Contacts (Step 1) — idempotent: search by external_id/email, then update or create. Stamp migrated_from + migration_date custom attributes so rollback can find migrated records. Skeleton below.
  2. Companies (Step 2) — import before attaching contacts; contacts reference companies.
  3. Tags (Step 3) — create each tag, apply to its contacts, skip missing (404) contacts instead of aborting.
  4. Articles (Step 4) — group into Help Center collections by category, creating each collection once.
  5. Orchestrate (Step 5) — executeMigration(plan) runs companies → contacts → tags → articles with per-phase progress logging.
  6. Validate (Step 6) — validateMigration(expectedCounts) compares live counts against source counts (95% threshold for contacts/articles).

Contact-import skeleton (full body in the reference):

typescript
async function importContacts(contacts: SourceContact[]) {
  const stats = { created: 0, updated: 0, failed: 0, errors: [] as any[] };
  for (const contact of contacts) {
    const existing = await client.contacts.search({
      query: { operator: "OR", value: [
        { field: "external_id", operator: "=", value: contact.id },
        { field: "email", operator: "=", value: contact.email },
      ] },
    });
    if (existing.data.length > 0) {
      await client.contacts.update({ contactId: existing.data[0].id, /* ...attrs */ });
      stats.updated++;
    } else {
      await client.contacts.create({ role: "user", externalId: contact.id, /* ...attrs */ });
      stats.created++;
    }
  }
  return stats;
}

See references/implementation.md for the complete error handling, rate limiting, company/tag/article functions, orchestrator, and validation code.

Show full SKILL.md (237 more words)Show less

Output

  • Contact import returns { created, updated, failed, errors[] } — a reconciliation record where errors[] carries per-contact { contact_id, email, error } for every failure.
  • Orchestrator (executeMigration) prints a per-phase progress log and a final Migration complete in N minutes line plus the first 10 failed contacts.
  • Validation (validateMigration) returns { passed, checks[] } where each check is { name, expected, actual, passed }, and prints a PASSED/FAILED summary with an OK/FAIL line per resource.

Error Handling

IssueCauseSolution
409 ConflictDuplicate external_id/emailSearch before create
429 Rate LimitedToo fastAdd delays between batches
422 ValidationBad email/data formatValidate data before import
Partial migrationScript crashedUse idempotent operations, re-run
Missing conversationsAPI doesn't support bulk importContact Intercom support for import

Rollback: keep the source system active during migration; only decommission after validation plus a 2-week parallel run. To reverse, search by custom_attributes.migration_date and delete migrated contacts in batches — see the Rollback Procedure in references/implementation.md.

Examples

  • Bulk contact import from Zendesk — export contacts to SourceContact[], run importContacts() (Step 1), then reconcile against the returned errors[]. Full function: references/implementation.md.
  • Full re-platform with history — build a MigrationPlan (contacts, companies, tags, articles) and run executeMigration(plan) (Step 5), then validateMigration(expectedCounts) (Step 6). Full orchestrator + validation: references/implementation.md.
  • Help Center article migration — map categories to collections and run migrateArticles(articles, authorId) (Step 4): references/implementation.md.

Resources

© jeremylongshore, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/.curated/intercom-migration-deep-dive of jeremylongshore/tons-of-skills-marketplace.

  • SKILL.md
  • references/implementation.md

Open the folder on GitHubat commit 80f86df

Compare with similar skills

Intercom Migration Deep Dive next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Intercom Migration Deep Dive compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Intercom Migration Deep Dive this skilljeremylongshore/tons-of-skills-marketplace2.8k—~1.7kAutomated safety check: PassMIT
Adding Inbox SourcesPostHog/posthog40k—~5.3kAutomated safety check: PassCustom licence
Support Ticket Triagecomposio-community/awesome-codex-skills17k—~364Automated safety check: PassNone
Pi Intercomnicobailon/pi-intercom531—~4.3kAutomated safety check: PassMIT
Supporthaacked/dotfiles134—~2.9kAutomated safety check: PassNone
Intercombastani-inc/atomic850—~6.9kAutomated safety check: PassCustom licence

Similar skills

  • Adding Inbox Sources

    PostHog/posthog

    Official

    Add a new warehouse-backed source to the PostHog Desktop Self-driving Inbox (the feature that ships GitHub, Linear, Zendesk, pganalyze, Jira).

    40k GitHub stars~5.3k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Support Ticket Triage

    composio-community/awesome-codex-skills

    Triage customer support tickets/emails/chats into categories, priority, and next action; draft responses and create reproducible steps; use for Zendesk/Intercom/Help Scout exports or pasted threads.

    17k GitHub stars~364 tokensUpdated 2 mo ago
    Sales & SupportAuto-check passed
  • Pi Intercom

    nicobailon/pi-intercom

    Streamline session-to-session coordination with pi-intercom.

    531 GitHub stars~4.3k tokensUpdated 4 days ago
    Agent WorkflowsAuto-check passed
  • Support

    haacked/dotfiles

    Support hero workflow — start a ticket investigation with auto-organized notes, find existing notes, or generate the weekly highlights log.

    134 GitHub stars~2.9k tokensUpdated today
    Sales & SupportAuto-check passed
  • Intercom

    bastani-inc/atomic

    Streamline session-to-session coordination with the intercom extension.

    850 GitHub stars~6.9k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Intercom Automation

    davepoon/buildwithclaude

    Automate Intercom tasks via Rube MCP (Composio): conversations, contacts, companies, segments, admins.

    3.6k GitHub starsUsed in 7 repos~2.5k tokens
    Productivity & AutomationAuto-check passed

More from jeremylongshore/tons-of-skills-marketplace

All 3,342 skills in this repo
  • Performing Security Code Review

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to conduct a security-focused code review using the security-agent plugin.

    2.8k GitHub starsUsed in 2 repos~1.3k tokens
    Auto-check: notes
  • Adapting Transfer Learning Models

    jeremylongshore/tons-of-skills-marketplace

    Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Agent Context Loader

    jeremylongshore/tons-of-skills-marketplace

    Execute proactive auto-loading: automatically detects and loads agents.md files.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Aggregating Performance Metrics

    jeremylongshore/tons-of-skills-marketplace

    Aggregate and centralize performance metrics from applications, systems, databases, caches, and services.

    2.8k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Analyzing Capacity Planning

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to analyze capacity requirements and plan for future growth.

    2.8k GitHub stars~947 tokensUpdated today
    Auto-check passed
  • Analyzing Database Indexes

    jeremylongshore/tons-of-skills-marketplace

    Process use when you need to work with database indexing. An agent skill from jeremylongshore/tons-of-skills-marketplace.

    2.8k GitHub stars~2k tokensUpdated today
    Auto-check passed

Works with

Questions about Intercom Migration Deep Dive

What does Intercom Migration Deep Dive do?

A skill your agent uses when migrating from Zendesk/Freshdesk/HelpScout to Intercom, bulk-importing contacts, or re-platforming to Intercom with the contacts, conversations, and articles APIs. Intercom Migration Deep Dive is an agent skill from jeremylongshore/tons-of-skills-marketplace. Use when migrating from Zendesk/Freshdesk/HelpScout to Intercom, bulk-importing contacts, or re-platforming to Intercom with the contacts, conversations, and articles APIs.

When should I use Intercom Migration Deep Dive?

Intercom Migration Deep Dive fits situations like: migrating from Zendesk/Freshdesk/HelpScout to Intercom; bulk-importing contacts; re-platforming to Intercom with the contacts; with phrases like migrate to intercom.

How do I install Intercom Migration Deep Dive in Claude Code?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill intercom-migration-deep-dive -a claude-code`. Or copy the skill folder (skills/.curated/intercom-migration-deep-dive in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/intercom-migration-deep-dive in your project. Claude Code loads it when a task matches its description.

How do I install Intercom Migration Deep Dive in Codex?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill intercom-migration-deep-dive -a codex`. Or copy the skill folder (skills/.curated/intercom-migration-deep-dive in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/intercom-migration-deep-dive in your project. Codex loads it when a task matches its description.

Can I use Intercom Migration Deep Dive in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill intercom-migration-deep-dive -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/intercom-migration-deep-dive, .gemini/skills/intercom-migration-deep-dive, .github/skills/intercom-migration-deep-dive and .opencode/skills/intercom-migration-deep-dive in your project.

What does Intercom Migration Deep Dive need to run?

Going by SKILL.md and its folder, Intercom Migration Deep Dive needs the command-line tools its instructions call (npm) and credentials named INTERCOM_ACCESS_TOKEN. Our summary lists: Node.js; A credential in INTERCOM_ACCESS_TOKEN. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash(npm:*), Bash(node:*). Compatibility (from SKILL.md): Designed for Claude Code.

Does Intercom Migration Deep Dive access the network?

SKILL.md names 1 domain. As links in the text: developers.intercom.com. This is read from the text; nothing was executed.

Is Intercom Migration Deep Dive safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Intercom Migration Deep Dive use?

Intercom Migration Deep Dive is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Intercom Migration Deep Dive use?

About 1.7k tokens (SKILL.md is roughly 6.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.5k tokens, read only when the agent opens those files.

What are the alternatives to Intercom Migration Deep Dive?

Skills that share tags, products or a category with Intercom Migration Deep Dive: Adding Inbox Sources (PostHog/posthog, 40k stars), Support Ticket Triage (composio-community/awesome-codex-skills, 17k stars), Pi Intercom (nicobailon/pi-intercom, 531 stars) and Support (haacked/dotfiles, 134 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Intercom Migration Deep Dive?

jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,825 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 9, 2026.

Source: jeremylongshore/tons-of-skills-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.