Skip to main content

Tejas Mondeeri

·6 min read

The Complete Guide to Migrating from Help Scout to Freshdesk

Help Scout to Freshdesk migration made simple. Learn how to move conversations, customers, agents, knowledge base content, and automations correctly.

ClonePartner Help Scout to Freshdesk migration

Making the switch from Help Scout to Freshdesk is an exciting step toward scaling your support operations. While Help Scout offers a fantastic shared inbox experience, Freshdesk brings a different, robust set of features to the table.

The bridge between these two islands is the API. Migrating data via API gives you granular control over what moves over and how it looks when it arrives, but it requires a strategic approach to ensure nothing gets left behind.

This guide explores how to map your data from Help Scout to Freshdesk, the specific order you must follow to maintain data integrity, and the insider tricks that will save you hours of debugging.

Define Your Migration Scope

Before you write a single line of code, you need to categorize your data. Not everything can or should be moved in the same way.

  • API Migration: The vast majority of your data has a direct path from Help Scout to Freshdesk.

    You will use the API to migrate your core "people" data, which includes your Users (agents), Customers, and Organizations.

    You will also migrate your operational data, such as Inboxes, Teams, Conversations (tickets), and Saved Replies.

    Finally, your content, specifically your Docs (knowledge base), has a clear home in Freshdesk.

  • Manual Configuration: Some logic simply does not translate through code.

    Workflows in Help Scout and Automations in Freshdesk use different underlying logic structures. While Freshdesk has an API for automation rules, trying to programmatically translate conditions from one platform to another often leads to broken rules. It is safer and cleaner to rebuild these manually.

    Similarly, Docs Redirects, the links that ensure old articles point to new ones, must be configured manually as there is no dedicated endpoint for this in the destination system.

  • Archive: You should also decide if you want to migrate absolutely everything.

    API rate limits apply to both systems, so if you have tickets from five years ago that provide no value, consider archiving them locally rather than spending valuable time moving them.

Prepare Freshdesk for Data Import

Before you start pumping data into Freshdesk, you must prepare the environment to receive it. If you try to create a ticket for a specialized mailbox that doesn't exist yet, the API will reject it.

Start by creating your Email Mailboxes in Freshdesk to match your Help Scout Inboxes. This ensures that when you import tickets later, they land in the right queue immediately.

Next, you need to recreate your schema. Help Scout Custom Fields need to be recreated in Freshdesk before the data arrives.

Freshdesk supports custom fields for Tickets, Contacts, and Companies. If you migrate a ticket that has a custom field value, but that field hasn't been defined in Freshdesk yet, that data will likely be lost or cause an error.

Migrate Objects

This is the core of the operation. The order in which you move objects is critical because of dependencies. You cannot assign a ticket to an agent who doesn't exist, and you cannot link a contact to a company that hasn't been created yet.

  1. Agents and Groups: Start by migrating your people.

    Help Scout Users become Freshdesk Agents. Simultaneously, move your Teams over, which map directly to Freshdesk Groups.

    By establishing these first, you ensure that every subsequent object you import has a valid owner.

  2. Companies and Contacts: Next, build your customer database.

    Help Scout Organizations map to Freshdesk Companies. Once those exist, you can migrate Help Scout Customers and create them as Freshdesk Contacts, linking them to the appropriate Company ID you just created.
  3. Knowledge Base: Your self-service content comes next.

    This moves in a hierarchy. Help Scout Collections become Solution Categories. Inside those, Help Scout Categories serve as sub-containers that map to Solution Folders. Finally, your Articles are created inside those folders.

  4. Tickets and Conversations: Now you are ready for the heaviest lift: the tickets.

    Help Scout Conversations map to Freshdesk Tickets. When you create the ticket, you must map the status and priority fields manually in your payload, as the terminology differs between systems.
  5. Threads and Attachments: A ticket is just a shell without its history. After creating the ticket, you must immediately migrate the Threads.

    Help Scout notes and replies map to Freshdesk Conversations (replies and notes). During this step, you must also handle Attachments.

    You will need to retrieve the file from Help Scout and upload it via a multipart/form-data request to the specific Freshdesk ticket or note.

  6. The Finishing Touches: Finally, bring over your efficiency tools.

    Saved Replies in Help Scout become Canned Responses in Freshdesk.

    You should also migrate Ratings to Freshdesk Satisfaction Ratings to preserve your customer satisfaction history.

Post Migration Configuration

Once the scripts have finished running, you have a few manual tasks to complete.

Go into your Freshdesk Admin panel and rebuild your Workflows and Automations. Use the logic from your old Help Scout workflows, but take advantage of Freshdesk's specific automation features, like "Ticket Creation" or "Time Triggers".

If you used the Docs feature in Help Scout and have set up Redirects to manage traffic from old URLs, you will need to set these up manually in your Freshdesk portal settings, as the API does not support migrating these configurations.

Insider Secrets

Here are a few nuances that usually trip up developers during this specific migration.

Handling Attachments: Migrating Attachments is often the slowest part of the process. You are essentially downloading a file from one server and uploading it to another. Freshdesk requires these to be sent as multipart/form-data. You cannot simply pass a URL; you must handle the file binary.

Respecting the Speed Limit: Both systems enforce rate limits. Help Scout limits requests based on your plan and the endpoint, and Freshdesk does the same. Your migration script needs to listen for "429 Too Many Requests" errors and respect the "Retry-After" header, or you risk having your migration blocked halfway through.

Mapping IDs: You cannot force Freshdesk to accept the old Help Scout IDs. When you create an agent in Freshdesk, it gets a new ID. You must store a local map (e.g., Help Scout User ID 100 = Freshdesk Agent ID 55) so that when you migrate tickets later, you can assign them to the correct person.

Quick Recap

Migrating from Help Scout to Freshdesk is a linear process that relies heavily on the correct sequence of events.

By establishing your users, groups, and customers first, you create a foundation for your tickets and knowledge base.

While most data transfers 1:1 via the API, remembering to handle tags as strings and rebuilding your automations manually will ensure your new helpdesk is ready for action the moment you flip the switch.

At ClonePartner, we’ve completed numerous Help Scout to Freshdesk 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.

Further reading: