Macha

How Do You Migrate from Zendesk to Intercom? 3 Routes and What Breaks (2026)

Abbas, Customer Support & AI, Macha

Written by

Ankeet Guha, Co-founder & CTO, Macha

Reviewed by

Published September 25, 2026

Intercom's built-in Zendesk importer moves users, organizations and tickets for accounts under 150,000 tickets, but it skips tags, side conversations and call recordings and runs all or nothing. Bigger or pickier moves go through a migration service or your own scripts, and help center articles always travel on a separate path.

Key takeaways

  • Intercom's built-in Zendesk importer, at Settings > Data > Imports & exports, suits accounts with fewer than 150,000 tickets and moves users, organizations, tickets, notes and attachments.
  • Intercom's Zendesk importer cannot migrate tags, side conversations or call recordings, caps attachments and inline images at 10 each per ticket, and offers no partial imports.
  • Help Desk Migration's case study with Assignr reports that moving more than 14,000 tickets from Zendesk to Intercom cost around $1,500.
  • Intercom advises posting one reply with the full transcript, because replaying a Zendesk thread message by message inflates API calls by 10 to 100 times.
  • Zendesk Guide articles reach Intercom through Knowledge > Sources, where Sync re-syncs read-only articles every hour and Import sets up 301 redirects from old Zendesk URLs.
How Do You Migrate from Zendesk to Intercom? 3 Routes and What Breaks (2026)

Most teams move from Zendesk to Intercom with Intercom's built-in importer at Settings > Data > Imports & exports > Import from Zendesk, which carries users, organizations and tickets for accounts under 150,000 tickets. Above that, or if you need tags, side conversations or call recordings, use a migration service or your own scripts on both APIs.

If you're still weighing the move itself, our Zendesk vs Intercom comparison covers the two platforms feature by feature. This page assumes the decision is made.

Which Zendesk to Intercom migration route should you pick?

RouteCarriesCeilingEffort
Intercom's native Zendesk importerUsers, organizations, tickets, notes, attachments, data attributesUnder 150,000 tickets, no partial runsA few hours of mapping, then it runs itself
A migration service (Help Desk Migration, Crane)The above plus tags, side conversations as private notes, call recordings, articles, agent ownershipPriced per recordA demo run, a mapping pass, a paid full run
Your own scripts on both APIsWhatever you writeYour rate limits and patienceDays of engineering, plus testing

Most teams need one route for people and tickets and a second, separate path for help center articles. The article path is the same regardless of which of the three you pick.

How does Intercom's built-in Zendesk importer work?

This is the one to try first, and it's newer than most of the third-party guides ranking for this query. Intercom's documentation for it was last written on June 23, 2026.

Intercom help article "Import your Zendesk ticket, user and organization data", dated June 23 2026
Intercom help article "Import your Zendesk ticket, user and organization data", dated June 23 2026

Before you start, three things have to already exist in Intercom, because the importer maps onto them rather than creating them:

  1. Ticket types for both customer and back-office tickets. A Zendesk ticket that involved a customer imports as an Intercom Customer ticket; an internal-only one imports as a Back-office ticket. Intercom's doc is explicit that you need a ticket type set up for both before you import.
  2. Your teams and teammates. Tickets need an assigned team and teammate, so create them first, then map Zendesk groups and agents onto them. You also pick a default team and teammate for anything that can't be mapped, and only an agent with a full seat can be that default.
  3. Custom data attributes you want Zendesk custom fields to land in. The importer will offer to create a matching field for you, but reviewing the list up front is faster than fixing it after.

Then run it. Go to Settings > Data > Imports & exports and choose Import from Zendesk. Enter your Zendesk account URL and link the account with a Zendesk admin login, since admin permissions are what let the tool read your data. Toggle on each object you want, pick the fields, and check the mapping screen: fields with a green tick are mapped, fields with a skip icon are being dropped. One ordering rule catches people out, and it's in the doc: customers can't be migrated without organizations being migrated.

Ticket states map automatically, which is worth knowing before you rebuild your views. New becomes Submitted, Open becomes In progress, Pending becomes Waiting on customer, On hold also becomes In progress, and Solved becomes Resolved. Custom Zendesk states land on the nearest of those five; mapping a custom state to a custom Intercom state isn't supported.

Intercom's Zendesk-to-Intercom ticket state mapping table and the customer vs back-office ticket type step
Intercom's Zendesk-to-Intercom ticket state mapping table and the customer vs back-office ticket type step

What this route leaves behind

Intercom lists the tool's limits in plain language, and they're the reason some teams still buy a migration service:

  • Tags cannot be migrated. You recreate them in Intercom.
  • Side conversations cannot be migrated.
  • Call recordings cannot be migrated.
  • Attachments and inline images cap at 10 each per ticket.
  • Partial imports aren't available. Every ticket goes, and if a run fails you start again: organizations and customers get updated, and previously imported tickets are deleted and reimported.
  • Import error logs can't be exported from the tool, so debugging a failed run means reading the history page.
  • Deleted, inactive and suspended Zendesk users are skipped, and their comments and tickets are reassigned to a default contact named "Inactive Intercom Contact".
  • Zendesk multiselect and lookup fields can't import directly, because Intercom conversation attributes hold a single value. The documented workaround converts them to text with values separated by commas, which transfers the data but costs you filtering and reporting on the individual options.

One more, because it bites during the run rather than after it: the import is a snapshot. Intercom's doc says it imports your data as it is at that exact time, so anything that changes in Zendesk afterwards needs another run.

Turn the notifications off twice

Intercom suspends email notifications automatically during the migration. Its own doc then says some ticket notifications can still reach customers, and tells you to disable Ticket Updates for the whole workspace first, at Settings > Channels > Email > Email Settings > Notifications.

This is the single most asked question about this migration. In a community thread from May 2023 with 799 views, Ian L asked how to stop email notifications going out to customers while a script created historical conversations. Intercom's Jacob Cox pointed at the same notification settings, and added the detail that matters if you're scripting: a notification fires on an admin reply, so end-user-started conversations with no teammate reply won't send anything.

Intercom community thread from 2023 asking how to prevent notifications and whether conversations can be backdated
Intercom community thread from 2023 asking how to prevent notifications and whether conversations can be backdated

The second half of Ian's question, whether you can backdate conversations, never got answered in the thread. You can. Intercom's Create conversation endpoint takes a created_at Unix timestamp, and the API reference describes the field as recommended specifically for migrating past conversations from another source.

When do you need a migration service instead?

If you're over 150,000 tickets, want your tags, or want to move only the last two years, this is the route. Help Desk Migration (by Relokia, an Intercom partner) is the one that turns up most; Crane and a generic "Data Migration" app also sit in the Intercom App Store.

Its Intercom page lists the record types it carries: agents, users and leads, companies, tickets and conversations on the help desk side, and collections, sub-collections and articles with translations and redirects on the knowledge base side. Three options are worth naming because they cover the native importer's gaps. Side conversations migrate as private notes, in the vendor's words, because Intercom doesn't hold them as a separate object. Call recordings come across as ticket attachments. Inline images import as attachments so you don't get broken image icons.

Help Desk Migration's Intercom page listing help desk, knowledge base and custom object record types
Help Desk Migration's Intercom page listing help desk, knowledge base and custom object record types

The free demo moves 20 random tickets and 20 knowledge base articles; a Custom Demo lets you pick the 20 of each you want to inspect. Delta migration re-runs afterwards to catch anything created during the window, and Interval migration splits a large set into scheduled chunks.

On cost, the vendor quotes by record count after a demo and publishes no rate card. The useful public number is in its own case study: Assignr, a refereeing SaaS, moved 14,000-plus tickets from Zendesk to Intercom, and founder Jeff Wigal says the migration cost around $1,500. He also ran the test migration twice, once before cleaning up Zendesk and once after, which is the cheapest hour in any migration plan.

Name the incentive here, because it shapes what you'll be sold: a migration vendor bills per record, so its pricing rewards moving your whole archive, while your own reporting rarely needs conversations from four years ago. Decide your cutoff date before you run the demo, not after you see the quote.

How do you migrate with your own scripts on both APIs?

Intercom publishes a genuinely detailed guide to doing this by hand, which is unusual and makes the route more viable than it looks. Two decisions come before any code.

Conversations or tickets. Intercom's guidance: Zendesk tickets that were really customer support interactions should become Conversations, which are visible in the Messenger and support real-time replies. Structured, trackable requests like bug reports should become Tickets, which have defined states and custom attributes. You can do both, but each structure needs its own import script and its own validation.

Order of operations. Intercom's doc is blunt that imports fail if you get this wrong. Create or import contacts first, because every conversation or ticket must link to an existing contact with at minimum a user_id or an email address. Create your custom data attributes second, so attribute values have somewhere to land. Import conversations or tickets third.

Intercom's historical data migration guide showing the required order of operations for an API migration
Intercom's historical data migration guide showing the required order of operations for an API migration

The shape of each record is: read the ticket from Zendesk with GET /api/v2/tickets and GET /api/v2/tickets/{id}/comments, match or create the Intercom contact, create the conversation by simulating an inbound message from the customer, then reply once with the full transcript. Intercom recommends that last step explicitly over replaying the thread message by message, because message-by-message migration inflates your API call count by 10 to 100 times. Then set the state.

Two traps in that sequence. Closed tickets pass through open, updated and replied-to states before they close, so any Workflow that acts on conversations will fire on your migration unless you add an exception for "Created via API" or switch the Workflows off for the run. And a reply on an email-channel conversation emails the customer unless notifications are suppressed, which is the same problem as Route 1 arriving by a different door.

For cutover, Intercom describes two patterns. Drain and Fill points new requests at Intercom early, works both platforms until the Zendesk queue empties, then migrates everything as closed tickets. Live Cutover migrates the open tickets at the moment you switch. Drain and Fill is slower and much easier to coordinate.

Teams that would rather not own this can buy a migration package from Intercom's Customer Implementation Services, where an implementation engineer does the work and you validate the result.

How do Zendesk help center articles move to Intercom?

Your Zendesk Guide content doesn't come through the ticket importer. It goes through Knowledge > Sources, and there are two modes with genuinely different consequences.

Sync keeps Zendesk as the source of truth. Articles appear in Intercom read-only, re-sync every hour, and power Fin, Copilot and the Inbox. Three consequences to plan around: your customer-facing help center stays on Zendesk, Intercom suppresses search engine indexing of its own help center while a sync is active to avoid duplicate content, and a customer clicking "Open in Help Center" on a synced article lands on Zendesk. Synced articles are readable through GET /articles but PUT and DELETE on them are blocked.

Import makes Intercom the source of truth. Articles become editable, Zendesk labels and categories carry over as Intercom tags, and Intercom sets up 301 redirects from the old Zendesk URLs. Imported articles aren't placed into a collection automatically, so budget an hour to organize them.

Intercom's Knowledge > Sources setup for Zendesk, with the API token steps and the Sync or Import choice
Intercom's Knowledge > Sources setup for Zendesk, with the API token steps and the Sync or Import choice

Either mode needs a Zendesk API token, generated at Admin Center > Apps and integrations > APIs > Zendesk API > API token > Add API token. Zendesk shows the token once.

Two limits worth reading before you commit. Only published articles that are public or visible to signed-in users are eligible, and only one Zendesk Help Center can be connected at a time. In a 2023 community thread, Intercom Support's Larissa Alberti spelled both out, and the person who asked came back to report that pointing the sync at her subdomain moved articles she hadn't intended to move. Selecting specific articles is a migration-service job, not a native one.

If you set up an article sync with Intercom's older importer, check it now. Intercom's docs say the legacy Zendesk importer is deprecated on 25 April (the page gives no year), after which its manual and daily syncs stop. Move it across from Knowledge > Sources > Manage > Migrate importer; that migration still runs after the cutoff.

How we researched this

Every path, limit and label above was read on September 20, 2026 from Intercom's own help center, its API reference, Help Desk Migration's Intercom page, and two public threads on community.intercom.com. We did not run a migration for this post, so there are no timings of our own here, and every screenshot is a documentation page or a public forum thread. Where Intercom's wording is a hard limit, such as the 150,000-ticket ceiling, we quote it.

What do you rebuild by hand on every route?

No route carries your operational layer. Zendesk macros become Intercom macros by hand. Triggers and automations become Workflows, and the logic rarely maps one to one. Views get rebuilt against Intercom's filters. Answer Bot flows become Fin, a different product with a different pricing model, so budget time to test it. Export your Zendesk macro, trigger and view lists before you decommission anything: ten minutes of insurance.

Going the other way instead? Our Intercom to Zendesk migration guide covers Zendesk's ticket import API and data importer, and what moves in a Zendesk data migration is the object-level reference.

If Zendesk's AI costs are part of why you're moving, the AI layer and the help desk are separable decisions. Macha is an AI agent layer that runs on top of the help desk you already have, and it fits teams who want agents acting inside the ticket instead of a second chat widget in front of it. It runs on Zendesk, Freshdesk, Gorgias, Front, HubSpot or Intercom, so it stays available on either side of this migration. It doesn't replace the desk itself. Either way, the pricing is published: one plan, billed on monthly ticket volume, setup and monitoring by the Macha team included, and how it works on Zendesk is on its own page.

Frequently asked questions

Does Intercom have a native Zendesk importer? Yes. It's at Settings > Data > Imports & exports > Import from Zendesk, and it moves users, organizations and tickets along with notes, attachments and data attributes. Intercom notes the feature is enabled per workspace, so if you can't see it, ask Intercom Support to turn it on.

How many tickets can Intercom's Zendesk importer handle? Intercom's documentation says the tool suits companies migrating fewer than 150,000 tickets. Above that, or where you need a specific subset instead of everything, Intercom points to other options, which in practice means a migration service or your own scripts.

What doesn't transfer from Zendesk to Intercom? Using the native importer: tags, side conversations, call recordings, and anything beyond 10 attachments or 10 inline images per ticket. Deleted, inactive and suspended users are skipped, and their tickets are reassigned to a placeholder contact. Macros, triggers, views and bot flows are rebuilt by hand on every route.

Will customers get emails when I migrate tickets into Intercom? Intercom suspends email notifications automatically during the import, but its own doc says some ticket notifications can still go out, and recommends disabling Ticket Updates for the whole workspace first at Settings > Channels > Email > Email Settings > Notifications. If you're scripting the migration, remember a notification fires on an admin reply, so also exclude "Created via API" from your Workflow triggers.

Can I backdate conversations I create in Intercom during a migration? Yes. The Create conversation endpoint accepts a created_at Unix timestamp, and Intercom's API reference describes that field as recommended for migrating past conversations from another source. Without it, every imported conversation carries today's date.

How do Zendesk Guide articles move to Intercom? Through Knowledge > Sources rather than the ticket importer, with a choice of two modes. Sync keeps Zendesk as the source of truth and makes the articles read-only in Intercom, refreshing hourly. Import makes Intercom the source of truth, carries labels and categories across as tags, and sets up 301 redirects from the old Zendesk URLs.

How much does a Zendesk to Intercom migration cost? Intercom's native importer is included with your workspace. Migration services price by record count and quote after a free demo; the clearest public figure is Help Desk Migration's own case study with Assignr, whose founder says moving 14,000-plus tickets cost around $1,500.

Do Zendesk ticket statuses survive the move? They map. New becomes Submitted, Open becomes In progress, Pending becomes Waiting on customer, On hold becomes In progress, and Solved becomes Resolved. Custom Zendesk statuses land on whichever of those five is nearest, and custom-to-custom mapping isn't supported, so rebuild any view that relied on a custom status.

Sources: Import your Zendesk ticket, user and organization data · Historical data migration to Intercom · Sync public articles with Zendesk · Import public articles from Zendesk · Switching from Zendesk to Intercom · Intercom API: create a conversation · Zendesk: about the data importer · Zendesk Tickets API · Help Desk Migration: Intercom · Community: migrating Zendesk tickets to Intercom · Community: migrating selected articles

Macha

About Macha

Macha is an AI agent platform that works on top of the help desk you already use — Zendesk, Freshdesk, Gorgias, or Front — and connects to the rest of your stack, even your own internal systems. Its AI agents resolve tickets and automate entire workflows end to end, all set up in plain English, no code. Learn more about Macha →

Zendesk
5.0 on Zendesk Marketplace

Loved by support teams worldwide

See what support teams are saying about Macha AI.

The application seems excellent to me! We are still testing, and we need support for some details and they were extremely efficient too!

Daniela Costa

Daniela Costa

Head of Support, Seabra

Macha has been a great addition to our support toolkit. It generates clear, well-organized responses that fit naturally into our workflow. One feature we particularly appreciate is its ability to automatically reply in the same language as the ticket.

Marius F

Marius F

Support Head, Zentana

We've been using Macha for a little while now and it's been really great addition so far! It's powerful, convenient, and makes getting work done a lot easier for our agents.

Alexander Wedén

Alexander Wedén

Head of Support

Support team is very helpful and responsive. Really enjoy how lightweight this is within Zendesk itself vs other more intrusive tools.

Cathleen Wright

Cathleen Wright

Zendesk Admin, Cortex IO

So far it's pretty good! Our queries are a little nuanced, so we can't always use it, but it's got enough utility for us. It can even incorporate our bilingual country with greetings in a second language.

Jae Oliver

Jae Oliver

Head of Support, Wise

Really enjoying using Macha, it has made a noticeable difference to our support team in a short amount of time. I really like the ticket summary feature, saves us a lot of time.

Harry Jackson

Harry Jackson

Head of Support, Crumb

Macha AI is a great addition to my workspace! It's powerful, convenient, and it really makes productivity so much easier for our agents!

Dave G

Dave G

Head of Support, Cyber Power Systems

Very impressed! AI integration for Zendesk has certainly come a long way and Macha seems to set the standard for now. This will for sure save lot of time in our support team.

Pauli Juel

Pauli Juel

Head of CS, Dokument24

Macha has been working great for us so far! The auto-responses are accurate and our resolution time has dropped significantly.

Lana T

Lana T

Zendesk Admin, Swotzy

Macha AI is a great addition. The knowledge base feature means our agents always have the right answers at their fingertips.

Mischa Wolf

Mischa Wolf

Head of Support, Topi

We're enjoying this integration so far. It's made our support team more efficient and our customers get faster responses.

Paula G

Paula G

Head of Customer Support, Xly Studio

The team enjoys using it. It saves considerable time on common questions and the integration options are excellent.

Kilian Leister

Kilian Leister

Support Head, Didriksons

Ready to supercharge your team with AI?

Get started in minutes. Connect your tools, configure your agents, and let AI handle the rest.

$50 in free credits · no time limit, no credit card