Helpdesk migration
Field-level mapping, validation, and rollback between Zammad and Zendesk. We move data and schema; workflows are rebuilt natively in Zendesk.
Zammad
Source
Zendesk
Destination
Compatibility
13 of 14
objects map 1:1 between Zammad and Zendesk.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from Zammad to Zendesk is a move from a self-hosted, open-source helpdesk to a SaaS-first platform with a mature marketplace and native AI capabilities. Zammad organizes work around Tickets, Users, Organizations, Groups, and Roles with Custom Objects attachable to any record; Zendesk mirrors this structure with Tickets, Users, Organizations, Groups, and custom fields but adds a separate Help Center (Guide) that must be activated before Knowledge Base import. We preserve the complete ticket thread including time entries (which Zammad makes immutable post-creation), map Zammad Organizations to Zendesk Organizations, and flag that SLAs, Triggers, and Macros require reconfiguration rather than migration as code. Cyrillic character strings cannot be imported into Zendesk and must be renamed before migration begins. We deliver a written inventory of every Zammad Trigger, Macro, and Text Module requiring rebuild in Zendesk.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Zammad object lands in Zendesk, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Zammad
Ticket
Zendesk
Ticket
1:1Zammad Tickets map directly to Zendesk Tickets. The ticket number (Zammad's id) is preserved as a custom field zammad_ticket_id__c for cross-reference. Thread history (articles) migrates as Zendesk Comments and Public Replies in chronological order. Zammad's ticket state (new, open, pending close, closed) maps to Zendesk ticket status. Priority and group assignment transfer directly. Tags migrate as Zendesk Tags.
Zammad
User (Agent)
Zendesk
Agent
1:1Zammad Agents map to Zendesk Agent accounts. Role assignments (Agent, Admin) map to Zendesk Light Agent and Staff roles respectively. Note that Zendesk's Staff role (full permissions) is only available on higher plans; Enterprise customers must assign Staff role to all agents who need to resolve tickets. Passwords cannot migrate; agents receive password-reset links on first login. We resolve by email match against the Zendesk User API.
Zammad
User (Customer)
Zendesk
End User
1:1Zammad Customers map to Zendesk End Users. The requester relationship on tickets migrates as the End User on the Zendesk Ticket. Organizations attached to Customers map to the Zendesk Organization via Organization lookup. End users without an email address require manual handling; Zendesk requires an email for user provisioning.
Zammad
Organization
Zendesk
Organization
1:1Zammad Organizations map to Zendesk Organizations. Organization memberships for Users transfer as Organization membership in Zendesk. Organization-level custom Objects in Zammad map to custom fields on the Zendesk Organization record. Note that Zendesk requires an Organization to exist before a User can be assigned to it via the API; we provision Organizations before Users.
Zammad
Group
Zendesk
Group
1:1Zammad Groups (e.g., First Level Support, Second Level Support) map to Zendesk Groups. Group email addresses migrate as Zendesk group email routing targets. The assignment rules and active/inactive status transfer. Default groups like Users and First Level Support are preserved. Group membership (which agents belong to which groups) migrates as Zendesk Group Membership records.
Zammad
Role
Zendesk
Role
lossyZammad custom Roles map to Zendesk Role configurations. The Zammad Agent role maps to Zendesk Light Agent or Staff depending on permission requirements; Admin maps to Staff. Permission granularity is preserved but we flag any Zammad permissions that have no direct Zendesk equivalent (e.g., Zammad-specific system permissions) for admin review.
Zammad
SLA
Zendesk
SLA Policy
1:1Zammad SLAs define response and resolution time commitments tied to Calendars. These map to Zendesk SLA Policies. Calendar bindings migrate as Zendesk Business Hours references. We pre-create Zendesk Calendars before SLA Policy migration so that SLA Policy assignments are valid at creation time.
Zammad
Calendar (Business Hours)
Zendesk
Business Hours
1:1Zammad Calendars define working days, timezones, and holiday schedules for SLA calculations. These map to Zendesk Business Hours records. Holiday schedules migrate as Zendesk Holiday records attached to the Business Hours. Calendars must be created before SLAs that reference them; we sequence this correctly in the migration order.
Zammad
Knowledge Base
Zendesk
Guide (Help Center)
1:1Zammad Knowledge Base articles migrate to Zendesk Guide articles. Category structure in Zammad maps to Zendesk Sections and Categories. Multi-language articles require matching locale configurations in Zendesk Guide; only the default language migrates automatically. IMPORTANT: Zendesk Guide must be manually activated by the account owner before article import; we flag this in the pre-migration checklist. Article visibility settings (internal vs external) require manual configuration post-import.
Zammad
Tag
Zendesk
Tag
1:1Zammad Tags (flat key-value labels on Tickets) map directly to Zendesk Tags. Tags on tickets migrate as Zendesk ticket tags. Note that Zendesk automatically copies custom field dropdown values to Tags during import; we account for this in tag deduplication. There is no tag hierarchy in either platform.
Zammad
Trigger
Zendesk
Trigger
1:1Zammad Triggers automate actions based on ticket conditions. We migrate Trigger configurations including condition operators and action sets. Some Trigger conditions referencing Zammad custom Objects may not map directly to Zendesk Trigger conditions because the field references differ. We deliver a written inventory of every Trigger with its trigger type, conditions, actions, and recommended Zendesk Trigger equivalent for admin rebuild.
Zammad
Macro
Zendesk
Macro
1:1Zammad Macros bundle ticket updates and article templates for quick agent responses. We migrate Macro content and action sets. Macros referencing specific Group IDs or User IDs require re-mapping to Zendesk Group and User IDs during migration. The macro content (text, attachments, field updates) transfers; the customer rebuilds macro assignment to views post-migration.
Zammad
Text Module
Zendesk
Saved Reply
1:1Zammad Text Modules are reusable response templates. These map to Zendesk Saved Replies. Multi-language Text Modules preserve language tags; Zendesk must have matching locale configurations active. Content transfers as-is; the admin assigns visibility and permissions post-import.
Zammad
Custom Object / Object Attribute
Zendesk
Custom Field
1:1Zammad Custom Objects and Object Attributes (Boolean, Date, DateTime, Integer, Float, Text, Single Select, Multi Select, User Reference) map to Zendesk custom fields on the corresponding ticket, user, or organization record. Zammad's object attribute name uniqueness constraint (one unique name per attribute) must be enforced in Zendesk. Objects with cyrillic strings cannot be migrated; we flag these for rename before migration begins. We pre-create Zendesk custom fields before ticket import.
| Zammad | Zendesk | Compatibility | |
|---|---|---|---|
| Ticket | Ticket1:1 | Fully supported | |
| User (Agent) | Agent1:1 | Fully supported | |
| User (Customer) | End User1:1 | Fully supported | |
| Organization | Organization1:1 | Fully supported | |
| Group | Group1:1 | Fully supported | |
| Role | Rolelossy | Fully supported | |
| SLA | SLA Policy1:1 | Fully supported | |
| Calendar (Business Hours) | Business Hours1:1 | Fully supported | |
| Knowledge Base | Guide (Help Center)1:1 | Mapping required | |
| Tag | Tag1:1 | Fully supported | |
| Trigger | Trigger1:1 | Fully supported | |
| Macro | Macro1:1 | Fully supported | |
| Text Module | Saved Reply1:1 | Fully supported | |
| Custom Object / Object Attribute | Custom Field1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Zammad gotchas
Migration Wizard requires empty, uninitialized instance
Agent count limits are enforced, not advisory
Time entries are immutable post-creation
Custom Objects use a disabled-not-deleted convention
Annual billing cancellation requires 90-day notice
Zendesk gotchas
Data export requires API scripting on non-Enterprise plans
Automations cap at 500 active rules and 1,000 tickets per hour
Help Center has no native export feature
Custom Objects and full data export are Enterprise-only
Pair-specific challenges
Migration approach
Discovery and pre-migration audit
We audit the source Zammad instance across version (SaaS vs self-hosted), agent count, ticket volume, article count, organization count, SLA count, and custom Object Attribute definitions. We identify Cyrillic strings in object names and custom field values, agent count versus current Zammad tier limits, time entries that require pre-migration correction review, and Knowledge Base article count and language count. The discovery output is a written migration scope including a pre-migration checklist for Guide activation, Cyrillic rename, and time entry review.
Schema design and custom field provisioning
We design the destination Zendesk schema including custom fields (mapped from Zammad Object Attributes), Groups (mapped from Zammad Groups with email routing), Business Hours (mapped from Zammad Calendars), SLA Policies (mapped from Zammad SLAs with Calendar references), and Help Center structure (Sections and Categories mapped from Zammad Knowledge Base categories). We create Zendesk custom fields via the Zendesk API before any record import so that ticket imports can reference valid field IDs. Guide activation is confirmed at this stage.
User and Organization migration
We migrate Zammad Organizations first (as Zendesk Organizations), then Users (Agents as Zendesk Agent accounts, Customers as Zendesk End Users). Agent roles map to Zendesk Light Agent or Staff depending on permissions. Password-reset links are triggered for all migrated agents. Organizations must exist before Users can be assigned to them; we sequence accordingly. Group memberships are applied after Users are provisioned.
Ticket migration with thread history
We migrate Zammad Tickets in dependency order: base ticket record first (state, priority, group, owner, customer, organization, tags), then article thread history (emails, replies, notes, time entries) appended in chronological order. Attachments migrate as Zendesk attachments linked to the correct article. Time entries transfer as Zendesk ticket time entries. SLA assignments apply post-ticket creation. Tags transfer as Zendesk Tags on each ticket.
Knowledge Base and automation handoff
We migrate Knowledge Base articles to Zendesk Guide articles, preserving section hierarchy. Multi-language articles require matching locale configuration in Zendesk Guide; we flag any missing locales. We deliver a written inventory of every Zammad Trigger, Macro, and Text Module with its trigger type, conditions, and actions, and a recommended Zendesk Trigger or Macro equivalent for admin rebuild. Triggers and Macros are not migrated as code; this is documented explicitly in the handoff package.
Cutover, validation, and post-migration support
We freeze Zammad writes during the cutover window, run a final delta migration of any tickets modified during migration, then confirm Zendesk as the system of record. We validate record counts against the source audit, spot-check 25-50 random tickets for thread integrity and attachment presence, and verify SLA assignments against the source configuration. We deliver the automation inventory document to the customer's Zendesk admin. We offer a one-week hypercare window for reconciliation issues. We do not rebuild Zammad Triggers as Zendesk Triggers or Macros as Zendesk Macros within the migration scope.
Platform deep dives
Zammad
Source
Strengths
Weaknesses
Zendesk
Destination
Strengths
Weaknesses
Complexity grading
Standard Helpdesk migration. 1 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Zammad and Zendesk.
Object compatibility
1 of 7 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
7-object category — typical timelines run 2–7 days end-to-end.
API constraints
Zammad: Not publicly documented in core REST API docs — Zammad is self-hostable, so effective limits depend on each instance's deployment topology and any reverse-proxy throttling in front of the app.
Data volume sensitivity
Zammad doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Zammad to Zendesk migration scoping. Not seeing yours? Book a call.
Walk through your Zammad to Zendesk migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Zammad
Other ways to arrive at Zendesk
Same-Helpdesk migrations
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.