macrostack
Migration guide · Layer 5

Zendesk → Zammad

What it saves, what actually moves, what you rebuild — and the thing that catches people.

What it costs, and what it saves

Zendesk lists Suite Team at $55 per agent per month and Suite Professional at $115 (billed yearly; $69 and $149 billed monthly), and Support Team at $19 ($25 monthly), as listed on 2026-10-03. Ten agents on Suite Team is $6,600 a year; on Suite Professional it is $13,800. Zammad is AGPLv3 and free to self-host. Its hardware guide sets a minimum of 2 CPU cores and 6 GB RAM, plus 4 GB if Elasticsearch runs on the same server, so a 16 GB VPS fits (DigitalOcean lists its 16 GB Basic droplet at $96 a month on 2026-10-03): about $1,150 a year before backups and admin time (estimate). Zammad's own hosting lists Professional v2 at €16 per agent per month billed yearly (€18 monthly, up to 35 agents), which is €1,920 a year for ten agents.

90
Zammad
AGPL-3.0
Effort: Estimate: 2–4 weeks for a team of up to about 15 agents. That covers a few days to install and rehearse, about a week to redesign triggers, macros and SLAs, and an import run whose length depends on ticket volume and your Zendesk API rate limit.

Moves cleanly

Zammad's built-in Zendesk importer works over the Zendesk API. The migration docs report four categories: groups, organizations, users and tickets. The importer's source code also has units for ticket, user and organization custom field definitions, ticket tags, comments with their attachments and inline images, links between tickets, and each ticket's owner, priority, state and subject. The current importer reads tickets through Zendesk's incremental export. An older bug that skipped archived tickets (zammad#2694) is closed under milestone 3.6.1, but you should still compare ticket counts after a rehearsal.

You rebuild

The importer's code has no units for macros, triggers, automations, SLA policies and business-hour schedules, views, Help Center articles, or Zendesk apps and integrations. Zammad has its own triggers, scheduler jobs, macros, SLAs with calendars and a knowledge base, so each of these is re-created by hand. Agent and customer passwords are not migrated: everyone resets their password or signs in another way, such as SSO.

What Zendesk costs you today

Per-agent/month, billed annually: Support Team $19, Suite Team $55, Suite Professional $115, Suite Enterprise + Copilot custom (contact sales). The Copilot AI add-on is a further $50/agent/month, and AI 'Automated Resolutions' are billed on top of any plan at roughly $1.20-$1.50 per verified resolution above the included allowance. No permanent free tier (only a 14-day trial and a startup program). Verified against zendesk.com/pricing, July 2026.

What actually holds you in

Ticket and customer data live in Zendesk's cloud; export tools exist (CSV/API) but there's no one-click self-hosted migration path, and workflow automations (triggers, macros, SLAs) are Zendesk-specific and must be rebuilt on any new platform. Email-based alternatives (like FreeScout) are usually the easiest migration since the mailbox model transfers directly.

What you are moving to

Zammad is a mature, actively-developed open-source help desk covering email, chat, and social ticketing, SLAs, a customer-facing knowledge base, and text modules/macros — the closest like-for-like replacement for Zendesk's core ticketing product. It's built in Ruby on Rails with an Elasticsearch-backed search index and ships an official Docker Compose stack, so a self-hosted install is a well-trodden path rather than a science project.

Free to self-host with unlimited agents; optional managed cloud plans start around €19/agent/month and Zammad also sells paid support contracts for self-hosted installs.

Zammad strengths

  • Full AGPL-3.0 open-source core — no enterprise-only feature split
  • No per-agent limit when self-hosted; unlimited tickets and mailboxes
  • Mature product: multi-channel (email, chat, Twitter/Facebook, telephony via CTI), SLAs, and a real knowledge base out of the box
  • Official Docker Compose and package installers make self-hosting straightforward

What you give up

  • Elasticsearch is a required dependency for full-text search, adding real memory/operational overhead versus a lighter stack
  • UI and feature depth are solid but noticeably less AI-forward than current Zendesk (no built-in generative AI agent as of this writing)
  • Smaller third-party app marketplace than Zendesk's 1,800+ integrations

The migration, step by step

  1. 1Take an inventory of Zendesk first. Count tickets by status, list every macro, trigger, automation, SLA policy, view and Help Center category, and rename any object whose name uses Cyrillic characters, because the importer cannot migrate those.
  2. 2Install Zammad on a server sized to its hardware guide. Create the Zendesk API token from a full administrator account: Zammad's docs warn that a less privileged account ends in a broken migration.
  3. 3Run a rehearsal import into a throwaway Zammad instance. Time how long it takes under your plan's API rate limit, and compare its ticket, user and organization counts with Zendesk.
  4. 4Use the rehearsal instance as the parallel run. Have two or three agents work real tickets there while Zendesk stays primary, and design and write down the triggers, macros, SLAs and knowledge-base structure. The final import needs a new instance, so these settings are re-entered after it.
  5. 5Cut over. Announce a freeze window and stop new work in Zendesk, then install a fresh production Zammad and run the full import. Disable import mode, set system_init_done, and re-enter the automation you documented.
  6. 6Move email forwarding and web forms to Zammad and send agents password-reset instructions. Keep the Zendesk account open for an agreed overlap period before you cancel it.

The gotcha

You get one pass, with no delta. Zammad's migration docs say migrations are only possible on new instances, that Zammad migrates all or nothing, and that differential migrations are not supported for Zendesk. You cannot import early and top up the gap later. Anything created or updated in Zendesk after the import starts stays behind, and every rehearsal needs a fresh Zammad. Your Zendesk plan's API limits set the speed. Zendesk documents 200 requests a minute on Team, 400 on Professional and 700 on Enterprise, and 10 a minute on incremental export endpoints. Time a full rehearsal before you announce the freeze window, and plan to rebuild automation after the final import, not before it.

When to stay on Zendesk

Stay on Zendesk if you rely on what it sells beyond the ticket queue: the Copilot AI add-on, the Contact Center add-on, workforce engagement tools or marketplace apps. Also stay if your ticket history is large enough that a one-shot import with no delta means a freeze window you cannot accept. It is also the right call when nobody on the team can take on a Zammad server's upgrades, Elasticsearch and backups.

Compare firstAll 4 Zendesk alternatives, rankedWhere this sitsLayer 5 — Applications

More Layer 5 migrations

Figures verified 2026-07-11 against vendor pricing pages. Prices change and migrations differ by estate — treat the cost delta as a starting model, not a quote. Rankings and recommendations here are merit-only; affiliate income never changes a verdict. See our methodology.

The Macrostack brief

New swaps, worth your inbox.

A short, occasional email when we add a high-intent alternative or ship a new head-to-head. No spam, no selling your address — unsubscribe in one click.