Freshdesk to Gorgias Migration: Tools, Data and Fixes
You can't do a Freshdesk to Gorgias migration in one click. Gorgias has no Freshdesk importer, so you have three options: its email import, the Help Desk Migration service, or your own script on both APIs. For most Shopify stores without a developer, Help Desk Migration is the practical route. It offers a free demo run, and its Freshdesk to Gorgias page gives a timeline of 1 to 2 weeks. After that, you rebuild by hand everything that doesn't move: SLA policies, the help center, CSAT history and time-based rules.
This guide is for merchants, not engineers. It covers which route fits your ticket volume and how to export Freshdesk data so nothing is missing. It shows what each Freshdesk object becomes in Gorgias, gives a step-by-step cutover plan, and lists the migration issues that show up in the first weeks after the switch.
We make Relay, an AI support agent for Shopify. We don't sell migrations. Near the end you'll see where Relay fits, and when it doesn't.
Switching help desks because order questions take up your team's day? Relay answers, refunds and resolves your Shopify tickets 24/7, following your rules. Start the trial and see how many tickets it closes while you plan the move.
The short answer: which migration route fits your store
Pick a route based on two things: how many tickets you need to keep, and whether someone on your team can write and run code.
| Your situation | Best route | Why |
|---|---|---|
| You only need recent email threads, no Freshdesk data | Gorgias email import (Gmail or Outlook) | Free and native. It reads your mailbox, not Freshdesk, and only goes back 2 years |
| Up to about 5,000 tickets, no developer | Help Desk Migration | Moves tickets, contacts, agents, macros and business rules without code |
| 5,000 to 50,000 tickets, no developer | Help Desk Migration with delta migration | Same scope, plus a catch-up run for tickets created during the move |
| 50,000+ tickets, or a developer on staff | API script or managed service | Full control over mapping, but you handle rate limits, attachments and errors yourself |
| You'd rather start fresh | No history import | Keep Freshdesk read-only for lookups and start Gorgias empty |
Starting fresh is a real option. Plenty of stores don't need 3 years of "where is my order" threads in the new help desk. What they need is open tickets, recent customer history and macros that work.
Route 1: Gorgias native email import
Gorgias can import past conversations, but it pulls them from your mailbox, not from Freshdesk. According to Macha's migration guide, the native import:
- works with Gmail and Outlook only;
- goes back 2 years at most;
- brings tickets in as closed;
- doesn't run your rules on imported tickets;
- isn't available on the Starter plan, only Basic and above (see Gorgias pricing).
Good for: small stores whose support inbox is a Google Workspace or Outlook mailbox that holds every customer thread.
Not good for: anyone who needs Freshdesk notes, ticket fields, agent assignments, or replies sent from inside Freshdesk that never reached the mailbox.
Route 2: Help Desk Migration, the migration tool most stores use
If you search for a "Freshdesk to Gorgias migration tool", this is usually where you end up. Help Desk Migration is a paid service that moves data between the two APIs for you. Its Freshdesk to Gorgias page lists:
- What moves: agents, contacts, tickets, business rules (which become Scenario Automations in Gorgias) and macros.
- Timeline: 1 to 2 weeks.
- Free demo: 20 records moved, no credit card needed. Use it as your test run.
- Delta migration: a second pass that picks up tickets created while the main import ran.
- Options: skip attachments, tag imported tickets, migrate the newest data first, and pause by interval (up to 5 times, 5 days each).
Pricing depends on the number of records, so get your real quote after the demo. Don't budget from a blog estimate. The service publishes its own documentation and setup steps on its site. If you searched "freshdesk to gorgias migration docs" or "how to freshdesk to gorgias migration tool", that's where the official walkthrough is.
Turn on these two options every time:
- 1. Tag imported tickets, for example "migrated-freshdesk". According to ClonePartner's technical guide, Gorgias has no bulk delete through its API. If something goes wrong, the tag is the only clean way to find and handle every imported record.
- 2. Newest data first. If the run stops halfway, your team still has the tickets they actually need.
Moving help desks won't make order questions go away. Relay reads the live Shopify order and answers, refunds or updates it within the permissions you set. Start the trial and see how many tickets it closes before you pay for a migration.
Route 3: DIY script on the APIs (the "GitHub" route)
If you searched "freshdesk to gorgias migration github", this is the route you're looking at. A script you find online or one your developer writes is still the API route, with all the limits below. Gorgias doesn't publish an official Freshdesk importer, so any script you download is code you run, test and fix yourself.
Freshdesk side, from the Freshdesk API documentation:
- API calls are capped per minute for the whole account, whatever the number of agents or IP addresses. The cap depends on your plan, and the ticket list endpoint has its own lower sub-limit. Check the rate limit table for your plan before you size your script. Invalid requests count against the limit too.
- By default, the ticket list only returns tickets created in the past 30 days. To get older tickets, you need the "updated_since" filter. Without it, your script quietly skips most of your history.
- A single list request returns at most 300 pages (30,000 tickets). Large accounts have to split the export by date range.
Gorgias side, from ClonePartner's guide:
- 40 requests per 20 seconds with an API key, 80 with an OAuth2 app.
- A single message can't exceed 1 MB (HTML and text body).
- A ticket subject can't exceed 998 characters.
Expected run time with an API key, assuming about 3 messages per ticket (ClonePartner's estimate):
| Tickets | Approximate run time |
|---|---|
| 5,000 | about 2 hours |
| 50,000 | about 21 hours |
| 100,000 | about 42 hours |
ClonePartner puts a full project for 10,000 to 100,000 tickets at 5 to 14 days, including mapping and testing. These are estimates, not promises.
The trap that reaches customers: if an imported message has no "sent_datetime", Gorgias treats it as new and sends it. Old replies go out to customers again, sometimes years later. Every imported message that was already sent needs its original date. Test this on a ticket addressed to your own email before any bulk run.
Freshdesk to Gorgias data migration: export the right file first
Whatever route you pick, take a full Freshdesk export before you start. It's your backup if the migration fails, and your proof if a customer disputes an old order.
The standard export (Tickets > All tickets > Export) gives you a CSV of ticket properties. As Macha notes, it doesn't include full conversations or archived tickets. A CSV that looks complete is often just a list of subjects and statuses.
For the full data, Freshdesk's own help center points account admins to Admin > Account > Account Details, then the Export button. According to Freshdesk, this export covers tickets, solutions, forums and the customer list, sent in XML format (how to export the data in your account), and it's the route Freshdesk gives for exporting ticket conversations (exporting tickets with their content). Freshdesk also notes that the XML needs a developer to turn it into something readable. Store the file as is. You won't read it every day, but it has everything.
Also save:
- Attachments. Freshdesk attachment links require a login and can expire once your subscription ends (ClonePartner). Download what you need before you cancel, especially photos of damaged items.
- Your automation list. Screenshot or copy every rule with its conditions and actions. You'll rebuild them, so you need the logic, not just the names.
- Canned responses, with their folders.
- Help center article URLs, so you can redirect them.
What migrates and what you rebuild
This table is the core of your mapping sheet. Copy it and add an "owner" column and a "done" column.
| Freshdesk | In Gorgias | What to do |
|---|---|---|
| Tickets and conversations | Tickets and messages | Moved by the tool or the API. Old ticket numbers aren't kept: Gorgias assigns new IDs |
| Ticket statuses (Open, Pending, Resolved, Closed) | Open or closed only | Decide what Pending becomes. Use a tag if you need to keep the difference |
| Contacts | Customers | Moved. Check a sample against Shopify customer records |
| Companies | No equivalent | Store the company name as a tag or a field, or drop it |
| Agents | Users | Moved. Recreate teams and permissions by hand |
| Canned responses | Macros | Moved by Help Desk Migration. Rewrite stale content and test variables |
| Business rules | Rules | Help Desk Migration turns them into Scenario Automations. The logic still needs a review |
| Time-based automations | Rules | Rebuild by hand. These fail silently |
| SLA policies | Rebuild | Not moved |
| Knowledge base and portal | Gorgias Help Center | Rebuild and redirect old URLs |
| CSAT history | Not moved | Export a report for your records |
| Forums | Not moved | Archive or drop |
| Integrations | Reconnect | Shopify, returns app, reviews app, carrier tools |
Sources: Macha and ClonePartner.
Tip for ticket numbers. Customers and your team will quote old Freshdesk ticket numbers in emails. Put the Freshdesk ID in a tag or custom field so a search still finds the ticket.
How Freshdesk automations map to Gorgias rules
Before you rebuild anything, sort your Freshdesk automations into three groups:
- 1. Ticket creation rules, like routing a new email to a team or tagging "refund" when the subject says refund. These usually map cleanly to a Gorgias rule.
- 2. Ticket update rules, like notifying a manager when priority changes. Rebuild and test each one.
- 3. Time-based rules, like closing pending tickets after a few days or reminding an agent when a ticket sits too long. These don't carry over, and nothing warns you. They're the ones teams forget.
Write one test case per rule: "a new email with subject X from customer Y should get tag Z and land in view W." Run it in Gorgias on a dummy ticket before cutover.
Macros: test every variable with a real order
Freshdesk canned responses and Gorgias macros use different variable names. A macro that printed the customer's first name in Freshdesk can print nothing in Gorgias, or the raw variable text. On a Shopify store, the risky ones pull order data: order number, tracking link, fulfillment status.
Test each macro on a real ticket from a customer with a real Shopify order, and read the output the way the customer would. While you're at it, delete the ones nobody has used lately and check the rest against your live return, shipping and refund policies. If you'd rather rewrite your core replies from scratch, our Shopify helpdesk email templates can help.
A Freshdesk to Gorgias migration plan, step by step
This plan fits a small team using Help Desk Migration. The rule that matters most: don't switch on a fixed date. You switch only after the full import has finished and you've checked it. Prep takes about a week. The full import then runs in the background while you rebuild what doesn't move. Depending on your volume, cutover lands in week 2 or week 3.
Week 1: prepare and test
- Day 1, inventory. List your ticket count, agents, automations, canned responses, help articles and integrations. Pick your route using the table at the top.
- Day 2, full export. Request the XML export from Account Details. Download the attachments you'll need. Screenshot every automation.
- Day 3, clean up. Delete unused canned responses and fix outdated policies in the rest. Decide which history you actually need.
- Day 4, set up Gorgias. Connect Shopify and create users, teams and views. Turn off any rules you've already built so they don't fire on imported tickets.
- Day 5, mapping sheet. Every Freshdesk field, status, group and tag gets a Gorgias equivalent or a written "drop".
- Day 6, demo migration. Run the free 20-record demo. Pick tickets with photos, long threads, repeat customers and refunds.
- Day 7, check the demo. Open each ticket as an agent. Is the thread in order? Are the attachments there? Does the customer match their Shopify profile? Fix the mapping.
Week 2, and week 3 if needed: import in the background, rebuild in parallel
- Start the full migration. Newest data first, with the "migrated-freshdesk" tag. Your team keeps working in Freshdesk as usual. Nothing changes for customers yet.
- Rebuild while it runs. Time-based rules, SLA logic, help center articles, and redirects from old help center URLs.
- Test macros. Run every macro on a real order. Check variables, links and policy facts.
- Wait for the import to finish, then verify it. Compare ticket totals by month between Freshdesk and Gorgias, and open a sample from your oldest and newest months. If a month is short, fix the filter or date range and rerun it. Don't move on until the counts match.
Cutover day: only after the import is verified
- Switch. Point your support email forwarding to Gorgias. Update the reply-to on every outgoing template. Turn your rules back on.
- Run the delta migration right after the switch. It pulls in every ticket created in Freshdesk while the main import ran, up to the moment you switched.
- Count again. Recheck totals for the current month, since that's where the delta lands.
- Rollback plan: keep Freshdesk active and read-only for at least two weeks after cutover. Don't cancel until no new replies have arrived there for several days in a row and your attachments are saved.
Freshdesk to Gorgias migration issues after cutover
Most migration problems don't appear on cutover day. They appear in the first two weeks, when a specific case comes back. A migration moves data. It doesn't move the small jobs Freshdesk was running in the background.
| Issue | First sign | Fix |
|---|---|---|
| Replies land in the old inbox | Customers say "I already replied" | Fix forwarding and reply-to, check Freshdesk daily for 2 weeks |
| Time-based rules stopped | Pending tickets never close | Rebuild each timer as a Gorgias rule |
| Old emails sent again | Customers get replies from past years | Check "sent_datetime" on imported messages, pause the import |
| Stale macros | Wrong return window quoted | Rewrite against live policy pages |
| Dead help center links | Customers report 404 pages | Redirect old URLs, search Shopify notifications and your theme |
| Tickets in no view | Gaps in views and reports | Temporary "untagged" view, emptied daily |
| Reports jump overnight | Response times look very different | Treat month one as a new baseline |
| Escalations lose their owner | Chargebacks wait in the general queue | Name one owner per escalation type before cutover |
Two of these need more detail.
Reports. Each tool counts first response and business hours its own way. Don't compare your first Gorgias month with your last Freshdesk month. Write down how each metric is defined. If you track satisfaction, read how CSAT counting rules change by ticket type.
Escalations. In Freshdesk, a chargeback or an angry repeat customer often went to a named group. After the switch, that routing may not exist. List your escalation types and give each one an owner. For the reply itself, see how to handle a customer who asks for a human agent.
Post-migration check: run this daily for 5 working days
- Freshdesk inbox: any new replies? Move them and find where they came from.
- Untagged view: any tickets? Fix the rule that missed them.
- Oldest open ticket: is it older than your usual reply time?
- Five macros sent today: right facts, right links, variables filled in?
- Escalated tickets: does each one have an owner and a next step?
- One order follow-up: can an agent answer without asking for the order number?
- Ticket count: does a random month match in both tools?
When all seven pass five days in a row, the migration is done. If you still have doubts about Gorgias itself, our Gorgias review for Shopify covers pricing and fit, and the Gorgias alternatives guide compares the other options with real prices.
Where Relay fits, and when it doesn't
A migration forces you to write down your policies, your escalation owners and your top ticket types. That's exactly what an AI support agent needs.
Relay is our product. It's an AI support agent for Shopify: it reads the live order, applies your rules and acts within the permissions you set (refund, discount code, cancellation, address change). It knows when to bring in your team. On a "where is my order" ticket, the answer comes from real tracking data, not an old macro. Our guide to automating WISMO emails on Shopify shows how that works.
Relay is not a migration tool, and it doesn't move your Freshdesk history. It's also the wrong choice if you need phone support, live chat, WhatsApp, social inboxes, several stores in one account, or support in several languages. Relay doesn't offer those today. Pricing is based on orders per month, not tickets or seats, starting at $149 a month on Starter, as listed on our pricing page. To compare that with hiring, see what Shopify support automation costs per year.
If you're leaving Freshdesk because order questions take up your team's day, test that first. Start the trial, connect your store and set your rules. Setup takes 10 minutes.
FAQ
Can you migrate from Freshdesk to Gorgias natively? No. Gorgias has no Freshdesk importer. Its native import reads Gmail or Outlook mailboxes, goes back 2 years at most, brings tickets in as closed, and isn't available on Starter. To move the Freshdesk data itself, use Help Desk Migration or the APIs.
What is the best Freshdesk to Gorgias migration tool? For a store without a developer, Help Desk Migration is the most direct option. It moves tickets, contacts, agents, macros and business rules, and offers a free 20-record demo. If you have a developer and a very large volume, a custom API script gives you more control over the mapping.
Will a Freshdesk CSV export give me my ticket conversations? No. The CSV from Tickets > All tickets > Export holds ticket properties, not full conversations or archived tickets. For the complete data, an account admin uses the XML export under Admin > Account > Account Details, as described in Freshdesk's help center.
How long does a Freshdesk to Gorgias migration take? Help Desk Migration gives 1 to 2 weeks. For an API migration, ClonePartner estimates about 2 hours of run time for 5,000 tickets and about 42 hours for 100,000, with 5 to 14 days for the full project. Either way, switch only after the full import is finished and the counts match.
Is there a Freshdesk to Gorgias migration guide PDF or download? Gorgias doesn't offer a Freshdesk importer to download, and scripts on GitHub are the DIY API route. The step-by-step plan and the daily check on this page work as a printable checklist: save the page as a PDF from your browser.
What doesn't move from Freshdesk to Gorgias? CSAT history, forums, original ticket numbers and companies don't move. You have to rebuild SLA policies, the knowledge base, the portal, integrations and time-based rules. Freshdesk's four statuses become either open or closed.
Ready to answer order questions from live Shopify data?

