- Migration Guides
- Gorgias
- Export Your Data
How to Export Your Data from Gorgias
Part of the Gorgias migration guide
Gorgias CSV exports skip message text. Only the Analytics drill-down includes it, and only for 30 days. 4 export routes compared. Verified 9 August 2026.
How do you export tickets from Gorgias?
Gorgias has four export routes and no single button that covers all of them. A CSV export from any Inbox view carries ticket metadata but no message text. The Analytics drill-down export does carry message bodies, but only for the most recent 30 days. The REST API returns everything and is rate-limited to roughly 3,600 tickets a minute at best — and from 8 September 2026 it stops returning older email bodies in the fields most scripts read. A custom export from Gorgias support covers what the other three miss. Every figure on this page was checked against Gorgias's own documentation on 9 August 2026.
Route 1: export tickets from an Inbox view (CSV)
Open the dropdown menu at the top left of the helpdesk, choose Inbox, pick a view from the sidebar, then tick the checkboxes on the tickets you want. The header checkbox selects the current page, after which you can extend the selection to every ticket in the view. Open the three dots icon and choose Export tickets. Gorgias emails a download link that stays active for 14 days — after that you regenerate the export from scratch. This route is on every Helpdesk plan, but only the account owner, admins and leads can run it. The ceiling is 1 million tickets per export, and a view larger than that is cut off at the limit rather than split across files, so filter by date range and run several passes if you are near it. Timing runs to roughly 1 hour per 100,000 tickets, up to about 10 hours for a full million (Export tickets from Gorgias, checked 9 August 2026).
What the view CSV contains — and what it leaves out
Columns: link to ticket, ticket ID, tags, initial channel, priority, last used integration name and type, whether the ticket was created by an agent, subject, creation date, closed date, survey score, survey replied date, assignee name and email, customer email and name, first response time, resolution time, number of agent messages, number of customer messages, and your ticket and customer fields. The counts of agent and customer messages are there; the messages themselves are not. That single omission is what turns a Gorgias migration from an afternoon's work into a planned project, because ticket metadata alone will not let a new helpdesk show an agent what was said to that customer last quarter.
Route 2: export with message content from an Analytics drill-down
This is the route most migration checklists miss, and it is the only self-serve way to get message text out of Gorgias. Go to Analytics, open a report that has a drill-down, click a metric value to open the ticket list behind it, then hit Export at the top right. You get two options: Export metadata only or Export with message content. The second one includes the full text of the ticket's messages. Reports with drill-downs are Real-time monitoring (Voice), AI & Automation (Overview, AI Agent), Quality (Auto QA, Satisfaction), Support performance (Overview, Agents, Channels, SLAs) and Insights (Ticket fields, Tags). Any role can view a drill-down; only the owner, admins and leads can export one. The on-screen table shows a maximum of 100 tickets sorted most-problematic-first, but the CSV is not capped at 100 — the real caps are below (Gorgias drill-down documentation, checked 9 August 2026).
The 30-day wall on message content
Here is the trade-off that decides most Gorgias migration plans. A metadata-only drill-down export reaches back 2.5 years. An export with message content is limited to the most recent 30 days of whatever period you selected, or 100,000 tickets, whichever you hit first. You cannot have both depth and message text from the same file. The export also carries public messages only — internal notes, ticket events, Facebook wall posts, Instagram media messages and Instagram ad media messages are excluded, so an export is never a complete record of internal handling. If your team's institutional knowledge lives in internal notes, capture those separately before you cancel.
Route 3: pull history with the REST API
The API lives at https://{your-domain}.gorgias.com with /api/tickets, /api/customers and /api/messages. Pagination is cursor-based (offset-based paging is deprecated): pass cursor, limit and order_by such as created_datetime:desc, and follow meta.next_cursor from each response. The default limit is 30, which matters more than it looks. One deprecation to plan around: "List messages of a ticket" on /api/tickets/{ticket_id}/messages is deprecated in favour of the List messages endpoint, so a script copied from an older integration may be building on a route Gorgias is retiring — and per-ticket message calls are exactly the pattern that burns the rate limit fastest (Gorgias developer documentation, checked 9 August 2026).
How long an API export actually takes
Rate limiting is a leaky bucket. OAuth2 apps get 80 requests per 20 seconds; API-key integrations get 40 per 20 seconds. Enterprise accounts get the same counts over a 10-second window instead. Go over and you get a 429 plus Retry-after and X-Gorgias-Account-Api-Call-Limit headers (the latter reads like 10/80), so back off on the header rather than guessing a sleep interval. Do the arithmetic before committing to this route: an API-key integration at 40 requests per 20 seconds, holding the default limit of 30 and assuming zero retries, moves about 3,600 tickets per minute. A 500,000-ticket account is therefore a 2 hour 20 minute job in the best case, longer once 429 backoff and write time are included. An OAuth2 app at double the allowance halves that. One caveat: the "Compare all features" table on gorgias.com/pricing publishes a plan-level API rate limit of 2 requests per second on Starter, Basic, Pro and Advanced, and 4 per second on Enterprise. Two per second is the same sustained rate as 40 per 20 seconds, but a strict per-second cap does not let you spend the whole bucket in one burst the way the developer documentation describes. Size a bulk export against the slower reading.
Route 4: request a custom export from Gorgias support
For anything the self-serve routes miss, email [email protected] with your Gorgias subdomain, the data types and time frame you need, and a contact email address. The documented data points go well beyond the view CSV: ticket ID, URL and subject; message ID and message body text; first response and resolution time; created and closed time; channel; CSAT score and survey date; the page a chat ticket was initiated from; billable ticket counts and revenue statistics including converted tickets and total spent per customer; ticket-field lists and their stats over time; Help Center article titles, URLs, content and SEO metadata; agent details down to role, bio and ID; customer names, emails and customer notes; integration name, ID, address and type; and your tags and macros. Gorgias does not publish a turnaround time for these, so treat it as the route that needs the most lead time and open the request early.
What still has no documented export
Two claims repeated across migration checklists are out of date. Macros come out through the custom export and through GET /api/macros. Rules come out too: GET /api/rules returns each rule's name, priority, event_types and — the part that matters — its full logic as JavaScript in the code field, plus an code_ast syntax tree. That is a real archive of your automation, not a screenshot of it. What it is not is portable: no other helpdesk reads Gorgias rule code, so budget rebuild time even though you can save the definitions. The genuine gap is your Chat widget configuration — appearance, office hours, targeting rules and custom text have no documented export, so record them by hand before you cancel (the Rule object, checked 9 August 2026).
Which Gorgias export route should you use?
Pick by what you need the data for. Reporting continuity wants the view CSV. A readable archive of recent conversations wants the Analytics drill-down with message content. Full history with message text wants the API or a custom export — and nothing else does, because the only self-serve route that carries message bodies reaches back 30 days.
| Route | Message bodies | Reaches back | Ceiling | Who can run it | How long |
|---|---|---|---|---|---|
| Inbox view CSV export | No | Whole view, no stated date limit | 1M tickets, larger views cut off | All plans; owner, admins, leads | ~1h per 100k; ~10h for 1M |
| Drill-down, metadata only | No | 2.5 years | Not published | All plans; owner, admins, leads | Not published |
| Drill-down, with message content | Yes, public only | 30 days | 100,000 tickets | All plans; owner, admins, leads | Not published |
| REST API | Yes | All retained history | Rate limit, not volume | All plans; needs a developer | ~2h20m per 500k at 2 req/s |
| Custom export from support | Yes, plus notes and macros | Time frame you request | Negotiated | Email [email protected] | Not published — start early |
The practical consequence is worth stating plainly: if you want full conversation history with message text going back more than 30 days, no self-serve route in Gorgias gives it to you. That is API territory or custom-export territory, and both need lead time you have to budget before your billing cycle closes. Teams that discover this in the final week of their subscription end up leaving message history behind.
The 8 September 2026 email retention change
From 8 September 2026, Gorgias applies a new retention policy to email messages, and it changes what an API export returns. Anyone pulling Gorgias email history after that date who reads only body_html or body_text will get null for anything older than 30 days — with no error to tell them so.
Three specifics from Gorgias's changelog. TicketMessage.headers is retained for 30 days after send or receipt and then set to null. Where stripped_html and stripped_text exist, the original body_html and body_text are archived and set to null 30 days after send or receipt, with the original content still reachable through TicketMessage.original_body_url. The stripped fields are unchanged and are what Gorgias recommends building against, since they hold the curated message content without the signature or quoted thread. For a migration that means one of two things: read the stripped fields, or follow original_body_url for each message and accept the extra request per message against the rate limits above. A script written before September that reads the body fields directly will run to completion and silently produce an archive of empty messages (Gorgias developer changelog, checked 9 August 2026).
How long do you have to export after cancelling?
Your Gorgias subscription ends at the end of the billing cycle in which you submitted the cancellation request, and you keep access until then. That period is your entire export window.
Cancel from Settings > Account > Billing & usage, click Manage on the Helpdesk card, then Cancel auto-renewal. One trap catches Shopify merchants specifically: uninstalling the Gorgias app from Shopify does not cancel the subscription, so a store that removes the app and assumes it is done keeps getting billed. Billing questions go to [email protected] (Cancel an account, checked 9 August 2026). Sequence the work backwards from your renewal date: request the custom export first because it depends on someone else's queue, start the API pull second because it is the longest running, and leave the CSV and drill-down exports until last since both are self-serve and quick to repeat.
Tip: run a drill-down export with message content on your last 30 days even if you plan to use the API. It takes minutes, it needs no developer, and it gives you a readable fallback for the conversations most likely to still be open when you switch platforms.
Frequently Asked Questions
Open the dropdown menu at the top left of the Gorgias helpdesk, choose Inbox, select a view from the sidebar, tick the checkboxes on the tickets you want (the header checkbox selects the current page, then you can extend the selection to the whole view), open the three dots icon and choose Export tickets. Gorgias emails a download link that stays active for 14 days, after which you regenerate the export. The feature is available on all Helpdesk plans, but only the account owner, admins and leads can run it. One export covers a maximum of 1 million tickets and a larger view is cut off at that limit rather than split into several files, so filter by date range if you are close to it. Budget roughly 1 hour per 100,000 tickets, up to about 10 hours for a full million (docs.gorgias.com, checked 9 August 2026).
It depends entirely on which export you run, and this is the fact that decides most Gorgias migration plans. The CSV export from an Inbox view does not include message text — it carries the number of agent and customer messages, but not the messages themselves. The Analytics drill-down export does: open Analytics, click a metric value to open the ticket list behind it, hit Export, and choose Export with message content rather than Export metadata only. The catch is reach. A metadata-only drill-down export goes back 2.5 years, while an export with message content is limited to the most recent 30 days of the selected period or 100,000 tickets, whichever comes first. Only public messages are included; internal notes, ticket events, Facebook wall posts and Instagram media messages are excluded (docs.gorgias.com, checked 9 August 2026).
Not through any self-serve route with the message text attached. The 30-day cap on the Analytics drill-down's message-content export is the binding limit, and the Inbox view CSV has no message bodies at all regardless of how far back it reaches. Two routes remain. The REST API returns full history through /api/tickets and /api/messages with cursor-based pagination, subject to rate limits. Or you email [email protected] with your Gorgias subdomain, the data types and the time frame you need, and request a custom export — which can include message IDs and message body text, customer notes, macros, Help Center article content, billable-ticket and revenue statistics, and the page a chat ticket started from. Both need lead time, so open them before the last week of your billing cycle rather than after.
Yes. The Gorgias REST API sits at https://{your-domain}.gorgias.com with endpoints including /api/tickets, /api/customers and /api/messages. Pagination is cursor-based (offset paging is deprecated): pass cursor, limit and order_by, then follow meta.next_cursor. The default limit is 30. Rate limits work as a leaky bucket — 80 requests per 20 seconds for OAuth2 apps and 40 per 20 seconds for API-key integrations, with Enterprise accounts getting the same counts over a 10-second window. Exceeding it returns HTTP 429 with Retry-after and X-Gorgias-Account-Api-Call-Limit headers. At 40 requests per 20 seconds and the default page size, an API-key integration moves about 3,600 tickets a minute at best, so half a million tickets is a job of well over two hours. Note that gorgias.com/pricing separately publishes a plan-level API rate limit of 2 requests per second (4 on Enterprise) — size bulk exports against the slower figure (developers.gorgias.com, checked 9 August 2026).
Your Chat widget configuration — appearance, office hours, targeting rules and custom text — has no documented export route, so record it by hand before cancelling. Two other items are common false alarms. Macros come out through a custom export from Gorgias support and through GET /api/macros. Rules come out through GET /api/rules, which returns each rule's name, priority, trigger events and its full logic as JavaScript in the code field — you can archive the definitions, you just cannot import them into a different helpdesk, so budget rebuild time rather than capture time. The gaps that catch people out sit inside the exports rather than outside them: internal notes, ticket events, Facebook wall posts, Instagram media messages and Instagram ad media messages are all excluded from message-content exports (docs.gorgias.com and developers.gorgias.com, checked 9 August 2026).
Your subscription ends at the end of the billing cycle in which the cancellation request was received, and you keep access until that date — so that period, not the day you decide to leave, is your export window. Cancel from Settings > Account > Billing & usage, click Manage on the Helpdesk card, then Cancel auto-renewal. Shopify merchants should note that uninstalling the Gorgias app from Shopify does not cancel the subscription; billing continues until you cancel in Gorgias itself. Billing questions go to [email protected]. Work backwards from the renewal date: request the custom export first because it sits in someone else's queue, start any API pull second because it runs longest, and leave the CSV and drill-down exports until last since both are self-serve and quick to repeat (docs.gorgias.com, checked 9 August 2026).
Need the full migration guide?
This page covers export your data specifically. For the complete step-by-step migration process:
Read the complete Gorgias migration guideReady to try Converge?
$49/month flat. Up to 15 agents. 7-day free trial, no credit card required.
Start Free Trial