How to Export Tickets & Data from Freshdesk
At some point every support team needs its ticket data out of the help desk and into something else — a spreadsheet for a board deck, a warehouse for a BI dashboard, a backup before a migration, or an audit trail a compliance team can inspect. Freshdesk gives you four ways to do this, and they are genuinely different tools rather than four buttons for the same job: a quick CSV or Excel pull from the Tickets screen, a scheduled export out of Analytics, a machine-readable daily feed of ticket activities, and the raw REST API. This guide walks through each one, shows exactly where to click, and is honest about the limits — the conversation history that quietly gets left behind, the archived tickets that vanish, and the row ceilings that bite once you scale.
The four export paths at a glance
Before the step-by-steps, it helps to know which tool fits which job, because reaching for the wrong one wastes an afternoon.
| Path | Format | Best for | Plan gating |
|---|---|---|---|
| UI ticket export | CSV or Excel | A quick, filtered pull of ticket fields | All plans (Admin/Supervisor) |
| Analytics export | CSV, PDF, XLSX | Metrics, charts, scheduled reporting | Scheduled: Pro / Enterprise |
| Ticket activities export | JSON | An event stream for a BI tool | Pro / Enterprise |
| REST API | JSON | Full programmatic access, migrations | All plans (API access) |
The rule of thumb: use the UI export for a one-off spreadsheet, Analytics for recurring reports a manager reads, the activities feed when a data team wants raw events, and the API when you need everything and can write a little code.
Path 1: Export tickets to CSV or Excel from the UI
This is the one most people mean when they say "export my tickets," and it's the fastest. Per Freshworks' how do I export my tickets from Freshdesk guide, it lives right on the ticket list.
- Go to the Tickets tab and select the All tickets view.
- Apply the filters you want — created time, agents, groups, ticket type, status, and so on — so you're exporting the slice you actually need rather than the whole account. (If you live in a particular saved view, it's worth reading Freshdesk ticket views explained first so your filters and your export line up.)
- Click Export in the top-right corner.
- In the slider panel that opens, choose CSV or Excel, then tick the exact ticket fields you want — Ticket ID, Subject, Status, Priority, Type, Group, Agent, timestamps, and any custom fields. Expand Show multiline text fields if you need the description or custom multiline content.
- Click Export. Freshdesk emails you a download link when the file is ready.
You'll need an Admin or Supervisor role. If the Export button isn't there, an admin has likely restricted it in a custom role under Admin → Roles. Past exports and their status live at Admin → Account Exports.
The important caveat: this export gives you ticket fields, not the conversation. The back-and-forth thread — the replies, the private notes — does not come along, and archived tickets are excluded. For a full record you need a different path.
Path 2: Export and schedule reports from Analytics
If what you actually want is metrics — resolution times, volume by channel, CSAT trends — export from Analytics rather than the ticket list, because Analytics can shape and aggregate the data before it leaves the building. Freshworks documents this in exporting your ticket data in Analytics.
For a one-off report, open Analytics, select your report or widget, click the export icon, and pick CSV, PDF, or XLSX.
For a recurring export — the part teams love — go to Analytics → gear icon (Settings) → Data Exports and create a schedule. Choose Daily, Weekly, or Monthly from the Schedule dropdown, set a time, and Freshdesk delivers the file to your mailbox on that cadence. You can bundle associated Contact and Company fields alongside the ticket data so a downstream BI tool has the context it needs.
Scheduled Analytics exports require a Pro or Enterprise plan (Freshdesk or Freshdesk Omni). Large exports take a few minutes to compile, and the note in the docs is worth heeding: "Based on the number of entries in the data, it may take several minutes to export and send the data to your mailbox."
Path 3: The daily ticket-activities export
This is the path the primary keyword points at, and it's the most misunderstood — because it isn't a spreadsheet at all. The ticket activities export is a machine-to-machine feed built for BI tools, not for a human opening a file. Per Freshworks' export ticket activities from your helpdesk article:
- Log in as an Account Admin.
- Go to Admin → Account → Scheduled Exports.
- Enable Daily export of ticket activities.
- Click Edit to reveal your API URL, then paste that URL into your Business Intelligence tool.
The output is JSON, and each day's file contains every event that happened across all your tickets the previous day — status changes, priority changes, assignments, notes — including actions performed by automations. The file stays available for 30 days from creation, and you can pull an older day by appending ?created_at=YYYY-MM-DD to the URL. It's gated to Pro and Enterprise plans.
One honest flag: this feature is deprecated alongside Legacy Reports. It remains accessible if it was previously enabled, but if you're building something new on it, treat that as a reason to prefer the Analytics data export or the API instead.
Path 4: The REST API for full, programmatic access
When you need everything — including the pieces the UI export drops — the Freshdesk REST API is the answer, at the cost of writing a little code. The GET /api/v2/tickets endpoint returns tickets as JSON, and this is where the numbers matter.
- Results are paginated at 30 tickets per page by default; you can push that to a maximum of 100 per page with the
per_pageparameter. - List All Tickets caps out at 300 pages — a hard ceiling of roughly 30,000 tickets through that endpoint alone. Above that count, it will not return everything.
- The Filter Tickets endpoint lets you query by
agent_id,group_id,priority,status,created_at,updated_at, custom fields, and more — but it's capped at 10 pages, or about 300 tickets per query, so you filter narrowly and page carefully. - Archived tickets are excluded from both endpoints, the same blind spot as the UI export.
For genuinely complete data — full conversation history and attachments included — the standard advice is to combine an Account Export (the full XML/JSON dump) with targeted API calls, rather than relying on the ticket-list CSV.
The honest limits — where Freshdesk export stops
Freshdesk's export tooling is solid and, for reporting, hard to fault: the Analytics scheduler in particular is a genuinely good way to get a weekly metrics file into a manager's inbox without anyone lifting a finger. But it's worth being clear-eyed about the seams.
The recurring theme is completeness. The convenient UI export omits the conversation thread and archived tickets; the API's List All Tickets endpoint silently stops at ~30k; archived tickets slip through nearly every path. If you're migrating or building a legal archive, no single button gives you the whole picture, and stitching the pieces together is real engineering work.
The deeper limit is that export is a snapshot, not an action. Every one of these paths moves data out so a human or a downstream tool can look at it later. None of them changes what happens inside the help desk. If you find yourself exporting the same tickets every week to answer "how many of these could we have deflected?" or "which of these were just order-status questions?", the export is telling you something the export can't fix.
That's the seam where an AI agent layer fits — and it's worth weighing the build-versus-buy tradeoff honestly before you do. The broader category of AI agents for customer service exists to act on tickets in place rather than merely report on them after the fact. Macha is one such layer: it runs on top of the Freshdesk you already use as a native connector — you point it at your Freshdesk subdomain and API key — and it reads and writes the same tickets your exports pull from. Instead of exporting order-status questions to count them, a custom tool lets an agent look the status up and answer live; instead of exporting to see how tickets were tagged, the agent triages by intent as they arrive. If that sounds closer to what you're after than another CSV, automating Freshdesk with AI is the natural next read.
Macha connects to Freshdesk specifically — not Freshchat, Freshservice, or Freshcaller — and credits are consumed per AI action, not per resolution; the pricing page has the full breakdown. The clean division of labour: keep Freshdesk's exports as your system of record for what happened, and layer an agent on top for the part a spreadsheet can't do — actually handling the ticket.
FAQ
How do I export tickets from Freshdesk as a CSV? Go to the Tickets tab, select All tickets, apply your filters, and click Export in the top-right. In the slider panel choose CSV (or Excel), tick the ticket fields you want, and click Export. Freshdesk emails you a download link. You'll need an Admin or Supervisor role.
Does the ticket export include the full conversation? No. The UI ticket export contains ticket fields only — it does not include the conversation thread (replies and notes) or archived tickets. For complete data including conversations, use a full Account Export combined with the REST API.
What is the ticket activities export and what format is it? It's a daily JSON feed of every event across your tickets from the previous day (including automation actions), enabled at Admin → Account → Scheduled Exports. It's meant to feed a BI tool via an API URL, is available for 30 days, and requires a Pro or Enterprise plan. Note that it's deprecated alongside Legacy Reports.
Can I schedule automatic exports in Freshdesk? Yes — from Analytics → Settings (gear) → Data Exports, you can schedule an export Daily, Weekly, or Monthly to your mailbox in CSV, PDF, or XLSX. Scheduled exports require a Pro or Enterprise plan.
What are the limits of the Freshdesk export API? The GET /api/v2/tickets endpoint paginates at 30 tickets per page (max 100 via per_page). List All Tickets caps at 300 pages (~30,000 tickets), Filter Tickets at 10 pages (~300 tickets per query), and archived tickets are excluded from both.
Want your Freshdesk tickets acted on, not just exported and counted? Start a free trial of Macha and connect it to your Freshdesk in minutes.
Add AI agents to your Freshdesk
Macha resolves tickets end to end on Freshdesk — no migration, no code.
Zendesk
Freshdesk
Gorgias
Front
Shopify
Stripe
Slack
Notion
Google Workspace
Confluence

