When data export is enabled, you can export data to a JSON, CSV, or XML file. Export generates fresh data each time you export. You cannot run multiple exports for the same type of data (tickets, organizations, users) at the same time.
You must be an administrator or an Enterprise agent with permission to view and edit reports to export data.
Enabling and disabling data export
To protect the data in your Zendesk, data export is not automatically enabled in all accounts. If you do not have this feature, contact Zendesk Customer Support to activate it.
When data export is enabled, administrators in a specific email domain can export data from your Zendesk. The account owner's email domain is used as the default, but the account owner can change the domain if necessary.
- Contact Zendesk Customer Support. Be sure to include your Zendesk Support subdomain name.
To change the email domain for admins to export data
- Click the Admin icon (
) in the sidebar, then select Manage > Reports.
If necessary, click the Export tab to display data export options. Some legacy versions of Zendesk show export options on a separate tab.
Note: You will not see the export option unless you have contacted us to enable data export. - Replace the domain in Approved email domain
For example, mycompany.com.
If you do not put any value in this field, the ability to export data will not be limited to admins in a specific domain. In that case, any Zendesk Support admin will be able to export data, regardless of their email domain. If you include a value here, admins must sign in using the approved email domain to use the data export option.
- Click Save.
- Click the Admin icon (
) in the sidebar, then select Manage > Reports.
If necessary, click the Export tab to display data export options. Some legacy versions of Zendesk show export options on a separate tab.
- Click Disable exports.
- Click Ok to confirm.
Exporting your data to a downloadable file
You can export data to a JSON, CSV, or XML file to get a snapshot of the data at the moment you select that option.
When you request a file, a background job starts and you are notified via email when it's complete. You can then download a zip file containing the data report(s). The download link is valid for at least 3 days.
- Click the Admin icon (
) in the sidebar, then select Manage > Reports.
If necessary, click the Export tab to display data export options. Some legacy versions of Zendesk show export options on a separate tab.
If you are an admin on account with data export enabled, but you do not see this option, it might be because you have email domain restrictions set up and you are not signing in from an approved email domain.
- Select an export option.
- For JSON exports, select the date range and type of data to export, then click Export.
JSON export is recommended for accounts with more than 200,000 tickets. Accounts with more than 1 million tickets are downloaded in JSON format only in 31-day increments.
- For CSV or XML exports, click Request file beside the appropriate export option.
For more details on the export options, see Understanding the data export options.
- For JSON exports, select the date range and type of data to export, then click Export.
- A background job is started and you are notified via email when it's complete.
- Click the link in your email notification to download a zip file containing the report.
The download link is valid for at least 3 days.
If you have not received the email notification, you can click latest beside Full JSON export, CSV export, Full XML export, or User XML export to download the most recently generated report. The latest report displays your account data from the file you last requested, not your current account data. See Delays in receiving the email with the downloadable data export file for more information.
Understanding the data export options
You can request and download each of the following data reports:
-
Full JSON Export: Exports full data as a list of objects in JSON format. The JSON export enables you to export most data from your Zendesk, including ticket, user, and organization information. Accounts with more than 1 million tickets are downloaded in JSON format only in 31-day increments.
If you want to import these JSON objects into another app, you’ll need to wrap the objects in an array, and comma-separate each line.
Example: Support exported the following objects:
{"ticket":{"id":....}} {"ticket":{"id":....}} {"ticket":{"id":....}}
To create a valid JSON file, you’d wrap the objects into an array as follows:
{"tickets":[ {"ticket":{"id":....}}, {"ticket":{"id":....}}, {"ticket":{"id":....}} ]}
The date ranges for these exports use a system-generated timestamp. Typically, these timestamps match the most-recent update recorded on the ticket, user, or organization (not the creation date). There are some exceptions for system updates that don't generate ticket events. In these cases, you may see a few unexpected tickets in the output.
- CSV export: Exports ticket data in CSV format. Does not include deleted tickets, ticket comments, or ticket descriptions. See Understanding which ticket data is in the CSV export for the ticket data included in CSV exports.
- Full XML export: Exports data in XML format. The file includes:
- Accounts, which is all the settings for your account
- Entries, which is all the content added to your forums (including comments). This is a legacy Zendesk feature. For most accounts, data export will not include entries.
- Forums, which is detailed information about your forums. This is a legacy Zendesk feature. For most accounts, data export will not include forums.
- Groups, which is detailed information about your groups
- Organizations, which is detailed information about your organizations
- Tickets, which are all the details (including comments) for all tickets
- Users, which is the list of all your users (end-users, agents, and administrators).
Note: Full XML export is not available for accounts with more than 200,000 tickets. Use Full JSON export instead. - User XML export: Exports user data in XML format. The file includes:
- Groups, which is detailed information about your groups
- Organizations, which is detailed information about your organizations.
- Users, which is the list of all your users (end-users, agents, and administrators).
Understanding which ticket data is in the CSV export
The ticket data in the CSV export includes the data shown in the following table. Multi-line text and multi-select fields, as well as custom date fields, are excluded from CSV exports, but can be included on full JSON and XML exports.
Data | Description |
---|---|
ID | The ticket number. |
Requester | The name of the requester. |
Requester ID | The requester's ID number. |
Requester external id | The ID from an external system. Optional for accounts that have enabled Professional or Enterprise single sign-on using JWT or SAML. |
Requester email | The requester's primary email address. |
Requester domain | The email domain of the requester's primary email address. |
Submitter | The name of the initial submitter. The requester's name is displayed if the requester submitted the ticket. If an agent submitted the ticket on behalf of the requester, the agent's name is used. If requester is changed, the submitter does not change. |
Assignee | The assignee at the time of export. |
Group | The group at the time of export. |
Subject | The subject of the ticket. |
Tags | The tags added to the ticket at time of export. |
Status | The status at time of export |
Priority | Priority at the time of export. |
Via | The ticket channel from which the ticket originated. |
Ticket type | The type at the time of export. |
Created at | The original creation time and date. |
Updated at | The time and date of the most recent update. |
Assigned at | The time and date of the most recent agent assignment (i.e. the time it was assigned to the current assignee). |
Organization | The organization of current requester (if any). |
Due date | The due date at the time of export. |
Initially assigned at | The time and date of first assignment to an agent (not to a group). |
Solved at | The time and date of the final or most recent change to solved status. |
Resolution time | The final or most recent resolution time in hours, rounded to the nearest whole hour. |
Satisfaction Score | The current satisfaction rating status (Not Offered, Offered, Good or Bad). |
Group stations | The number of group assignment changes made. The initial assignment upon ticket creation also counts as a station. |
Assignee stations | The number of agent assignment changes made. The initial assignment upon ticket creation also counts as a station. |
Reopens | The number of times a ticket has been changed from Solved to Open (whether by agent or end-user). |
Replies | The number of public agent replies on a ticket to a comment from an agent or end user. |
First reply time in minutes | The time between ticket creation time and the timestamp of the first public agent comment, displayed in minutes. |
First reply time in minutes within business hours | Same as above, but only time that elapses during listed business hours is counted. |
First resolution time in minutes | The time between ticket creation time and the timestamp of the first change of status to solved, displayed in minutes. |
First resolution time in minutes within business hours | Same as above, but only time that elapses during listed business hours is counted. |
Full resolution time in minutes | The time between ticket creation time and the timestamp of the final or most recent change of status to solved, displayed in minutes. |
Full resolution time in minutes within business hours | Same as above, but only time that elapses during listed business hours is counted. |
Agent wait time in minutes | The total time spent in the Pending status, displayed in minutes. |
Agent wait time in minutes within business hours | Same as above, but only time that elapses during listed business hours is counted. |
Requester wait time in minutes | The combined total time spent in the New and Open statuses. If the ticket is reopened after being solved, time spent in Solved status is counted as well. Time after final change to Solved status is not included. |
Requester wait time in minutes within business hours | Same as above, but only time that elapses during listed business hours is counted. |
On hold time in minutes | The total time spent in the On-hold status, displayed in minutes. |
On hold time in minutes within business hours | Same as above, but only time that elapses during listed business hours is counted. |
108 Comments
Hi All,
I wanted to share some work that our team has done that is related to the export/report area.
We recently created a free Zendesk Support app to help managers easily capture ticket data in Google Sheets. It automatically creates rows for new tickets and keeps them in sync when there are updates made to the ticket.
It'd be great to get feedback if this helps any folks on this thread and what would make it more useful. You can install it here: https://www.zendesk.com/apps/support/google-sheets-by-azuqua/
Best,
Phill
Hi All
We currently have two incidents of Zendesk in Hub and Spoke and looking to merge this into one site with 2 Brands (and bring on 2 new brands). I am investigating this as an option to bring over history. I noticed that one of my two sites has CSV and XML while the other also includes full JSON export...
What is the difference and why is one site different than the other. I suspect given my situation, I may want full JSON from what I have been trying to read in the API.
Hi Anthony!
JSON is available for accounts with a bigger volume of data. For smaller accounts you can export as XML and convert to Json using one of the free tools available online
One quick search returned the below, but there are others that you can check
https://www.oxygenxml.com/doc/versions/19.1/ug-editor/topics/convert-XML-to-JSON-x-tools.html
Hello,
Is it possible to export simply the list of custom reports from an instance?
Thanks,
Lisa
Hi Lisa,
Just want to make sure I understand correctly, you're looking to export a list of the custom reports you have set up in Insights, is that correct?
Hey Nicole,
Exactly this, yes.
Thanks!
Lisa
Hey Lisa -
Are you an Admin or Owner of the account? It sounds like those are the only folks who may be able to pull this sort of report.
Hey Nicole, yep I'm an admin of one of our accounts.
Thanks,
Lisa
Okay, great. I hate to switch channels on you, but one of our Customer Advocates recommended pulling you into a ticket so that they can dig into this in more detail that's specific for your account. Look for an email from me shortly!
Hi Jessie - I've clicked the "export CSV" button to export all the tickets and their respective email addresses. Where/how can I check the status of my export? Thank you!
Has anyone else noticed that some ticket subject lines randomly get truncated when you export views? For example one subject line with have 8 or nine words and then three dots ... And, another subject line will have 23 or so words and no dots. It would be if we could figure out a way to not have the subject line get truncated.
Hi Nate!
I'm not sure what might be causing this...I'm going to see if I can find someone to help you out!
Hi Nate! This is most likely due to a change in the subject field's length limit.
Prior to April 2017, the subject field was limited to 150 characters. In April, that limit was increased to 255 characters. The shorter subjects with "..." at the end are most likely from older tickets.
I hope this helps! Have a great day!
Is it possible for end users to export a report (csv) of their own open issues?
@Chris,
Not that I'm aware of but that's a great idea! I suggest you add that to the Feature Request area.
Currently I have reports for each of my customers (they are separated by Organizations) which I have configured to send out auto-emails weekly or monthly depending on their preferences.
Heather,
Interested to know how you auto-email Reports to End Users? I thought they could only be scheduled to go to Agents.
Useless. Need to do an XML export as we have done for the past year. Now, surprise. it is no longer supported. So you switched to JSON but the docs only talk about XML.
Click here for more unspported features.
really?
Oye...
And the JSON export does not export valid JSON. It exports lines of JSON snipits.
{"url":http..,"id":1...} /n
{"url":http..,"id":2...} /n
when it should be :
{data:[
{"url":http..,"id":1...},
{"url":http..,"id":2...}
]}
So XML is gone, now you have to write a parser to fix the JSON that is exported. Remove something that works and replace it with something broken.
ugg......
@ Steve Filer - you said:
Interested to know how you auto-email Reports to End Users? I thought they could only be scheduled to go to Agents.
A: I thought so too! And then I discovered that if you go to Reporting --> Insights --> click "Good data" on the top right ---> click "schedule this" (time clock icon) on the Good Data top right and just click "Add recipients" halfway down the popup. Enter any email addresses you need!
The catch: If you need to modify this, you have to CANCEL the whole job and start over. But hey, it's better than not being able to do it at all!
Hope this helps.
-Heather
Thanks Heather. Got it! So as long as your Report is on a Dashboard it can be emailed to anyone. I always used the 'Schedule New Email' from within GoodData Zendesk Analytics to select a specific Report, where you are restricted to only Agents.
Hi Team,
Is it possible to export tickets which should include First Comment of the ticket. Please find the attached screen shot for better understanding.
Thank you
Prasanth Sai.
Hello @Prasanth Sal.
I like to use the Advanced_Search app from the Marketplace. You can add your search criteria and select the output you want, there's a checkbox for 'Description', that's the one you want to return the first comment. :) Then there's the option to export to a CSV file.
Hope this helps!
Amanda
Thank you Amanda !
Can you tell me when this feature has been added?
I'm not sure when it came about, but it's currently available. Here's the link to the app: https://www.zendesk.com/apps/support/advanced-search/?source=app_directory
:)
Hello! Unsure if you've heard about Onna, but it lets you collect/export tickets and attachments from Zendesk for search, e-discovery, and legal hold. Here's their how-to article for more info: https://intercom.help/onna/current-integrations/how-to-collect-from-zendesk
Hi all,
we have the same problem as described above by Bruce Van Buren. The JSON export is the only comprehensive export available but the downloadable file is useless because the format is broken. Zendesk support is not really helping but directing us to the forum, great.
To get what we require, either Zendesk needs to provide a scheme file to parse JSON correctly or we need to write a parser to fix for the broken CSV format by ourselves.
Anyone having similar problems / requirements?
Is Zendesk capable of providing a scheme file?
Hi Peter,
Have you checked out Onna? They integrate with Zendesk and lets you export in csv, dat or txt files. If you need more info, feel free to contact me at mayda@onna.com
Mayda
Hey, unless something has changed, we've been using the full .json file download for Users and then just parsing it out in Excel. Here is a quick guide we put together for our internal teams to use for our Security Account Audits. It may not be exact instructions, but a saavy Excel person may understand pretty easily or adjust where needed. Hope this may help.
Zendesk Main JSON User file to Excel
Reference this as a close example, https://www.youtube.com/watch?v=CjnsX81qWUg
Use main Reports > JSON User file (which is JSONL file)
Rename extension to .txt to Import as Text file

Open a new Excel > Go to Data > New Query (under Get & Transform) > From File > From Text > choose file, click Import > make sure only 1 Column of data shows up, might have to change delimiter (changing to “Tab” should work) > click Load
Go to Query tab > Edit Query > Transform tab > Parse > JSON
Click the icon top right of Column 1 > choose the columns you want for the table, then click OK
Go to the “user_fields” column and click the icon to select the user fields you want to include, then click OK.
Go to Home tab > click Close & Load > wait for query to finish running > Then Select All, then copy/paste to replace Agent-Admin data in master spreadsheet (Zendesk-Prod-Agents-Admins.xlsx) so then you just have the data and not connected to a query tab, and can probably close this query spreadsheet at this point. Then just perform normal Spreadsheet cleanup stuff, rename column headers if needed, set filters, sort out data like keep only Agents-Admins and remove all end-user records, remove records that are Zendesk Inactive.
Master Spreadsheet (Zendesk-Prod-Agents-Admins.xlsx):
Hi there,
I've performed Full JSON Export for users just today. After importing data into local database I found that 248 records out of 101126 are missing! I probably wouldn't even notice, if not for my own admin record that was missing too!
Could anybody suggest why those records could've been omitted from JSON download, and if there's any quick and reliable way to cross-check and fix the data?
Very soon I'm going to export Tickets and Comments data and import it into local database, and I hate to think that many records may go missing, unnoticed.
Regards.
UPDATE: Several hours later I re-tried Full JSON User export. This time I got bigger file that includes all missing user records. I guess I'll need to do the same with Tickets file, at least to make sure its size doesn't change over time.
Please sign in to leave a comment.