
While migrating your customer support system from Intercom to Zendesk might seem daunting, it’s entirely manageable with the right approach.
This guide will walk you through each step, from defining your migration scope to configuring Zendesk post-migration.
Whether you’re moving operational data, creating custom fields, or preserving historical ticket data, we’ll help you avoid common pitfalls and ensure a smooth transition for your team.
Define your migration scope
Before you move a single byte of data, you need to categorize your assets. Not everything in Intercom has a direct mapping in Zendesk, so we need to split the data into three buckets: API migration, manual configuration, and archives.
Migrate via API
The bulk of your operational data will move programmatically. This includes your Admins (who become Zendesk Agents) and Teams (which map to Zendesk Groups).
Your core customer data, specifically Companies and Contacts, will map directly to Zendesk Organizations and Users. Finally, your content, including Articles, Conversations, and Intercom Tickets, will be transformed into Guide Articles and Zendesk Tickets.
Configure Manually
Some Intercom features are logic-based and cannot be simply copied over. Segments in Intercom are dynamic rules; you cannot migrate the rule itself via the API.
Instead, you will need to recreate these logic rules manually as User Segments in Zendesk. Similarly, Data Attributes must be recreated as Custom Fields in Zendesk before you start pouring data in.
Archive
There is no direct equivalent in Zendesk Support for active In-App Messages like tours or campaigns. The best approach here is to archive this data as JSON or CSV files for historical reference, or manually copy the content into Help Center articles if it is still relevant documentation.
Prepare Zendesk for data import
You cannot just dump data into a fresh Zendesk instance; you need to build the workspace before you move the data in.
First, you must create your Admins (Agents) and Teams (Groups) in Zendesk. This is a critical first step because when you migrate tickets later, you will need the new Zendesk IDs for these agents and groups to ensure assignments route correctly.
Next, look at your Intercom Data Attributes. These act as custom fields for your users and companies. You need to recreate these as User Fields, Organization Fields, or Ticket Fields in Zendesk.
A crucial detail here is that if you have dropdown menus in Intercom, you must create those specific dropdown options in the Zendesk admin panel first. If the option does not exist in Zendesk, the data migration for that field will fail.
Migrate objects
This is the heavy lifting. The sequence matters immensely here. If you try to migrate a ticket before the user exists, the ticket has no requester, and the import fails.
- Organizations and Users Start with Companies.
Use the Intercom API to fetch them and create them as Organizations in Zendesk. Intercom uses a specific company_id, but Zendesk uses its own system ID.
You should map the Intercom ID to the Zendesk external_id field or a custom text field to prevent creating duplicates later.
Once Organizations are in place, migrate your Contacts. These become Users (specifically End Users) in Zendesk. As you create them, link them to the Organization IDs you generated in the previous step. - Knowledge Base next.
Move your Help Center content. Intercom organizes content into Collections, whereas Zendesk Guide uses a two-level hierarchy of Categories and Sections.
You will likely need a workaround here. You can create a Zendesk Category for each Intercom Collection and then place a Section inside it, or map Collections directly to Sections if you prefer a flatter structure.
Once the structure is up, migrate your Articles into those sections. - Tickets and Conversations
This is the most complex part of the migration. Intercom has two main types of support records: the newer "Tickets" object and the traditional "Conversations."
Intercom Tickets map 1:1 to Zendesk Tickets, making them relatively straightforward to move. Conversations, however, are chat-based streams that require a workaround to fit into Zendesk’s ticket model. You should map the initial message of the conversation to the Zendesk Ticket Description.
For the back-and-forth replies (conversation parts), you will need to iterate through them and append them as Ticket Comments. If there are Attachments in these conversations, you must download them from Intercom, re-upload them to Zendesk to get a token, and then associate that token with the comment creation. - Events
If you are on the Zendesk Suite Team plan or higher, you can migrate your Intercom Events into Sunshine Events.
This allows you to keep a timeline of user actions, like "Item Purchased" or "Page Viewed," attached to the user profile in Zendesk.
Post Migration Configuration
Once the raw data is in, you have some configurations to build.
You need to manually rebuild your Segments. Since you cannot migrate the logic via API, look at your Intercom definitions and recreate them as User Segments in Zendesk Guide. This ensures that the right customers see the right articles.
You will also need to apply Tags. While tags themselves can be migrated via API and applied to tickets or users, the business logic associated with them (like automated routing rules) needs to be configured manually in Zendesk triggers and automations.
Insider Secrets
Here are a few things that usually catch people off guard during this specific migration.
The Lead Trap: Intercom distinguishes between "Users" and "Leads," but Zendesk treats them both as "Users." If you just migrate them blindly, you will lose the distinction. You must add a specific tag (like "lead") or a custom field value to these records during the migration so you can identify them later in Zendesk.
The Timestamp Problem: Zendesk does not allow you to backdate the creation time on standard ticket endpoints. If you migrate a conversation from 2021 today, Zendesk will say it was created today. To preserve history, you must create a custom date field in Zendesk and populate it with the original Intercom creation date during the import.
Comment Context: Similar to tickets, you cannot natively backdate comments. All your historical replies will appear as if they were made right now. A pro tip is to prefix the body of the comment with the original timestamp text, for example: "Original date: 2023-01-01 - Message: ... ". This gives agents the context they need when reading old tickets.
Broken Images: If your articles contain embedded images, simply copying the HTML source code isn't enough. Those image URLs usually point to Intercom's servers. Once you cancel your Intercom account, those images will break. You must upload the images to Zendesk Guide Media and rewrite the image source URLs in the article body to point to the new Zendesk location.
Summary
Migrating from Intercom to Zendesk is a transformation of data structures as much as it is a movement of data.
By strictly following the order, you preserve the relationships that make your data useful.
While the conversational nature of Intercom requires some creative mapping into Zendesk tickets, using custom fields for historical dates and carefully handling attachments will ensure your agents have the full history they need on day one.
At ClonePartner, we’ve completed numerous Intercom-to-Zendesk migrations. Each project is handled by a dedicated engineer who customizes the data mapping to match your setup. If you want to avoid the technical complexity, ClonePartner can manage the entire migration for you, from planning and field mapping to validation and go-live.