
Switching from Zendesk to Help Scout is a significant milestone for any support team. You are moving from a complex, highly configurable environment into a platform designed for clarity and customer-centric conversations.
While the goal is simplicity, getting your data there requires a bit of orchestration. A successful migration isn't just about moving data points. It is about translating your support history into a new language that Help Scout understands.
This guide walks you through the technical and logical steps to move your data from Zendesk to Help Scout. We will look at exactly what transfers directly, what needs a creative workaround, and what you should build fresh.
Define your migration scope
Before you write a single line of code, you must decide what makes the journey. You need to categorize your data into three buckets.
- First is the data you will migrate via the API. This includes your core history and knowledge. You will be moving your Organizations and Users (agents and customers) programmatically.
Your Knowledge Base content, including Articles and their Attachments, will also travel via the API.
Finally, your Tickets will move over as Conversations, bringing along Ticket Comments, Tags, and Satisfaction Ratings. - The second bucket is for manual configuration. The logic that powers your current support desk does not translate 1:1 through code.
You will need to rebuild your Automations, Triggers, and Views by hand. While it is possible to migrate Macros via API, the logic often requires human review, so plan to configure your Ticket Forms and specific workflow logic manually within Help Scout’s settings. - The third bucket is for archiving. You might decide that Suspended Tickets (spam) or tickets older than a certain date do not need to clutter your new inbox. Leaving "rot" behind is one of the best parts of migrating.
Prepare Help Scout for data import
You cannot simply dump data into Help Scout and hope it lands in the right place. You have to construct the framework first.
- Start by recreating your custom data fields. In Zendesk, you likely have User Fields and Organization Fields. You need to create the corresponding Customer Properties and Organization Properties in Help Scout first.
If you try to import a customer with a specific custom field value but that field does not exist in Help Scout, the data will have nowhere to go. - Next, look at your grouping structure. Zendesk uses Groups to organize agents. Help Scout uses Teams. You should set up your Teams in Help Scout to mirror your current structure.
This ensures that when you import a ticket assigned to the "Billing Group," you can map it immediately to the "Billing Team" in Help Scout. - Finally, you need to set up your Knowledge Base structure. Zendesk organizes content into a Category > Section > Article hierarchy. Help Scout uses Collection > Category > Article.
You must create your Collections in Help Scout manually or via API before you can start pouring articles into them.
Migrate objects
Now we get to the heavy lifting. The order in which you move objects is critical because of data dependencies. You cannot import a ticket if the customer who asked for help does not exist yet.
- People and Organizations: Start by migrating your Organizations. Since Zendesk Organizations map 1:1 to Help Scout Organizations, this is straightforward. Once those exist, move your Users.
Zendesk has separate concepts for "Agents" and "End Users," but in Help Scout, they are Users and Customers. You will migrate your Agents first so that when you eventually import tickets, you can attribute the replies to the correct staff member.
Then, migrate your End Users to the Customer object. Be sure to map their User Identities (emails, phone numbers, twitter handles) to the corresponding detail fields in Help Scout. - Knowledge Base Content: Migrating your documentation requires a slight structural adjustment. Because of the hierarchy difference mentioned earlier, you will map your Zendesk Categories to Help Scout Collections, and your Zendesk Sections will become Help Scout Categories.
When you migrate Articles, pay close attention to the body content. Zendesk articles often contain Guide Media or inline attachments.
You cannot simply copy the HTML because the image links will still point to Zendesk.
You must download the image from Zendesk, upload it to Help Scout as an Asset, and then rewrite the src attribute in the article's HTML to point to the new Help Scout URL. Don't forget to migrate your Redirect Rules to maintain your SEO ranking. - Tickets and Conversations: This is the largest part of the migration. You will use the Incremental Export API from Zendesk to pull tickets in chronological order. A Zendesk Ticket becomes a Help Scout Conversation.
The conversation history inside the ticket, known as Ticket Comments, becomes Threads in Help Scout. You need to loop through the comments and insert them as threads. If a comment was internal in Zendesk, mark it as a Note in Help Scout. If it were public, it would be a Reply. - Ticket Skips which track when an agent skips a ticket, do not have a home in Help Scout. The best workaround is to migrate these as Internal Notes on the conversation, perhaps with a generic "System" author, stating that the ticket was skipped and the reason why.
- Side Conversations (emails or Slack chats nested inside a ticket) are distinct objects in Zendesk. Help Scout does not have a dedicated "Side Conversation" object. You should extract the messages from the Side Conversation endpoints and insert them into the main conversation flow as Internal Notes. This ensures the context is preserved even if the feature looks different.
- Finally, ensure you map your CSAT Ratings to Help Scout Ratings so you don't lose your historical customer satisfaction data.
Post Migration Configuration
Once the raw data is moved, you have to make the system functional. This is where you rebuild the brains of your operation.
Zendesk relies heavily on Triggers and Automations. You will need to rewrite these logic rules using Help Scout’s Workflows. This is actually a good opportunity to audit your rules; often, you will find legacy triggers that are no longer needed.
You also need to configure your Mailboxes (Inboxes). While the API handles the conversations, the settings that control signatures, auto-replies, and permissions need to be set manually in the UI.
If you used Ticket Forms in Zendesk to gather structured data, you will need to recreate those forms or use Custom Fields in Help Scout to capture similar information.
Insider Secrets
If you have done this migration a few times, you learn where the traps are. Here are a few things that usually trip people up.
The "Ghost Agent" Problem: You will likely have tickets in Zendesk created by agents who no longer work at your company. If you try to import a ticket assigned to "John Doe" but you didn't create a User account for John in Help Scout because he left three years ago, the API might error out or assign it to the API owner. The pro move is to map all former employees to a single "Archive Agent" user in Help Scout. This keeps your seat count low but preserves the history that a human, not a robot, sent the reply.
The Rate Limit Dance: Both Zendesk and Help Scout have strict rate limits. You cannot just blast the API as fast as possible. You have to respect the Retry-After headers. If you are moving hundreds of thousands of tickets, use Zendesk’s cursor-based pagination for exports, as it is much faster and more reliable than offset pagination for deep historical data.
Sanitizing HTML: Zendesk article bodies and ticket comments are stored as HTML. When you push this into Help Scout, sometimes the styling tags (like specific div classes or span styles) from Zendesk can look messy in the new viewer. It is worth running a script to strip out inline CSS styles from the HTML body before you push it to Help Scout, keeping only the structural tags like bold, italics, and lists.
Handling Suspended Tickets: Zendesk has a "Suspended Tickets" view for spam or malformed emails. These are technically not valid tickets yet. You usually don't want to migrate these. However, if you have business rules that rely on auditing them, you can migrate them as closed conversations with a specific "Imported_Suspended" tag so they don't mess up your active metrics.
Summary
Migrating to Help Scout is about moving from a system of complex configuration to one of structured conversation. By carefully mapping your Users, Organizations, and Content first, you lay a solid foundation.
Handling the nuances of Side Conversations and Ticket Skips with creative workarounds ensures you don't lose context. With a clean migration, your team can start fresh, focused on the customer rather than the tool.
At ClonePartner, we’ve completed numerous Zendesk to Help Scout 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.