How to Export Your Zendesk Chat Data

Converge Converge Team

Zendesk Chat retires 31 Jan 2028. The History bulk export only reaches 90 days and its CSV drops the transcript. 3 export routes compared, checked 4 Sep 2026.

How do you export your data from Zendesk Chat?

There are three ways to export Zendesk Chat data, and they do not return the same thing. The History page gives you bulk transcripts as .TXT files and chat details as CSV, but a single selection only reaches the last 90 days. The Chat API's incremental export endpoint gives you everything as JSON, owner and admin only. Everything else — triggers, routing, widget settings — has no export at all and has to be written down by hand. The CSV is the route that catches people: it carries the visitor and chat metadata but not the conversation text.

Zendesk Chat is being removed on 31 January 2028

Zendesk announced the end of life of Zendesk Chat on 4 August 2026: removal on 31 January 2028, with Chat dashboard access ending 28 July 2028 (Zendesk's removal announcement, edited 5 August 2026). Read Zendesk's own reasoning before planning anything, because it tells you what you are keeping if you stay: Chat is "a legacy product that hasn't received feature enhancements since 2020 and does not support modern AI features". That announcement covers messaging-eligible accounts — Chat + Support, and Suite. If you are on the legacy Chat-only plan, Zendesk says a separate removal will be announced, which means you have no published date and therefore no notice period you can plan an export against. Export earlier than the calendar suggests you need to.

Route 1: bulk export from the History page

Inside the Chat dashboard, History lists every chat that has ended or timed out — chats in progress do not appear. On Lite plans History holds only the past 30 days; on every other plan chats are kept until someone deletes them. Select chats, open the Actions dropdown, and you get two separate exports: Export chat transcripts (.TXT, one file per chat) and Export chat details (CSV). Agents can export a transcript one at a time; bulk export is admin-only. The ceiling that decides your plan is the selection itself — the header checkbox takes the current page, and Select all chats in History reaches the last 90 days only. Neither export downloads in the browser. Zendesk emails download links from [email protected] that expire after 24 hours, and recipients must be agents on the same account, entered case-sensitively to match their Chat profile (Zendesk History documentation, edited 1 July 2026).

The chat details CSV does not contain the conversation

This is the single most expensive misunderstanding on the way out of Zendesk Chat. The chat details CSV carries everything from the User info tab plus the chat metadata from the Transcripts tab: visitor name, email, phone, notes, past visit and chat counts, the visitor path, location, browser and device information, IP address, rating, comment, department, ticket number and tags. Zendesk's History documentation is explicit that it "does not include the chat transcript itself" (edited 1 July 2026). The conversation text only comes out of the separate transcript export, as .TXT files with no chat-ID column to join on programmatically. So a complete archive means running both exports and reconciling them yourself. A team that runs only the CSV — reasonably, because CSV sounds like the structured option and .TXT sounds like a printout — ends up holding detailed metadata about conversations whose contents are gone.

Route 2: the Chat API, for anything past 90 days

Because the History selection stops at 90 days, a longer archive has to come out of the API — and the right endpoint is not the obvious one. GET /api/v2/chat/chats lists chats, but its ids filter accepts a maximum of 50 chat IDs per call. GET /api/v2/chat/chats/search is capped at 10,000 results per query (250 pages of 40; page 251 returns HTTP 400) and returns only an ID, a preview string and a timestamp per hit, so it is a discovery tool rather than an export. The bulk path is GET /api/v2/chat/incremental/chats: up to 1,000 full chat objects per page, including the history array with every message, sender type and timestamp, the session object with IP, browser, platform, city and country, and visitor with name, email, phone and notes. Owner and administrator only (Zendesk incremental export reference, checked 4 September 2026).

Three things that quietly break a Chat API export script

First, resource expansion is off by default. With no fields parameter the incremental endpoint returns an array of bare IDs and nothing else, so a script that logs a row count reports a successful export while capturing zero content. Pass ?fields=chats(*) for the whole object. Second, next_page is never null. Unlike the rest of the Zendesk API, these endpoints hand back a polling URL once the result set is drained instead of null, so a loop that terminates on a null next_page never terminates — read the count property instead and stop when it drops below your limit. Third, start_time must be more than five minutes in the past or the request is rejected outright, and agent_timeline takes microseconds while every other incremental endpoint takes seconds. The rate limit is 200 requests per minute per endpoint, answering with HTTP 429 plus X-RateLimit and X-RateLimit-Remaining headers (Zendesk Live Chat API introduction, checked 4 September 2026).

Which settings come out, and which have to be retyped

Four pieces of your setup have their own endpoints and should be pulled before you cancel: shortcuts (the slash-command canned responses) via GET /api/v2/chat/shortcuts, visitor profiles via GET /api/v2/chat/visitors, agent profiles via GET /api/v2/chat/agents, and your routing structure via GET /api/v2/chat/departments. Everything that encodes behaviour does not come out at all: chat triggers and their visitor-behaviour conditions, routing logic, banned visitor lists, widget customisation (colours, pre-chat form fields, operating-hours display, custom CSS) and the dashboard's historical analytics. Screenshot each trigger's conditions and copy the CSS by hand. One branch changes every export route described here: if your account runs the Zendesk Agent Workspace rather than the standard agent interface, conversation history lives in the ticket rather than on the History page, and the History export instructions do not apply to you.

Moving to Zendesk messaging does not carry your history

Staying inside Zendesk does not remove the export problem. Zendesk's documentation team has confirmed there is no option to transfer live chat history into messaging — chat history already attached to a ticket stays readable on that ticket, but the History archive does not move with you. So the export work is the same whether the destination is Zendesk messaging or a different platform, and it has to happen while the Chat dashboard is still live. There is a cutover detail to schedule as well: converting a Web Widget (Classic) to the messaging Web Widget ends any active live chats and leaves in-progress tickets pending, so Zendesk advises closing out active chats, taking agents offline, and making the switch off-peak (Zendesk migration documentation, edited 29 April 2026).

Who should not migrate off Zendesk Chat

Two groups should stay and move to Zendesk messaging instead of leaving. If your chat volume already flows into Zendesk Support tickets and your team works those tickets in Agent Workspace, your conversation record is the ticket, not the Chat archive — leaving Zendesk means rebuilding a ticketing workflow you did not want to change, and the export question mostly answers itself. And if you depend on real-time visitor monitoring to initiate proactive chats with high-value browsers, that is Chat's genuine strength and few messaging inboxes reproduce it. Leaving makes sense when chat is your only Zendesk product, when your customers actually message you on WhatsApp, Telegram or Instagram rather than a website widget, and when per-agent pricing has become the reason you hesitate before hiring — the case where a flat-rate inbox like Converge at $49/month for up to 15 agents changes the arithmetic. Either way, run the export first: it is the one step that becomes irreversible once the Chat dashboard closes on 28 July 2028 (Zendesk's removal announcement, edited 5 August 2026).

One dead path worth checking your scripts for: the old Zopim REST API at www.zopim.com/api/v2 ran concurrently with {subdomain}.zendesk.com/api/v2/chat only until 12 May 2025, and anything still pointed at it will fail inside a scheduled job without anyone noticing (Zendesk Live Chat API introduction, checked 4 September 2026). Save your API token somewhere outside Zendesk before you cancel — API access ends with the account, and the download links Zendesk emails you expire 24 hours after they are generated.

Frequently Asked Questions

Open the Chat dashboard, go to History, tick the chats you want, then choose Export chat transcripts from the Actions dropdown. Transcripts arrive as .TXT files, one per chat. Agents and admins can export a transcript individually; only admins can export in bulk. Two limits shape how you plan this. The header checkbox selects the current page only, and Select all chats in History reaches the last 90 days, not your whole archive. And the export is not a download — Zendesk emails download links from [email protected], and those links stay active for 24 hours. Recipients must be agents on the same account, and the field is case sensitive, so the address has to match the one on the agent's Chat profile exactly. Chats also do not appear in History until the customer ends them or they time out (support.zendesk.com, article edited 1 July 2026).

No. Export chat details on the History page produces a CSV covering everything on the User info tab plus the chat metadata from the Transcripts tab — visitor name, email, phone, notes, past visit and chat counts, visitor path, location, browser and device information, IP address, chat rating, comment, department, ticket number and tags. Zendesk states plainly that it "does not include the chat transcript itself". The conversation text comes out of a separate Export chat transcripts action, as .TXT files, one per chat. If you are exporting so that a new platform can hold the conversation record, run both exports and rejoin them on chat ID yourself. Running only the CSV because it sounds like the structured option leaves you holding metadata that describes conversations you no longer have (support.zendesk.com, article edited 1 July 2026).

Through the Chat API, because the History page's Select all chats in History only reaches the last 90 days. The endpoint to use is GET /api/v2/chat/incremental/chats, which returns up to 1,000 chats per page as full JSON objects — including the history array holding every message with its timestamp and sender type, the session object (IP, browser, platform, city, country) and visitor (name, email, phone, notes). It is restricted to the account owner and administrators. Avoid the two more obvious endpoints: GET /api/v2/chat/chats accepts a maximum of 50 chat IDs per call in its ids filter, and GET /api/v2/chat/chats/search is hard-capped at 10,000 results per query (250 pages of 40 — requesting page 251 returns HTTP 400) and gives back only an ID, a preview string and a timestamp rather than the conversation (developer.zendesk.com, checked 4 September 2026).

Zendesk announced the end of life of Zendesk Chat on 4 August 2026. Chat is removed on 31 January 2028, and access to the Chat dashboard ends on 28 July 2028 — an 18-month transition window during which customers move to Zendesk messaging. That announcement covers messaging-eligible customers, meaning Chat + Support and Suite accounts. If you are on the legacy Chat-only plan, Zendesk says a separate removal will be announced, so you currently have no published date to plan against. Zendesk's stated reason is worth reading before you decide where to go next: Chat is "a legacy product that hasn't received feature enhancements since 2020 and does not support modern AI features" (support.zendesk.com, announcement edited 5 August 2026).

No, and this catches teams who assume that staying inside Zendesk avoids a data problem. Zendesk's documentation team has confirmed there is no option to transfer live chat history into messaging. Chat history attached to existing tickets stays readable on those tickets, but the History archive itself does not move. That makes the export decision identical whether you are going to Zendesk messaging or leaving Zendesk entirely: pull the transcripts and chat details out while the Chat dashboard is still live. Schedule around one further detail — converting a Web Widget (Classic) to the messaging Web Widget ends any active live chats and leaves in-progress tickets pending, so Zendesk advises closing out active chats, taking agents offline, and making the change off-peak (support.zendesk.com, article edited 29 April 2026).

Your configuration, which is the part that takes longest to rebuild. Chat triggers (the visitor-behaviour rules that fire proactive messages), routing logic, banned visitor lists, widget customisation — colours, pre-chat form fields, operating hours, custom CSS — and the Chat dashboard's historical analytics have no export route. Record them by hand: screenshot each trigger's conditions, copy the custom CSS, and write down which departments receive what. Several things people assume are stuck do come out through the API: shortcuts via GET /api/v2/chat/shortcuts, visitor profiles via GET /api/v2/chat/visitors, agent profiles via GET /api/v2/chat/agents, and your routing structure via GET /api/v2/chat/departments. Check one thing before you start: if your account runs the Zendesk Agent Workspace rather than the standard agent interface, conversation history lives in the ticket rather than on the History page, and the History export instructions do not apply to you.

Ready to try Converge?

$49/month flat. Up to 15 agents. 7-day free trial, no credit card required.

Start Free Trial