
Moving your customer support data from Freshdesk to Help Scout is a significant step toward streamlining your support operations. While both platforms manage customer interactions, they structure data differently.
A successful migration is less about simply moving data and more about translating your history into a new language that Help Scout understands.
This guide breaks down exactly how to map your Freshdesk data to Help Scout's structure using the API, ensuring nothing gets lost in the shuffle.
Define Your Migration Scope
Before writing a single line of code, you must categorize your data. Not everything can travel through the API pipe automatically. You need to identify what flows directly, what needs manual setup, and what requires a workaround.
- Migrate via API: The bulk of your historical data can be moved programmatically.
You will use the API to migrate Agents, Groups, Companies, Contacts, Tickets, Ticket Conversations, Solutions, Canned Responses, and Tags. - Configure Manually: Certain structural elements do not have "create" endpoints in the Help Scout API and must be built by hand before you start. This includes your Mailboxes (Email Configs) and Ticket Fields (Custom Fields).
Additionally, logic-based settings like Automations and SLA Policies cannot be migrated via API and must be rebuilt manually. - Workarounds and Archives: Some Freshdesk concepts do not have a direct equivalent in Help Scout.
Freshdesk "Products" and "Surveys" (Satisfaction Ratings) require creative workarounds to preserve the data, as they do not map 1:1 to native Help Scout objects.
Prepare Help Scout for Data Import
You cannot dump data into an empty Help Scout account. You must construct the framework first so the data has a place to land.
- Set Up Inboxes: Freshdesk organizes tickets into Mailboxes or Email Configs. Help Scout calls these Inboxes.
Since the API allows you to list Inboxes but not create them, you must log in to the Help Scout user interface and create an Inbox for every Mailbox you had in Freshdesk
Once created, note down the ID for each Inbox, as you will need to map your tickets to these specific destinations later. - Recreate Custom Fields: Freshdesk Ticket Fields hold vital data. Help Scout supports Custom Fields, but you cannot define the schema via the API.
You must manually go into Help Scout settings and recreate every text box, dropdown, and checkbox you used in Freshdesk.
Once these are created, the system generates a unique Field ID for each one. Record these IDs carefully. You will need them to insert the specific values during the ticket migration.
Migrate Objects
To maintain data integrity, you must migrate objects in a specific logical sequence. If you try to create a ticket before the customer exists, the migration will fail.
- Agents to Users: Start by retrieving your Agents from Freshdesk and creating them as Users in Help Scout. This ensures that when you bring over tickets later, you have the correct team members to attribute them to.
- Groups to Teams: Freshdesk uses Groups to organize people. In Help Scout, these are called Teams. You can list your Freshdesk groups and create corresponding Teams in Help Scout via the API, then assign the Users you just created to these Teams.
- Companies to Organizations: Next, move your customer organizations. Freshdesk Companies map directly to Help Scout Organizations. Both APIs support listing and creation, making this a straightforward transfer.
- Contacts to Customers Now migrate the people. Freshdesk Contacts become Help Scout Customers. During this step, you should import their names, emails, phone numbers, and social profiles. Crucially, you must link these Customers to the Organizations you created in the previous step.
- Solutions to Docs: Your knowledge base is independent of your ticket history, so it can be moved now. Freshdesk Solutions are migrated to Help Scout Docs. You will map the hierarchy as follows:
- Freshdesk Categories become Help Scout Collections.
- Freshdesk Folders become Help Scout Categories.
- Freshdesk Articles become Help Scout Articles.
- Tickets to Conversations: This is the core of your migration. Freshdesk Tickets are converted into Help Scout Conversations. When creating these conversations, you must map the Freshdesk requester_id to the new Help Scout Customer ID and the responder_id to the new Help Scout User ID. During this step, you will also apply any Tags associated with the ticket and populate the Custom Fields using the IDs you prepared earlier.
- Ticket Conversations to Threads: A ticket is just a shell without its content. You must migrate Freshdesk Ticket Conversations, which include public replies and private notes, into Help Scout Threads. You can create specific thread types, such as Customer, Chat, Phone, or Note threads, ensuring the conversation history remains readable and chronological.
- Canned Responses to Saved Replies: Finally, move your productivity tools. Freshdesk Canned Responses can be retrieved and created as Saved Replies in Help Scout. Moving these last ensures they do not interfere with the creation of historical data.
Post Migration Configuration
Once the data transfer is complete, you have some housekeeping to do to make the system functional.
The logic that governed your old help desk does not transfer. Freshdesk Automations and SLA Policies must be manually rebuilt as Workflows in Help Scout.
The API allows you to list workflows but not create them, so you will need to set up your rules for routing, assignment, and escalation within the Help Scout settings.
Insider Secrets
There are nuances to this migration that can trip you up if you are not prepared. Here is how to handle the tricky data that does not fit perfectly.
Handling Products: Freshdesk has a native object called "Products" which Help Scout lacks. You have two options here. If you used Products primarily for filtering tickets, you should migrate the Product name into a Help Scout Custom Field (specifically a dropdown) on the Conversation. However, if you used Products to segregate different Knowledge Bases, you should map each Product to a separate Help Scout "Docs Site".
Preserving Satisfaction Ratings: You cannot migrate historical survey results into Help Scout's native reporting graphs because the API does not have a "Create" endpoint for Ratings. If you want to keep the record that a customer was happy or unhappy on a specific ticket, you must migrate the Freshdesk Rating as a private Note (Thread) or a Tag on the Conversation. This keeps the context accessible even if it does not appear in the dashboard analytics.
Mapping Inboxes is Critical: Because you created Inboxes manually, their IDs in Help Scout will be completely different from the Mailbox IDs in Freshdesk. You must maintain a strict mapping table. When your script reads a ticket from Freshdesk Mailbox A, it must know exactly which Help Scout Inbox ID to assign it to, or your tickets will end up in a disorganized pile.
Summary
Migrating from Freshdesk to Help Scout requires a mix of automated scripts and manual configuration.
By following the strict order of operations, you ensure that every conversation lands in the right place and is attached to the right person.
While objects like Products and Ratings require creative workarounds, the core of your support history can be preserved perfectly if you map the fields correctly and prepare your destination environment first.
At ClonePartner, we’ve completed numerous Freshdesk 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.