Question
Is it possible to download all ticket attachments in Zendesk Support?
Answer
Zendesk Support does not have a full download or export functionality for attachments. However, you can use the Zendesk API for both an individual ticket and for all tickets.
For an individual ticket
To retrieve the attachments of one ticket, follow the steps below:
- Find your attachment URLs within:
https://subdomain.zendesk.com/api/v2/tickets/TICKET_ID/comments.json
- Replace the
subdomain
with your actual subdomain andTICKET_ID
with your ticket ID - Each comment has an
attachments array
attribute, which contains a link to any attachment included in that comment
To get the file associated with it, download the file linked at thecontent_url
attribute
For all tickets
To retrieve the attachments of all tickets, follow the steps below:
- Accounts with access to exports should be able to perform a JSON export of tickets, which will contain links to the various attachments as:
https://subdomain.zendesk.com/api/v2/attachments/ATTACHMENT_ID.json
Note: The same attachment links will show up in the JSON export associated with user photos. If that user has been deleted or subsequently changed their photo, those links will fail to return files. - Replace the
subdomain
with your actual subdomain andATTACHMENT_ID
with your the attachment ID - To download the attachments associated with each link, perform a
GET
request to thatattachments
endpoint - Then, download the file linked at the
content_url
attribute
Note: If you use private attachments, these types of attachments are only visible to end users and the assignee of the ticket. Private attachments are available on messaging tickets, for accounts created on or after December 5, 2024.
19 comments
Eduardo Silva
I think this missing feature is a must, we just got a ticket with more than 130 files and we need to grab all of them, time is critical.
14
David McKnight
I just downloaded almost 100 jpg files from a client's support ticket, and had to do it one-by-one-by-one-by-one-by-one... Click on the image, click the download button, point browser to where the images need to be saved, save, start all over again. PAINFUL
1
David McKnight
I just looked at the API dump of the ticket, and I could write some code to parse everything from the content_url, but what a pain. You should already have a function that already does that. I am going to look to an alternative drop box for files, but now they won't be attached to the ticket, so it will require a manual reference in the ticket. Sure wish you guys would take a look at this.
1
David McKnight
OK, I think my solution for this until Zendesk offers this function is to have the client access an Office 365 SharePoint folder in the browser and upload images to that folder. Still would prefer that be a function in Zendesk, keeping everything together.
1
Dave Dyson
1
Rosana Lin
This feature is very needed.
2
Markus Schulz
This is a particularly important function because these days everyone who deals with customers automatically receives files (especially photos) from them. From my point of view, it's necessary to have the possibility to download all attachments at once. Even if it is packed into a zip file.
If zendesk wants to be a professional tool for dealing with customer requests and claims this function is a must!
1
Moises Ortiz
Is there a change in the way to download attachments? We noticed in the recent couple of weeks that users are now asked to log in to download attachments. This is also causing integrations to not be able to get attachments and instead are directed to our SSO page.
1
Christine Diego
If the private attachment is enabled on your account, visibility is restricted to users with access to the ticket.End users can see private attachments in their tickets in help center because they have to sign in to view their tickets. However, the attachments will appear as links in email tickets. They'll need to click the links and sign in to the help center to view the attachments. You can disable this feature if you'd like you user to view and download the attachment without signing in, you can check this article for details Enabling private attachments
1
Moises Ortiz
Thank you! Yes we found it and disabled private attachment and fixed our issue. Thanks for getting back to me
1
Markus Schulz
Dear Marino,
Currently we are using an app called 'Download all attachments'. You can find it in the market place. It works quite fine for us.
BR,
Markus
0
Hugo Verschae
Hey i have a good " solution " for you all !! You can download a extension for Googlechrome ----> Image Downloader . If you want to download many images at once, with this extension you can.
Open few tickets on the same page and you can download all the images from all the tickets :)
I Have few others tips just in case!
1
Max
Hey,
Just wondering if the URL of the file (ex https://domain.zendesk.com//attachments/token/{token}/?name={filename}.jpg) is still available after licences expire.
We're migrating an instance to another one, and we were wondering if we could access this data from the 'old' instance some months after "closing" it.
Thanks
1
Jupete Manitas
Hi Max, thanks for writing in!
Once the subscription of the account has ended, in general our access will no longer be available including access to the API endpoints. We recommend exporting your data and store them in safe location before the account expiration or licenses expire. From there you can use the data for imports and other options. Or if possible you can extend the subscription if migration is still in process as it is best to migrate data between accounts if both are active.
Thank you!
1
The Original DKNY
Jupete Manitas, Claire Miller, @...,
There are no functional examples of this mission-critical function for archiving, backing up, or exiting the platform. Downloading an attachment is the only function or method not documented on the Zendsk Developer Attachments page.
I have made multiple requests to support asking for a "single Functioning Example of downloading a ticket attachment" using curl or any language used in other docs pages. Support responded to me using the same link as above.
When using curl or python to GET an attachment, the file returned is always radically different in size ( smaller by at least 20%) than reported via API and is always corrupt or unopenable. Zendesk should provide a single functional example to demonstrate no issue with the Attachments endpoint or to ensure we can meet a mission-critical objective.
If there is a need to turn off security features related features to enable exporting file content, that needs to be documented in dev and KB.
I have been using the stored value in the content_url as suggested and the name from file_name in the attachments json or nested attachment objects from ticket/<id>/comments.
Please help, as this is beyond lousy support and documentation experience. This documentation gap related to data liberation or self-archiving ticket attachments via API is a major red flag for future potential uses or recommendations for Zendesk products.
-Dave
(tokens and identifiers are replaced with the keys they are pulled from in the example)
2
David
Hi Dave,
can you try this curl?
curl -u <your_email>/token:<your_api_token> -O <attachment_content_url>
We'll work on updating the documentation
1
Vlad
Using curl with “curl -u <your_email>/token:<your_api_token> -O <attachment_content_url>” is still not working and the file is unreadable. Download the file via fetch in Javascript is also not possible, because of an cors error.
0
Than Dev
My app Better Attachments supports downloading all attachments in a ticket. You can also filter by images, documents, and other files. Plus, the app comes with a feature to search attachments throughout all of your tickets!
0
Destiny
Thank you for reaching out.
I am sorry to know that you are having issues with downloading attachments. Here are some steps and suggestions to help you troubleshoot and resolve the problems:
Common Issues with cURL:
If the above is still not working, consider these alternatives:
0