Helpdesk migration

Migrate from Zammad to Gorgias

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

Zammad logo

Zammad

Source

Gorgias

Destination

Gorgias logo

Compatibility

60%

9 of 15

objects map 1:1 between Zammad and Gorgias.

Complexity

CModerate

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Zammad to Gorgias is a migration from a ticket-centric open-source helpdesk built for omnichannel internal support into a Shopify-native helpdesk built for e-commerce revenue operations. Zammad's object model — Tickets, Organizations, Users, Groups, Roles, Tags, SLAs, and Custom Objects — maps to Gorgias's simpler data model of Tickets, Customers, Agents, and Teams, with the most significant structural gap being that Gorgias has no native Organization object; customer organizations must be stored as custom fields or tags. We resolve this during scoping by designing the mapping strategy before any records move. Zammad's immutable time entries require a pre-migration review in the source system, and Gorgias's per-ticket pricing model requires a volume analysis before cutover so that the customer is on the correct Gorgias plan from day one. Workflows, Macros, Text Modules, and Triggers do not migrate as automation code; we deliver a written inventory of every active Zammad trigger and macro for the customer's admin to rebuild in Gorgias's Rules and Macros system.

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

Gorgias logo

Gorgias

What's pulling them in

  • Shopify-native integrations pull order details, shipment status, and return data directly into the ticket view, eliminating the need for agents to switch between apps.
  • Unlimited user seats mean growing support teams do not trigger billing changes; pricing scales only on billable ticket volume.
  • AI Agent automates responses to high-volume queries like order status and returns, measurably reducing the number of billable tickets each month.
  • Omnichannel inbox consolidates email, live chat, Facebook, Instagram, WhatsApp, SMS, and voice into a single threaded view.
  • SOC 2 Type II certification and GDPR-aligned data handling satisfy enterprise procurement requirements for customer support platforms.

Object mapping

How Zammad objects map to Gorgias

Each row shows how a Zammad object lands in Gorgias, 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

Gorgias

Ticket

1:1
Fully supported

Zammad Tickets map directly to Gorgias Tickets. The full article thread — customer replies, agent responses, internal notes, and attachments — migrates as message records on the ticket in chronological order. Zammad ticket state (new, open, pending, closed) maps to Gorgias ticket status (new, open, pending, resolved, closed). Priority mapping preserves Zammad's low/normal/high/very high priority tiers as Gorgias priority values.

Zammad

User (Agent)

maps to

Gorgias

Agent

1:1
Fully supported

Zammad Agent records map to Gorgias Agents. We resolve by email address as the dedupe key. Agent role and permission sets from Zammad (Agent, Admin, Manager) do not have direct Gorgias equivalents for granular permissions, so we preserve the role name in a custom field on the Agent record. Any Zammad Agent without a matching Gorgias user goes to the reconciliation queue for the customer's admin to provision before record migration resumes.

Zammad

User (Customer)

maps to

Gorgias

Customer

1:1
Fully supported

Zammad Customer records map to Gorgias Customers. The Zammad customer email becomes the primary identifier. We also migrate customer phone, language, and timezone where populated. Customer data from Zammad that does not map to a standard Gorgias Customer field migrates into custom fields on the Customer record.

Zammad

Organization

maps to

Gorgias

Customer custom field

lossy
Fully supported

Zammad's native Organization object has no direct Gorgias equivalent. We store the Organization name as a text custom field on the Gorgias Customer record. If the customer relies on Organization-to-User membership for reporting or filtering, we also map the Organization membership as a tag on each Customer (e.g., tag 'Acme Corp Member') so that Gorgias's tag-based filtering can replicate the Organization grouping logic. The customer chooses the tagging strategy during scoping.

Zammad

Group

maps to

Gorgias

Team

1:1
Fully supported

Zammad Groups map to Gorgias Teams. The Group's email address and assignment rules migrate as Team settings in Gorgias. Group membership (which agents belong to which groups) translates to Team membership in Gorgias. Default Groups like 'Users' and 'First Level Support' require manual deactivation or renaming in Gorgias if they do not match the customer's team structure.

Zammad

Role

maps to

Gorgias

Agent custom field

lossy
Fully supported

Zammad Roles with granular permission sets do not map to a native Gorgias role model. We preserve role names as a custom field on the Gorgias Agent record and document the permission mapping as a written handoff. The customer's admin reviews the documentation and assigns Gorgias roles (Admin or Agent) manually after migration. Zammad's custom role permission sets require a manual reconfiguration in Gorgias's settings.

Zammad

Tag

maps to

Gorgias

Tag

1:1
Fully supported

Zammad flat tags on Tickets migrate to Gorgias labels on the corresponding ticket. Tags are preserved as key-value labels with no taxonomy or hierarchy in either platform. If tags were used to encode organizational membership (see Organization mapping), those tag strings are preserved and used for the tag-based grouping strategy in Gorgias.

Zammad

SLA

maps to

Gorgias

SLA configuration

lossy
Fully supported

Zammad SLA configurations — response time and resolution time commitments tied to calendars and ticket priorities — require manual reconfiguration in Gorgias because SLA rules in Gorgias are structured differently. We extract the Zammad SLA definitions (escalation rules, calendar bindings, business hours) as a written specification document. Gorgias SLA features are available on Pro and above. The customer's admin rebuilds the SLA rules in Gorgias using the specification as a blueprint.

Zammad

Calendar (Business Hours)

maps to

Gorgias

Business Hours

lossy
Fully supported

Zammad Calendars defining business hours for SLA calculations migrate as written specifications. Gorgias Business Hours are configured separately from SLA rules and do not have a direct API import path. We document the calendar working days, timezone, and holiday schedules as a configuration guide. The customer's admin applies the settings in Gorgias Settings > Business Hours.

Zammad

Custom Object / Object Attribute

maps to

Gorgias

Custom Field

lossy
Fully supported

Zammad Custom Objects attached to Tickets, Users, Organizations, and Groups migrate as custom fields on the corresponding Gorgias record type. Supported Zammad attribute types — Boolean, Date, DateTime, Integer, Float, Text, Single Select, Multi Select — map to Gorgias custom field equivalents where types exist. Types that do not have a direct Gorgias equivalent (such as User Reference or Object Reference) are stored as text fields with the referenced value string preserved. We flag any custom object definitions that reference disabled-not-deleted Zammad attributes and recommend excluding them from migration.

Zammad

Trigger

maps to

Gorgias

Rule

lossy
Fully supported

Zammad Triggers automate actions based on ticket conditions and do not migrate as automation code to Gorgias. We extract every active Trigger with its condition operators and action set as a written inventory document. Each trigger maps to a Gorgias Rule with the equivalent condition and action logic. The customer's admin reviews the inventory and rebuilds triggers as Gorgias Rules. We flag any triggers that reference custom Object Attributes that could not be migrated due to type limitations.

Zammad

Macro

maps to

Gorgias

Macro

1:1
Fully supported

Zammad Macros bundle ticket updates and article templates for quick agent responses. We migrate the macro content — reply text, subject line changes, status changes, and field updates — as Gorgias Macros. Macros with actions referencing specific Zammad Group IDs or User IDs require remapping to Gorgias Team and Agent IDs during migration. Macros referencing deleted or disabled Zammad attributes are flagged for the customer's admin to review before activation.

Zammad

Text Module

maps to

Gorgias

Template

1:1
Fully supported

Zammad Text Modules (reusable response templates with variable placeholders) migrate as Gorgias Templates. We preserve multi-language Text Modules with their language tags, but the destination must have matching locale configurations in Gorgias. Text Modules with unsupported variables (Zammad-specific system variables not available in Gorgias) are flagged with a note on the equivalent Gorgias variable to use instead.

Zammad

Attachment

maps to

Gorgias

Attachment

1:1
Fully supported

Attachments on Zammad ticket articles migrate to the corresponding Gorgias ticket as file attachments. We preserve the original filename, content-type, and file size. Attachments exceeding Gorgias's file size limits are flagged before migration, and the customer decides whether to compress, split, or exclude oversized files. The attachment migration runs as part of the ticket article migration phase.

Zammad

Knowledge Base Article

maps to

Gorgias

Help Center Article

1:1
Fully supported

Zammad Knowledge Base articles (internal and external) migrate to Gorgias Help Center as articles within matching categories. Article visibility settings from Zammad — internal-only versus public — require manual reconfiguration in Gorgias because visibility is handled through Help Center publication settings rather than per-article flags. We migrate the article content and category structure; the customer's admin configures publication status post-migration.

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

Gorgias logo

Gorgias gotchas

High

AI Agent adds outcome-based fees on top of billable ticket costs

High

Overage billing for tickets scales nonlinearly

Medium

API rate limits restrict bulk export throughput

Medium

Agent data visibility cannot be restricted by role for GDPR use cases

Low

Knowledge Base translations require separate API calls per locale

Pair-specific challenges

  • Gorgias has no native Organization object

    Zammad's Organization object groups related Customers and is referenced across tickets and SLAs. Gorgias has no equivalent — customer organizations must be stored as custom fields on the Customer record or encoded as ticket tags. We design the mapping strategy during scoping: the Organization name becomes a text custom field on the Customer, and Organization-to-User membership is preserved as tags (e.g., 'Acme Corp Member'). If the customer uses Organization membership for ticket routing, we remap this to Gorgias Teams instead. Skipping this design step results in orphaned organization data and broken reporting after cutover.

  • Zammad time entries are immutable and cannot be migrated as-is

    Zammad time entries attached to tickets cannot be edited or deleted via UI or API after creation. If the source Zammad account has time accounting data, the entries migrate but any incorrect time values cannot be corrected in Zammad before migration. We flag all tickets with time entries before migration and recommend the customer review and correct time entries in the source system first. In Gorgias, time tracking is not a native feature; if the customer requires time accounting post-migration, we implement it as structured custom fields on the ticket.

  • Zammad's official Migration Wizard requires a completely empty destination

    Zammad's official Migration Wizard and most third-party migrators can only import into a fresh, completely uninitialized instance. An instance initialized with test tickets or users will reject the import. We address this constraint by spinning up a clean staging instance for validation, then coordinating the production cutover window to ensure the destination is in its initial state. For customers migrating from live Zammad systems to Gorgias, this means the cutover period must be planned with a freeze window. This gotcha is specific to migrating away from Zammad to any destination.

  • Zammad Custom Object Attributes with disabled-not-deleted convention

    Zammad's admin documentation explicitly warns against deleting custom Object Attributes — only disabling them is safe, as deleted attributes can cause undefined behavior if referenced elsewhere. We preserve custom Object definitions during migration but map only to Gorgias custom fields that have matching types. We flag any Zammad attributes that are disabled rather than deleted, as these indicate abandoned schema that should not be relied upon. The customer's admin reviews this list before migration to decide whether to include or exclude the associated data.

  • Gorgias per-ticket pricing requires volume analysis before cutover

    Gorgias pricing is based on billable ticket volume per month, not per agent. Migrating from Zammad's per-agent model requires a volume analysis to right-size the Gorgias plan. If the customer's monthly ticket volume is underestimated, overage fees ($0.36-$0.40 per ticket above the plan limit) apply and can increase the monthly bill significantly during peak seasons. We analyze the customer's Zammad ticket volume over the trailing three months during scoping and recommend a Gorgias plan with appropriate headroom. Additionally, Gorgias's AI Agent resolutions count as billable tickets, creating double-billing on automated resolutions that must be budgeted separately.

Migration approach

Six steps for a successful Zammad to Gorgias data migration

  1. Discovery and migration scoping

    We audit the source Zammad instance across deployment type (cloud-hosted or self-hosted), tier (Starter/Professional/Plus), agent count, customer count, ticket volume, article history depth, active Triggers, Macros, Text Modules, SLA configurations, calendar bindings, and any custom Object definitions. For self-hosted instances, we coordinate with the customer's technical team to extract data via the REST API using an admin-level API token. The discovery output is a written migration scope document specifying record counts per object, a preliminary object mapping, and a Gorgias plan recommendation based on the customer's ticket volume analysis.

  2. Organization mapping strategy and custom field design

    Because Gorgias has no native Organization object, we design the Organization mapping strategy during this phase. We extract all Zammad Organizations and their member Users, then define whether Organization data will be stored as a text custom field on the Gorgias Customer record, as tags on each Customer, or as a combination. We also design the full custom field schema in Gorgias for all Zammad custom Object Attributes that will migrate as custom fields. Custom fields are created in Gorgias via the API before any data is imported. This step also includes designing the Team structure mapping from Zammad Groups.

  3. Staging migration and reconciliation

    We run a full migration into a Gorgias staging environment using production-like data volume. The customer reconciles record counts (Agents in, Customers in, Tickets in, Tags in), spot-checks 25-50 random tickets against the Zammad source for thread integrity and attachment preservation, and validates that Organization data appears correctly in the chosen mapping format. Any mapping corrections — wrong field types, missing custom fields, tag naming conventions — happen in this phase. No production data moves until the customer signs off on the staging validation report.

  4. Trigger, Macro, and Text Module inventory

    We extract every active Zammad Trigger, Macro, and Text Module as a written inventory document. The inventory lists each item's name, trigger conditions (for Triggers), content (for Macros and Text Modules), and the equivalent Gorgias Rule or Macro configuration. The document is delivered to the customer's admin team before cutover so that automation rebuilding can begin in parallel with or immediately after data migration. We do not rebuild Triggers as Gorgias Rules within the migration scope; this is a manual admin rebuild task guided by the inventory document.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Agents first (with reconciliation of any missing users), then Customers (with Organization data mapped to the chosen strategy), then Teams (from Zammad Groups), then Tickets with full article history and attachments, then Tags, then custom fields on Customer and Ticket records. SLA configurations and Calendar specifications are delivered as written documentation rather than migrated as data. Each phase emits a row-count reconciliation report. We pause writes to the Zammad source during the production migration window to prevent delta records from being missed.

  6. Cutover, validation, and automation handoff

    We freeze the Zammad source at cutover, run a final delta migration of any records created or modified during the migration window, then switch the customer to Gorgias as the system of record. We deliver the Trigger, Macro, and Text Module inventory document to the customer's admin team along with a brief guide on rebuilding the most critical automations in Gorgias Rules. We support a one-week hypercare window where we resolve any reconciliation issues. SLA and Calendar rebuilding remains a manual admin task guided by the specification documentation we deliver. We do not provide post-migration admin support, training, or workflow rebuild as standard scope; these are separate engagements.

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.
Gorgias logo

Gorgias

Destination

Strengths

  • Shopify and BigCommerce integrations surface order, return, and shipment data natively inside every ticket.
  • Unlimited agent seats remove per-user licensing friction as support teams grow.
  • AI Agent reduces billable ticket volume through automated resolution of high-frequency queries.
  • SOC 2 Type II certified with GDPR-aligned data handling for enterprise procurement readiness.
  • Omnichannel inbox aggregates email, live chat, Facebook, Instagram, WhatsApp, SMS, and voice into a single threaded view.

Weaknesses

  • Ticket-volume pricing with overage fees creates unpredictable monthly costs during seasonal traffic spikes.
  • Custom reporting is shallow; raw event-level data export for BI tooling is not natively supported.
  • Knowledge Base, Macros, and Rules lack simple export tooling, making competitive migrations complex.
  • GDPR compliance limitations mean customer data cannot be hidden from agents by role, blocking use by teams with freelance staff.
  • Performance and glitch reports emerge in G2 reviews at higher ticket volumes.

Complexity grading

How hard is this migration?

Moderate Helpdesk migration. 4 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 Gorgias.

  • Object compatibility

    C

    4 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 Gorgias 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 Gorgias data migrations

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

Can't find your answer?

Walk through your Zammad to Gorgias 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 50,000 tickets and 5,000 customers with no custom Zammad objects and a straightforward Organization mapping. Migrations from self-hosted Zammad instances, with custom Zammad Object Attributes, multiple SLA configurations, or large thread histories (over 200,000 article records) move to eight to twelve weeks because of the export engineering phase, custom field schema design, and SLA configuration documentation work.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Zammad.
Land in Gorgias, 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