Contact
English

How to migrate from Zendesk without a big-bang weekend

A practical plan for moving a support team off Zendesk group by group, with the full history, a parallel run and a way back.

A woman carrying moving boxes in a living room
Photo: Vitaly Gariev / Unsplash

Helpdesk migrations have a classic failure mode: everything is switched on a Friday night, the rules behave a little differently on Monday, and the team spends a month firefighting. It is the one we designed against. There is a calmer way, and it starts with not switching everyone at once.

1. Collect what you need first

Before the first import, gather four things:

  • An admin credential for your Zendesk account. It has to be an admin: Zendesk’s own API reference lists “Admins” under Allowed For for SLA policies, schedules and every incremental export endpoint (checked 2026-11-09), and lower roles cannot see every view and macro either. A Zendesk API token carries its owner’s full role and cannot be narrowed, so if you want a read-only credential, use an OAuth token with the read scope instead; the importer accepts either.
  • A list of systems that call the Zendesk API: internal services, back-office tools, scripts, webhooks that call back into Zendesk. Each will need a new base URL and token.
  • Every site and app that embeds the Zendesk widget.
  • Your renewal date and notice period. They set the timeline, not the software.

2. Import everything, then look at the report

The ChaosDesk importer reads your account through the Zendesk API and rebuilds it in dependency order: brands and addresses, groups, roles, users and organizations, fields and forms, schedules and SLA policies, rules, webhooks, then tickets with their comments, attachments and audit history, and finally CSAT and the help centre.

The first run is a dry run. Read its reconciliation report: counts per object, records that failed, and rules with a condition or action that could not be mapped. Such rules are imported inactive and listed, never dropped silently, so you decide what happens to each.

Imported history fires no triggers, notifications or webhooks. Customers hear nothing while you test.

3. Run both side by side

Turn on delta imports every few minutes. ChaosDesk now follows Zendesk closely, and the team leads of the first group can open their views, forms and SLAs and compare them with what they see in Zendesk, on real tickets.

This is where small differences surface: a view that sorts differently, a macro that depends on a field nobody uses any more. Fix them now, while nothing depends on ChaosDesk yet.

4. Go live one group at a time

For each group that moves:

  1. Point its support addresses at ChaosDesk (email forwarding).
  2. Run a final delta import.
  3. Turn off that group’s triggers in Zendesk.
  4. Point the integrations it uses at the Zendesk-compatible API.
  5. Replace the widget snippet with the ChaosDesk messenger.
  6. Move the agents.

For the length of a fallback window, nobody writes in Zendesk for that group any more, but the account stays open so you can still read it. (Zendesk has no per-group read-only switch; this is a rule your team keeps, helped by the fact that the group’s triggers and support addresses no longer point there.) If something is wrong, the Migration center rolls the group back.

5. Replace what cannot move

Your own scripts move with a base URL change. Integrations you did not write and that are hard-wired to *.zendesk.com cannot: the Zendesk app for Zapier, Fivetran’s Zendesk connector, the Zendesk mobile SDKs. List them early and decide on the replacement for each (webhooks, the REST API, the messenger in a WebView).

How long does it take?

That depends on your ticket volume, because the importer runs at the pace Zendesk’s rate limits allow. For a small team with a few thousand tickets, the first import and a short parallel run can fit into a day; an account with years of history and large attachments takes longer, and the importer pauses and resumes rather than racing. Larger teams usually move one group per week, which keeps every Monday quiet. The dry run tells you the real numbers before you commit to a date.

If you have more than 20 agents, we plan the waves with you for free. See how switching works.

Zendesk is a trademark of Zendesk, Inc. ChaosDesk is not affiliated with Zendesk.

Written by The ChaosDesk team

We build ChaosDesk, a helpdesk that works the way Zendesk does at a fraction of the price. We write about what we learn moving support teams and running support ourselves. About us

Bring your whole Zendesk history. Keep your way of working.

Import tickets, users, rules and the help centre, run both side by side, and switch when your team is ready.