You must be an administrator to export data.
Enabling and disabling data export
When data export is enabled, administrators in a specific email domain can export data from 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
-
In Admin Center, click
Account in the sidebar, then select Tools > 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 with permission 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.
-
In Admin Center, click
Account in the sidebar, then select Tools > 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.
When you export data to an XML file, the resulting ZIP file is a ZIP32 file. However, for JSON and CSV exports, the file is a ZIP64 file instead, which is used to efficiently support JSON and CSV data sets larger than 4GB. See Announcing an improvement for large data exports.
-
In Admin Center, click
Account in the sidebar, then select Tools > 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 an 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 account including ticket, user, and organization information. Accounts with more than 1 million tickets are downloaded in JSON format in 31-day increments.
Zendesk exports your data in "NDJSON" or Newline Delimited JSON. This format enables systems to stream in JSON objects one at a time, rather than read the entire file at once. This is helpful for extremely large export files (such as Zendesk exports), which may be too much for a traditional JSON viewer.
More information about NDJSON.
-
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:
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 cases where system updates don't generate ticket events. In these cases, you may see a few unexpected tickets in the output.{"tickets":[ {"ticket":{"id":....}}, {"ticket":{"id":....}}, {"ticket":{"id":....}} ]}
With JSON export, if the amount of data being exported from a ticket is more than 1 MB, comments for the ticket are not included in the JSON file. The resulting downloadable ZIP file includes these two JSON files:- A JSON file that includes all of the tickets that you exported, including tickets that exceeded the 1 MB limit and exported without comments.
- A JSON file that includes the tickets that exceeded the 1 MB limit and an
error message letting you know that the reason the comments were not included
was because you exceeded the 1 MB limit. For example:
CSV export
With CSV export, if the amount of data being exported from a ticket is more than 1 MB, the ticket doesn’t export. It isn’t included in the resulting CSV file. However, typically, this never happens since CSV exports do not include ticket comments, which are usually the largest data component in a ticket.
See Understanding which ticket data is in the CSV export for the ticket data included in CSV exports.
Full XML export
- 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).
User XML export
- 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. If you want to export a list of
users' secondary email addresses, you must use the List Users API endpoint while side-loading identities (for example:
|
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. Displays in the account's time zone. |
Updated at | The time and date of the most recent update. Displays in the account's time zone. |
Assigned at | The time and date of the most recent agent assignment (i.e. the time it was assigned to the current assignee). Displays in the account's time zone. |
Organization | The organization of current requester (if any). |
Due date | The due date at the time of export. Displays in the account's time zone. |
Initially assigned at | The time and date of first assignment to an agent (not to a group). Displays in the account's time zone. |
Solved at | The time and date of the final or most recent change to solved status. Displays in the account's time zone. |
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. |
43 Comments
I have exported tickets data into JSON using UI and set start date 1/1/2019. Now I am looking at the export result and see that the very first record "created_at" is from 2017-something. Can someone clarify how exactly the data range is being used in the UI export?
The satisfaction score is included on the export, but not the rating date, any chance this can be included? Or Am I missing something?
Is it possible to extract a .csv with that information from explorer?
Also, custom fields are exported via .CSV and that's great.
Hi Yevgen,
The JSON export uses the last updated timestamp rather than the ticket creation timestamp. This means that it's pulling all tickets that have been updated since 1/1/2019 and hence it's possible for you to see tickets that were created prior to that date.
This is mentioned in the "Understanding the data export options" section as well: https://support.zendesk.com/hc/en-us/articles/203662346-Exporting-data-to-a-JSON-CSV-or-XML-file#topic_lnw_tfb_sfb
Warm Regards,
Eric
Eric G. Gao | Technical Support Architect | Zendesk
Hi,
I'll admit I didn't look for my question/answer through all of the comments but I did look through a lot.
Using the JSON user export, is it possible to get all of the users' identities or only the primary? In my case email address. If I want all of the email addresses, do I need to use the Rest APIs? I don't see the non-primary emails anywhere in the export.
- Scott
Is there any way to export Public Replies and Internal Notes from all of our tickets? We want to do a pattern analysis of the content in free-form text to see if there are patterns of specific words or needs that come up frequently in our tickets.
Hi @... -
You should be able to do this through the Ticket Comments API.
Alternatively, there are a few apps in the marketplace that can handle this, such as this one.
Hope this helps!
Brandon
Hi pstrauss! The Tickets JSON export described in this article also includes ticket comments. Each comment includes its full text and whether it's public or private. It's very similar to the information you'd get from the Ticket Comments API.
Since tickets and comments can get quite large, I usually recommend smaller JSON exports. You can use the date range tools to limit the size for each file. You'll also need to use a text editor to adjust the formatting slightly, so the file as a whole can be viewed as JSON. (Each exported ticket has proper JSON formatting, but they aren't grouped together in the file.)
If the Tickets JSON export doesn't quite meet your needs, then the marketplace apps and API endpoint Brandon provided could give you more options.
I hope this helps!
Thanks @... and @... - this is very helpful. I'll go ahead and request that exports be activated on our account and see if the JSON file works for us before diving into the API or 3rd-party app approach.
I have the pro plan (sell and support) and new to zendesk. I would like to backup the data from both sell and support daily at a min.
From what I have read thus far, the only way to achieve a "backup" is by exporting the data? If this is correct, can the export be automated. If so, please provide guidance and assistance.
On the other hand, if this isn't the only way, please advise on all alternative methods
Thanks
For Full JSON export, what's the From and To date condition? Is it used to filter by "created_at" or "updated_at" or anything else? I want to export the ticket which are created in the specific period but the result I get from the json is not what I expect.
@... - The date range filter is based on the "generated" timestamp. It's the most recent update of any kind, which may not match a ticket's "created_at" or "updated_at" timestamp. It follows the same behavior as time-based incremental API calls. We have more information here: Excluding system-updated tickets.
@... - There are export tools in the UI that would allow you to back up your data. The article above describes the options in Support, and this article describes the options for Sell: Exporting data from Zendesk Sell. These are manual options, though. You can't automate the system export tools.
If you want to set up an automated export, you'd need to look into the API. On the Support side, I recommend the Incremental API. That allows you to pull all records that have been updated since the starting point (using the "generated" timestamp I mentioned before). On the Sell side, you could check the Sync or Firehose options in Sell's API documentation.
I hope this helps!
Hi all,
I'm trying to export the Group name assigned to the Organizations on our support account, but in the JSON export the group is shown as an ID rather than the name.
Also this information does not appear in Explore, because it shows the current group assigned to a ticket, but not the general group. I'm talking about the field shown in green in the screenshot.
Aybody knows how to export that data for all of our organizations?
Hi @...! You are correct; that property isn't available in Explore at this time. The JSON export is probably the best resource for finding the groups associated with organizations.
Since the JSON export returns an ID rather than a name, you'll need a second resource to connect names with IDs. I recommend the List Groups API. It's a relatively simple GET call to https://SUBDOMAIN.zendesk.com/api/v2/groups (you can even access it in a browser as long as you're logged into your account).
The List Groups API includes each group's ID and name, so you can use it as a reference.
I hope this helps!
Thanks @... works great!
Are we able to export articles on guide ,from Zendesk?
Hey Tito,
You can use the Guide API to export your articles or you can use the kBackup app within our App Marketplace.
I hope this helps!
I don't actually see any way to use the API to export ticket audits with parameters like tags or specific forms. Can this be clarified? How is this achievable?
Hi CJ! This article covers the native export options for Zendesk data. The Tickets JSON export is the most thorough of the bunch -- it includes the ticket in its current state (including tags, field values, and the form), details about all associated users, metric data, and the full comment history. It's a great resource for ticket data, but it doesn't get into individual ticket audits.
If you're interested in ticket audits, you have a couple broad options.
The Ticket Audits API shows the full audit history for a ticket. It includes every change to the ticket, including metadata for each update, all field changes, all comment text, etc. It's a complete picture, but it only supports one ticket at a time. This option is helpful if you've identified a subset of tickets (through search or some other resource), and you need to pull detailed information for that list of ticket IDs. It's not efficient for large or ongoing exports.
For large or ongoing exports that include ticket audits, I recommend the Incremental Ticket Events API. The incremental endpoints are designed to deliver lots of raw data as efficiently as possible. The ticket events endpoint returns each event on its own, complete with all changes and metadata. (You have to include the comment_events side-load if you want comment text as well.) This allows you to pull all ticket events in bulk, but you need to reassemble them into tickets separately.
I hope this helps!
i dont see the reports in the list
its just not there
Click the Admin icon () in the sidebar, then select Manage > Reports.
Hi Chris! This likely means one of two things:
Exports have not been enabled. Exports are disabled by default. If they haven't yet been enabled in your account, the account owner will need to contact the support team.
There are domain restrictions on the export tools. The account owner can always reach the export page (once it's enabled), but they have the option to limit who else can access it. Only account administrators with a matching email domain will see it.
If you're an administrator on your account and you don't see the export options, check in with the account owner and reach out to Customer Support if needed.
I hope this helps!
We have export abilities turned on but I can only see the option to export in CSV or XML, even after limiting dates to one month. Any ideas why I can't see the JSON option?
Hi Kat! The CSV and XML exports do not use date filters. They always return the full account history. If you see date filters, you should have the JSON export. Here's what it looks like:
The date filters, type, and Export button are all part of the "Full JSON export" just above. Once you complete some exports, you'll see them listed above the filters as well:
If this is what you see, click the Export button and wait for an email notification. You should get a JSON export. If this isn't what you see, or you get something other than a JSON export, please reach out to our Support team to investigate further.
I hope this helps!
Hello,
Is it possible to export tickets using specific criteria, for instance, if I want to export tickets with a particular tag.
Best,
Sarah
Hi Sarah,
It depends on what you mean by exporting tickets. If you don't need every single comment, just the first message and ticket fields, it's possible, but it's trickier than the built in methods. You can do this using the Search API. Now, the good news is, you can do this without being a coder!
Here's what you want to do, in my example, we're gonna pretend the tag you want is "closed_by_merge".
1. replace the domain with your zendesk domain, and put this in your browser; https://domain.zendesk.com/api/v2/search/export.json?filter[type]=ticket&query=tags:closed_by_merge
2. You should see a JSON output of code. To convert that to CSV, run it through something like https://konklone.io/json/ .
3. Be sure to get all pages! At the bottom of the page of code displayed, you'll see a link like:
You need to copy and follow that link to get to page 2. Continue until you get a NULL/blank next page.
If you want to get fancy with this, there's guides out there on how to write Python scripts to run your search, decided what columns to collect, collect all the pages, and format it into a CSV, as well. This can be really helpful if you have thousands of results and don't want to download and convert your results page by page, and want to limit the columns in the CSV to the things you actually want/need.
Thank you, CJ 🙏 Thank you, Dave 🙏 I really appreciate your help.
Best,
Sarah
Here.. it is stated that the JSON exported list is NOT a valid JSON object...
... and I totally agree. In fact, I always need to use an editor to add a prefix `[` and suffix `]` and a comma after each new-line, in order to properly parse the list (eg. in python). Very annoying...
So, the question arises: Why don't you export as a proper formatted JSON array? I think this should be considered a bug more than a limitation or a works-by-design. It does not make sense to provide me with a sequence of json objects without commas and enclosing brackets!
Hello Zendesk Support,
I see we can pull lots of ticket data but is there any way to pull macros via this method?
Welcome to the community! There's not a built-in way to export macros, although it's possible to retrieve macro information via our API: Macros
There are some (paid) third-party apps that can be used to export Macro data (among other things): Apps Marketplace
Is this article still accurate? I don't see anything like this in my instance. Yes I can go to Account and Reports, but I have to create a Report first with limited settings, and then I can export, but only to CSV and XML, no JSON.
We are on Suite Growth, BTW
Please sign in to leave a comment.