Helpdesk migration

Migrate from Zammad to Zoho Desk

Field-level mapping, validation, and rollback between Zammad and Zoho Desk. We move data and schema; workflows are rebuilt natively in Zoho Desk.

Zammad logo

Zammad

Source

Zoho Desk

Destination

Zoho Desk logo

Compatibility

75%

9 of 12

objects map 1:1 between Zammad and Zoho Desk.

Complexity

CModerate

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Zammad to Zoho Desk is a structural translation that must address three core differences before records move. First, Zammad's Groups (which control ticket assignment and agent access) do not have a direct Zoho Desk equivalent — Zoho Desk uses a Department hierarchy that is configured separately and must be designed before user and ticket migration. Second, Zammad time entries are immutable after creation; we require customers to audit and correct time accounting in Zammad before migration because corrections cannot be made post-import. Third, Zoho Desk's Knowledge Base attachments do not migrate through standard import paths — we handle these as separate file transfers with URL remapping. We do not migrate Zammad Triggers, Macros, or Text Modules as automation code; we deliver a written inventory of every active automation with a Zoho Desk Blueprint or Business Rule equivalent for your admin to rebuild. Ticket thread direction (incoming vs outgoing) maps from Zammad's article sender type, and we validate this mapping against a sample before the full cutover.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Zammad logo

Zammad

What's pushing teams away

  • Time tracking cannot be corrected after entry — users report frustration that you cannot edit or delete time entries without rewriting entire ticket communications.
  • Feature requests are frequently dismissed by the community team as isolated cases, leaving customers with no clear roadmap for common workflow needs like per-customer PDF reports.
  • Custom field support via the API is poorly documented, requiring developers to experiment with undocumented endpoints to populate or read custom objects on tickets.
  • Organizations outgrow Starter and Professional agent limits and find Plus tier pricing approaches commercial SaaS alternatives, eliminating the cost advantage.
  • Self-hosting operational overhead — server maintenance, updates, backups, and support contracts — grows disproportionately for teams without dedicated DevOps resources.

Choosing

Zoho Desk logo

Zoho Desk

What's pulling them in

  • Deep Zoho ecosystem integration lets support data tie directly to CRM contacts, invoice records in Zoho Books, and custom apps built in Zoho Creator, providing a unified customer view without third-party middleware.
  • Pricing undercuts comparable platforms significantly: Enterprise at roughly $40 per agent per month versus Zendesk at comparable tiers, making it attractive for cost-sensitive teams scaling past 10 agents.
  • Blueprints and multi-level escalations allow teams to codify support workflows and enforce SLA routing automatically, reducing manual triage for mid-size support operations.
  • Multi-channel ticket ingestion unifies email, social media, live chat, and phone into a single queue view, giving agents one inbox without context-switching across channels.
  • The free tier up to 3 agents lets small teams validate the platform before committing, reducing financial risk for startups and micro-businesses evaluating help desk software.

Object mapping

How Zammad objects map to Zoho Desk

Each row shows how a Zammad object lands in Zoho Desk, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Zammad

Ticket

maps to

Zoho Desk

Ticket

1:1
Fully supported

Zammad Tickets map directly to Zoho Desk Tickets with full thread history. The Zammad article structure (sender type, internal/external flag, timestamp) maps to Zoho Desk Comments and Threads. We preserve the original ticket number as an external reference field, and state/priority mapping is configured before migration. Note that Zoho Desk does not natively preserve article internal/external visibility flags — we flag this and recommend using Zoho Desk's Internal Comments vs Public Comments separation as the replacement visibility model.

Zammad

User (Agent)

maps to

Zoho Desk

Agent (User)

1:1
Fully supported

Zammad Agents map to Zoho Desk Agents. We resolve by email match and preserve role permissions by mapping Zammad Role names to Zoho Desk Roles. Agent provisioning in Zoho Desk requires the admin to assign agents to Departments — we flag this step and provide a Department assignment mapping based on the customer's Zammad Group structure before the user migration phase begins.

Zammad

User (Customer)

maps to

Zoho Desk

Contact

1:1
Fully supported

Zammad Customers map to Zoho Desk Contacts. Customer email, phone, and organization membership transfer directly. Note that Zammad allows Users without an Organization; Zoho Desk Contacts can exist without an Account (Organization equivalent), which maps cleanly.

Zammad

Organization

maps to

Zoho Desk

Account

1:1
Fully supported

Zammad Organizations map to Zoho Desk Accounts. Organization-level custom fields transfer as Account custom fields. A User in Zammad can belong to multiple Organizations — in Zoho Desk a Contact is primarily linked to one Account, with secondary Account links available via custom fields if needed. We flag this multi-organization membership pattern during scoping so the customer can choose whether to create linked Account records or flatten the membership.

Zammad

Group

maps to

Zoho Desk

Department

lossy
Fully supported

Zammad Groups map conceptually to Zoho Desk Departments, but the mapping is not direct. Zammad Groups control ticket assignment, email routing, and agent access; Zoho Desk Departments control these plus agent visibility scope across the help desk hierarchy. We require the customer to define the Department structure in Zoho Desk before migration and provide a Group-to-Department mapping table. Some Zammad Groups (e.g., shared inbox groups for email routing) may need to be recreated as Zoho Desk Shared Mailboxes or Team Inboxes, not just Departments.

Zammad

Role

maps to

Zoho Desk

Role

lossy
Fully supported

Zammad Roles (Agent, Admin, Custom roles) map to Zoho Desk Roles. Permission sets differ in granularity — Zammad's role permissions are broader, while Zoho Desk's agent roles include department-level scoping. We map the closest equivalent Zoho Desk role for each Zammad role and flag any permission gaps that require the customer's admin to adjust after migration.

Zammad

SLA

maps to

Zoho Desk

SLA

1:1
Fully supported

Zammad SLA configurations (response time, resolution time, calendar bindings) map to Zoho Desk SLA configurations. Note that Zoho Desk's SLA enforcement is gated by pricing tier — Standard and Professional tiers include basic SLA rules; advanced SLA management with multiple SLA policies and department-specific calendars require the Enterprise tier. We verify the destination tier's SLA capabilities during scoping and flag any SLA features that require an upgrade.

Zammad

Tag

maps to

Zoho Desk

Tag

1:1
Fully supported

Zammad Tags on Tickets map to Zoho Desk Tags. Tags are flat key-value labels in both platforms, so the mapping is direct. However, Zoho Desk tags applied at the ticket level are preserved, and we confirm tag visibility and filtering behavior matches the customer's expectations post-migration.

Zammad

Time Entry

maps to

Zoho Desk

Time Log

1:1
Fully supported

Zammad time entries on tickets map to Zoho Desk Time Logs. This is a high-severity mapping step: Zammad time entries are immutable post-creation, so we require customers to audit and correct time entries in Zammad before migration. Incorrectly logged time in Zammad cannot be fixed after migration. Zoho Desk Time Logs are fully editable post-import, so any source-side corrections must be made in Zammad before the migration window. We flag any ticket with a time entry that appears to be logged incorrectly (e.g., negative durations, entries after ticket close) for customer review before migration begins.

Zammad

Attachment

maps to

Zoho Desk

Attachment

1:1
Fully supported

Ticket article attachments migrate with content-type, filename, and size preserved. Zammad's default 10 MB per-attachment limit (configurable on higher tiers) maps to Zoho Desk's attachment limits per plan tier. We transfer large attachments (up to 50 MB per file in Zoho Desk Enterprise) via direct API upload with chunking for files over 25 MB. Attachment references in ticket thread text are updated to point to the new Zoho Desk-hosted file URL.

Zammad

Knowledge Base (Articles)

maps to

Zoho Desk

Knowledge Base (Articles)

1:1
Fully supported

Zammad Knowledge Base articles and their category assignments migrate to Zoho Desk Help Center articles. However, Zoho Desk's Knowledge Base attachment handling (documented in Zoho's own migration guides) excludes article attachments — we handle these as a separate file transfer with URL remapping in the article body. Article visibility settings (internal vs external) in Zammad are preserved via Zoho Desk's article access control settings per department.

Zammad

Custom Object

maps to

Zoho Desk

Custom Module

lossy
Fully supported

Zammad Custom Objects (attached to Tickets, Users, Organizations, or Groups) map to Zoho Desk Custom Modules on Enterprise tier. We pre-create the destination custom module schema in Zoho Desk before migration, matching field types (Boolean, Date, DateTime, Integer, Float, Text, Single Select, Multi Select) to their Zoho Desk equivalents. Custom modules on lower Zoho Desk tiers (Standard, Professional) are not supported — we flag this during scoping if the destination is not on Enterprise.

Gotchas + challenges

What specifically takes care here

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 logo

Zammad gotchas

High

Migration Wizard requires empty, uninitialized instance

High

Agent count limits are enforced, not advisory

Medium

Time entries are immutable post-creation

Medium

Custom Objects use a disabled-not-deleted convention

Low

Annual billing cancellation requires 90-day notice

Zoho Desk logo

Zoho Desk gotchas

High

Agent email identity determines comment ownership after migration

High

Blueprints and SLA policies do not export via API

Medium

File upload capped at 10GB per migration batch

Medium

Tier-gated export and migration capabilities

Low

Inbound migration is two-phase with a hard Phase 2 cutoff

Pair-specific challenges

  • Zammad time entries are immutable and must be corrected before migration

    Zammad does not allow editing or deleting time entries after save. The only remediation is deleting the entire article containing the time entry, which also removes all subsequent ticket communications. We require customers to run a time entry audit in Zammad before migration begins — tickets with incorrectly logged time (negative durations, entries after close, wrong agent attribution) must be corrected at the source. Zoho Desk Time Logs are editable post-import, but incorrect source data migrates as-is. This is one of the most common post-migration support issues for Zammad migrations and is entirely preventable with a pre-migration audit.

  • Groups do not map directly to Zoho Desk Departments

    Zammad Groups control ticket assignment, email routing, and agent access scope. Zoho Desk uses a Department hierarchy that additionally scopes agent visibility across the help desk — agents in one Department may not see tickets in another. We require the customer to design the Zoho Desk Department structure before migration and provide a written Group-to-Department mapping. Email routing Groups may need to be recreated as Zoho Desk Shared Mailboxes or Team Inboxes, not just Departments. Skipping this step results in tickets landing in a default Department with incorrect routing rules.

  • Knowledge Base article attachments do not migrate through standard Zoho Desk import

    Zoho Desk's own documentation (both Zwitch and the Assisted Data Migration Guide) explicitly states that Knowledge Base attachments are excluded from migration. We handle these as a separate file transfer operation, uploading each attachment to Zoho Desk's file storage and remapping article body URLs to the new Zoho Desk-hosted locations. Customers should expect this as a manual validation step during QA — inline images and linked files in KB articles require URL rewriting that cannot be fully automated without a content audit.

  • Zammad's Migration Wizard requires a completely empty, uninitialized Zoho Desk instance

    While FlitStack AI does not use Zammad's Migration Wizard, the pattern applies to our approach: we spin up a clean staging Zoho Desk instance for validation before production cutover. Production cutover requires a frozen write window on Zammad (no new tickets, no updates to existing tickets) for the duration of the final delta migration. Customers on Zammad SaaS annual plans should also account for Zammad's 90-day cancellation notice window when planning the migration timeline.

  • Zoho Desk does not preserve ticket created_at dates during import

    Zoho Desk's native import paths (CSV and Zwitch) overwrite the Created Time of tickets with the import date rather than preserving the original Zammad created_at timestamp. For compliance and SLA reporting, we use the Zoho Desk API directly to set the createdAt field to the original Zammad value. This requires the destination org to have API write access enabled and the migration user to have permission to set system timestamp fields. We validate this permission during sandbox migration and flag any org-level settings that block API-set timestamps.

Migration approach

Six steps for a successful Zammad to Zoho Desk data migration

  1. Pre-migration audit and scoping

    We audit the source Zammad instance across agents, customers, organizations, tickets, time entries, SLA configurations, tags, Knowledge Base articles, and custom object definitions. The audit includes a time entry integrity check: we flag every ticket with a time entry that appears incorrectly logged (negative duration, post-close entries, wrong agent attribution) for customer correction before migration. We also document the existing Group structure and ticket routing patterns to drive the Zoho Desk Department design. The output is a written migration scope, data inventory, and a list of source-side corrections required before migration begins.

  2. Zoho Desk Department and schema design

    We design the destination Zoho Desk structure before any data moves. This includes creating Departments matched to the customer's Zammad Group structure, configuring Roles with permissions equivalent to the source Role definitions, setting up SLA policies with calendar bindings (verified against the destination tier's SLA capabilities), and pre-creating any custom modules required for Zammad custom object mapping. Shared mailbox configurations for email routing Groups are designed separately from Departments. All schema is validated in a Zoho Desk sandbox before production.

  3. Sandbox migration and reconciliation

    We run a full migration into a Zoho Desk sandbox using a representative sample of data. The customer's admin reviews record counts, spot-checks thread history against Zammad source records, validates time log accuracy, confirms Department assignment, and signs off the mapping. Any corrections to field mapping, tag strategy, or Department structure happen here. Time entry corrections identified in the pre-migration audit are confirmed as resolved before proceeding.

  4. Source-side time entry correction window

    For customers with time accounting requirements (billable hours, SLA reporting), we run a dedicated correction window before production migration. The customer reviews and corrects time entries flagged during the audit, removes or rewrites any article containing an incorrect time entry, and confirms the corrected state in Zammad. We do not migrate time entry corrections post-import — Zammad's immutability means the source must be correct before the migration cutover.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Departments and Roles first (schema), then Agents (mapped to Zoho Desk Agents with Department assignments), Accounts (from Zammad Organizations), Contacts (from Zammad Customers with AccountId resolved), Tickets (with thread history, time entries, tags, and SLA bindings), Knowledge Base articles (with separate attachment file transfer and URL remapping), and custom modules last. Knowledge Base attachment migration runs as a parallel track to ticket migration to maximize throughput. Each phase emits a row-count reconciliation report before the next phase begins.

  6. Cutover, validation, and automation inventory handoff

    We freeze Zammad writes during cutover, run a final delta migration of any records modified during the migration window, then enable Zoho Desk as the system of record. We validate ticket created_at timestamps against Zammad source records. We deliver the Triggers, Macros, and Text Modules inventory document to the customer's admin team, with a Blueprint and Business Rule equivalent for each. We support a one-week hypercare window for reconciliation issues. We do not rebuild Zammad automations as Zoho Desk Blueprint or Business Rules inside the migration scope — that is a separate engagement or an internal admin task.

Platform deep dives

Context on both ends of the pair

Zammad logo

Zammad

Source

Strengths

  • Fully open-source with both cloud-hosted and self-hosted deployment options, giving complete control over infrastructure.
  • Omnichannel consolidation — email, chat, SMS, Telegram, Twitter/X, Facebook, and WhatsApp unified in a single ticket queue.
  • Per-agent pricing with generous free tier on Starter (€7/agent/month annual) and no per-contact billing surprises.
  • GDPR-compliant with ISO27001-certified German data center for hosted deployments.
  • REST API supports automation, integrations via n8n or custom scripts, and programmatic ticket/User/Organization management.

Weaknesses

  • Time tracking entries cannot be edited or deleted after creation without rewriting the associated ticket communication.
  • Per-agent pricing scales linearly — large support teams on Plus tier (€25/agent/month) approach commercial SaaS cost territory.
  • Custom Objects lack clear API documentation for read/write operations, requiring developer experimentation for integration work.
  • Feature development pace is governed by a small nonprofit team, with community feature requests frequently deprioritized.
  • WhatsApp and Facebook channels are gated behind the €25/agent Plus tier, not available on lower-cost Professional.
Zoho Desk logo

Zoho Desk

Destination

Strengths

  • Generous free tier for teams of up to 3 agents with no time limit, reducing financial risk for small support operations.
  • Per-agent flat pricing across tiers is significantly lower than Zendesk, Freshdesk, or Intercom at equivalent feature levels.
  • Tight integration with Zoho CRM, Zoho Books, and Zoho Creator provides a unified data ecosystem without third-party middleware.
  • Multi-channel ticket aggregation consolidates email, social, chat, and phone into a single queue view.
  • Assisted migration service handles the two-phase transfer process with Zoho's own migration team for inbound moves.

Weaknesses

  • The UI is frequently described as dated, clunky, and inconsistent across modules compared to modern SaaS competitors.
  • Advanced automation features including Blueprints, multi-brand, and live chat are tier-gated, limiting the free and Express plans to basic ticketing.
  • Non-Zoho integrations require custom Deluge scripting or external middleware, reducing flexibility for heterogeneous tech stacks.
  • Steep learning curve and complex customization options mean slower onboarding for new agents and ongoing training investment.
  • Export and migration capabilities are gated by plan tier, with data backup only available on higher plans.

Complexity grading

How hard is this migration?

Moderate Helpdesk migration. 5 of 7 objects need a mapping; the rest are 1:1.

C

Overall complexity

Moderate migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Zammad and Zoho Desk.

  • Object compatibility

    C

    5 of 7 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    7-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    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

    B

    Zammad doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Zammad to Zoho Desk migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Zammad to Zoho Desk data migrations

Answers to the questions buyers ask most during Zammad to Zoho Desk migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Zammad to Zoho Desk migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between three and five weeks for accounts under 10,000 tickets, clean time entry data, and no custom objects. Migrations with custom objects, large attachment volumes (over 50 GB), active SLA configurations requiring tier verification, or complex Group-to-Department mapping designs move to six to ten weeks. The pre-migration time entry audit window adds one to two weeks if significant corrections are needed in Zammad before data can move.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Zammad.
Land in Zoho Desk, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day