Helpdesk migration

Migrate from OTRS to Zendesk

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

OTRS logo

OTRS

Source

Zendesk

Destination

Zendesk logo

Compatibility

70%

7 of 10

objects map 1:1 between OTRS and Zendesk.

Complexity

BStandard

Timeline

4-8 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from OTRS to Zendesk is a migration from a self-hosted, normalized-relational database to a cloud-native ticketing SaaS. OTRS stores every ticket, article, attachment, Dynamic Field, and CMDB entry across dozens of linked MySQL or PostgreSQL tables; Zendesk stores tickets, comments, and attachments as JSON documents in a managed cloud environment. We read directly from the OTRS backend to produce a consistent dataset snapshot, map every Dynamic Field to a typed Zendesk custom field during scoping, and run a separate CMDB import pass so Configuration Item relationships reconstruct against the correct ticket records. Process Management XML workflows, SLA escalation rules, and reporting definitions do not migrate as code; we deliver a written inventory of these for the customer's admin to rebuild in Zendesk.

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

OTRS logo

OTRS

What's pushing teams away

  • Annual licensing and support contract costs scale steeply, prompting teams to evaluate lower-cost SaaS alternatives with similar capabilities.
  • The 300-page admin manual and $2,000+ per-person training requirement means teams cannot self-onboard, creating friction for smaller organizations.
  • Performance degrades noticeably on large ticket volumes without tuning, and slow loading pages frustrate agents handling high-throughput queues.
  • The Community Edition received no security patches after OTRS 6, forcing organizations onto paid tiers or unsupported forks to maintain compliance posture.

Choosing

Zendesk logo

Zendesk

What's pulling them in

  • Mature omnichannel routing across email, chat, phone, messaging, and social — one unified inbox for support teams regardless of size or complexity.
  • Deep automation with Triggers, Automations, and SLA Policies lets high-volume teams enforce consistent workflows without manual ticket handling.
  • Large ecosystem of third-party integrations and a public app marketplace reduce friction for teams already using Salesforce, Jira, or Slack.
  • Industry-leading brand recognition and trust signal — many enterprise buyers default to Zendesk as a known quantity in vendor procurement cycles.
  • Generous documentation library and community mean onboarding teams can self-configure without needing a services engagement to get started.

Object mapping

How OTRS objects map to Zendesk

Each row shows how a OTRS 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.

OTRS

Ticket

maps to

Zendesk

Ticket

1:1
Fully supported

OTRS Ticket records map to Zendesk Ticket. We export standard fields (Title, State, Priority, Queue, Owner, CustomerID) and preserve the full article history and attachment references as part of the ticket export pass. The ticket ID from OTRS is stored in a custom field otrs_ticket_id__c for audit reconciliation after migration.

OTRS

Article

maps to

Zendesk

Comment or Public Reply

1:1
Fully supported

OTRS Article records (emails, notes, external replies) map to Zendesk Ticket Comments. We export article body, content-type, sender information, and create timestamp, then insert each as a Zendesk comment with the correct author (agent or end-user) and visibility (public or internal) determined by the OTRS article communication channel field.

OTRS

Customer

maps to

Zendesk

User or Organization

1:many
Fully supported

OTRS Customer records (with customer type, contact details, and preferences) map to Zendesk end-users. We evaluate whether each OTRS Customer represents an individual end-user (mapping to a Zendesk User) or an organizational entity (mapping to a Zendesk Organization) during scoping. Customer IDs in ticket records resolve to the correct Zendesk User or Organization at import time.

OTRS

Dynamic Field

maps to

Zendesk

Custom Field

lossy
Fully supported

Dynamic Fields in OTRS are entity-attribute-value rows stored in separate tables. We enumerate every defined Dynamic Field name, type, and current value during scoping and create equivalent Zendesk custom ticket fields before migration begins. Dropdown and multi-select Dynamic Fields generate tags in Zendesk that persist beyond the field lifecycle, which we document for the customer's admin to manage post-migration.

OTRS

Queue

maps to

Zendesk

Group

1:1
Fully supported

OTRS Queues define ticket routing and access boundaries. We export queue names, assignment rules, and associated group permissions and map them to Zendesk Groups. Access control scoping in OTRS (roles, groups, queues, users) requires translation to Zendesk group membership and permission sets; we produce a mapping matrix during scoping and configure Zendesk Groups before ticket import.

OTRS

Configuration Item

maps to

Zendesk

Custom Object (Asset) or Ticket Field

1:1
Fully supported

Configuration Items are CMDB entries with a class-based OTRS schema. We export CI data and the CI-to-Ticket linking table (link_delete挂号) as a separate import pass. CIs with high ticket volume are migrated as Zendesk custom object records; CIs with a 1:1 or 1:few ticket relationship are stored as values in a Zendesk custom ticket field. Ticket-to-CI relationships reconstruct via the linking table using the OTRS ticket ID preserved in otrs_ticket_id__c.

OTRS

Process Management

maps to

Zendesk

Zendesk Automation (documented separately)

lossy
Fully supported

OTRS Process Management stores workflow definitions as XML with activity nodes and conditional transition rules. We export the workflow structure and enumerate each activity state, transition condition, and responsible role. These do not migrate as executable code into Zendesk because the process model differs fundamentally. We deliver a written inventory of every Process Management record with its states, conditions, and a recommended Zendesk trigger or SLA policy equivalent for the customer's admin to configure post-migration.

OTRS

SLA and Escalation

maps to

Zendesk

SLA Policy (Zendesk Enterprise) or Tag

1:1
Fully supported

SLA definitions in OTRS link response and solution times to queues and ticket types. We export SLA names, escalation thresholds, and calendar configurations as metadata tags on each ticket record (tagged otrs_sla__c, otrs_first_response_threshold__c, otrs_solution_threshold__c) so the destination can reconstruct urgency levels. SLA enforcement requires Zendesk Enterprise plan; we verify the customer's target plan during discovery.

OTRS

Service

maps to

Zendesk

Ticket Type or Custom Field

1:1
Fully supported

OTRS Services define available offerings linked to SLAs and queues. We export service definitions and their SLA associations. Services with a catalog intent (requestable offerings) map to Zendesk Ticket Types; services with an SLA linkage map to the SLA metadata tags described above. The customer's use of the OTRS Service Catalog determines whether a Zendesk Guide or a simple Ticket Type configuration is the appropriate destination.

OTRS

Attachment

maps to

Zendesk

Attachment

1:1
Fully supported

Attachments in OTRS are stored as binary blobs in the database linked to article records. We extract each blob with its original filename and MIME type and re-attach to the corresponding Zendesk comment record during import. Binary extraction requires direct database read access; the SOAP API does not expose attachment blobs efficiently. We coordinate with the customer's DBA to schedule the attachment export pass alongside the main ticket export.

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.

OTRS logo

OTRS gotchas

High

Community Edition security freeze forces migration

Medium

Direct database export preferred over SOAP API

Medium

Major version upgrades can leave login broken

Zendesk logo

Zendesk gotchas

High

Data export requires API scripting on non-Enterprise plans

Medium

Automations cap at 500 active rules and 1,000 tickets per hour

Medium

Help Center has no native export feature

High

Custom Objects and full data export are Enterprise-only

Pair-specific challenges

  • Community Edition security freeze forces migration urgency

    OTRS stopped releasing security patches for Community Edition after version 6, creating a compliance and risk exposure problem for organizations that cannot or will not pay for the Business Solution. We flag this at discovery and advise customers on OTRS versions below 9 to treat the migration as urgent rather than optional. We export all data before any OTRS version upgrade attempt to preserve a clean pre-upgrade state, and we document the Community Edition EOL timeline as part of the migration business case.

  • Direct database read requires DBA coordination and maintenance window

    The OTRS Generic Interface SOAP API lacks documented pagination and rate limits, making bulk export unreliable without extensive looping. We default to direct MySQL or PostgreSQL reads for complete, consistent dataset snapshots. This requires read-only database credentials, coordination with the customer's DBA for a scheduled maintenance window, and schema enumeration across the normalized OTRS tables (ticket, article, dynamic_field_value, link_delete挂号, and others) before any export begins. We do not run live database reads on production without a scheduled window.

  • Major version upgrades can leave OTRS login broken

    OTRS community documentation and OTOBO migration guides both note that login failures are a known post-upgrade issue across major versions. Session tokens, hashed passwords, and Perl session configuration are invalidated by schema changes during upgrade. If the customer attempts a pre-migration OTRS version upgrade, we validate agent login immediately afterward before proceeding with data export, and we document the session reset steps as part of the pre-migration checklist.

  • Dynamic Field enumeration must precede any export

    OTRS Dynamic Fields are entity-attribute-value rows in separate tables, not columns in the ticket table. A ticket record may have zero or hundreds of Dynamic Field values depending on the process configuration. We enumerate every defined Dynamic Field name, OTRS field type (Text, Date, Dropdown, MultiSelect, Checkbox, Integer), and current value range during scoping to produce the Zendesk custom field creation manifest. Skipping this enumeration results in Dynamic Field values being silently dropped during import.

  • OTRS Stats and Reports are not transferable

    OTRS reporting stores report definitions and rendered output in the database with proprietary structure tied to OTRS's normalized schema. These cannot be directly imported into Zendesk's reporting model. We note this gap in the handoff documentation, advise archiving OTRS report exports as reference PDFs, and recommend rebuilding key reports in Zendesk Explore using migrated data. This is an honest limitation of any OTRS to Zendesk migration regardless of method.

Migration approach

Six steps for a successful OTRS to Zendesk data migration

  1. Discovery and OTRS version audit

    We audit the source OTRS instance across version (Community Edition vs Starter/Advanced/Business Solution), MySQL or PostgreSQL database version, Dynamic Field count and type inventory, Process Management XML workflow count and complexity, CMDB Configuration Item volume and class schema, and SLA configuration. We coordinate with the customer's DBA to obtain read-only database credentials and schedule a schema enumeration window. The discovery output is a written migration scope including the Zendesk plan recommendation (Support Team for basic queues, Support Professional for SLA and business hours, Support Enterprise for custom roles and sandbox), the Dynamic Field mapping manifest, and the CMDB import strategy.

  2. Zendesk schema preparation and custom field creation

    We configure the Zendesk destination before any data moves. This includes creating custom ticket fields to match every enumerated OTRS Dynamic Field (with type alignment for dropdown, multi-select, checkbox, and numeric fields), configuring Groups to approximate OTRS queue routing, setting up Organizations where the OTRS Customer data has an organizational structure, and provisioning any required Zendesk SLA policies if the Enterprise plan is in scope. Schema configuration happens in a Zendesk Sandbox or staging environment first for validation with the customer's admin team.

  3. Sandbox migration and reconciliation

    We run a full migration into the customer's staging Zendesk environment using direct database reads from OTRS. The export pass extracts tickets, articles, customers, Dynamic Field values, and Configuration Items in dependency order. The customer's support operations lead reconciles record counts (tickets in, comments in, customers in, attachments in), spot-checks 25-50 random ticket histories against the OTRS source, and verifies that Dynamic Field values land in the correct Zendesk custom fields. Any mapping corrections happen here, not in production.

  4. Process Management and workflow inventory

    We enumerate every OTRS Process Management workflow definition and produce a written inventory for the customer's admin. For each workflow, we document the trigger conditions, activity nodes, conditional transitions, responsible roles, and SLA escalation triggers. We do not migrate Process Management as executable code because OTRS XML workflows do not map to Zendesk trigger syntax. The admin rebuilds these as Zendesk Triggers, SLA Policies, and Ticket Field updates post-migration using our documented inventory as the blueprint.

  5. Production cutover and CMDB import pass

    We run production migration in a scheduled maintenance window. Ticket writes freeze in OTRS and all communication channels route to Zendesk before migration begins. We execute the CMDB import pass as a separate phase after tickets to preserve CI-to-Ticket linking via the otrs_ticket_id__c custom field. Attachments export from the OTRS database as binary blobs and re-attach to the corresponding Zendesk comment records. Each import phase emits a row-count reconciliation report before the next begins.

  6. Go-live, delta migration, and handoff

    We enable Zendesk as the system of record and run a delta migration of any records created or modified during the cutover window. We deliver the Process Management inventory document, the Dynamic Field mapping manifest, and the SLA metadata tag guide to the customer's admin team. We support a one-week hypercare window to resolve reconciliation issues. We do not rebuild OTRS Process Management workflows as Zendesk Triggers or Automations within the migration scope; that is a separate engagement.

Platform deep dives

Context on both ends of the pair

OTRS logo

OTRS

Source

Strengths

  • Per-ticket Dynamic Fields allow unlimited custom properties without code changes.
  • Multi-channel inbound (email, portal, chat, phone) unified into a single ticket thread.
  • Role-based access control with granular queue, group, and permission scoping.
  • Built-in asset management (CMDB) with ticket-to-CI relationship tracking.
  • Process Management supports multi-step ITSM workflows with conditional branching.

Weaknesses

  • Community Edition receives no security updates, creating compliance risk on unsupported versions.
  • Database is normalized across many tables, making direct exports complex without schema knowledge.
  • No publicly documented API rate limits; direct database access is the reliable bulk export path.
  • Complex permission model (roles, groups, queues, users) is difficult to replicate exactly in simpler SaaS tools.
  • Self-hosted deployment requires dedicated server administration and Perl runtime maintenance.
Zendesk logo

Zendesk

Destination

Strengths

  • Well-documented REST API with broad endpoint coverage for Tickets, Users, Organizations, and Help Center.
  • Rich automation primitives: Triggers (event-driven), Automations (time-based), and Macros with variable substitution.
  • Multi-brand support enables large organizations to route and isolate support by product line or subsidiary.
  • Scalable from small teams on Team plan to global enterprises on Enterprise Plus with sandbox and disaster recovery options.
  • Large partner ecosystem and marketplace with hundreds of pre-built integrations reduces integration work at deployment.

Weaknesses

  • Per-agent pricing with aggressive feature gating makes lower tiers feel artificially limited.
  • No native full-KB export — Help Center content requires API scripting to extract.
  • AI features are add-on priced and behave inconsistently, not deeply embedded in core workflows.
  • Implementation timelines for complex multi-channel setups routinely exceed initial estimates by weeks or months.
  • Knowledge base and help center functionality are separate from core ticketing with their own permission model and versioning.

Complexity grading

How hard is this migration?

Standard Helpdesk migration. All 7 core objects map 1:1 between OTRS and Zendesk.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across OTRS and Zendesk.

  • Object compatibility

    A

    All 7 core objects map 1:1 between OTRS and Zendesk.

  • 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

    OTRS: Not publicly documented; no published rate limit values.

  • Data volume sensitivity

    B

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

Estimator

Estimate your OTRS to Zendesk 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 OTRS to Zendesk data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most migrations land between four and eight weeks for accounts under 50,000 tickets with fewer than 50 Dynamic Fields and no CMDB import. Migrations with large CMDB datasets (thousands of Configuration Items with ticket associations), complex SLA configurations, or multi-queue OTRS deployments requiring granular group mapping move to eight to sixteen weeks because of the CMDB import pass, Dynamic Field enumeration, and SLA metadata tagging work. Direct database export and import time scale with data volume, not with ticket complexity.

Adjacent paths

Related migrations to explore

Ready when you are

Move from OTRS.
Land in Zendesk, 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