Helpdesk migration
Field-level mapping, validation, and rollback between CDESK and Zendesk. We move data and schema; workflows are rebuilt natively in Zendesk.
CDESK
Source
Zendesk
Destination
Compatibility
7 of 11
objects map 1:1 between CDESK and Zendesk.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Migrating from CDESK to Zendesk requires working around a platform that has no publicly documented API, which constrains extraction to direct database access, in-application manual export, or CSV-based extraction. Zendesk accepts tickets, contacts, organizations, agents, and attachments through its bulk import APIs, but tickets cannot be created without a valid requester contact and an assigned agent. We sequence the migration to create organizations first, then users and agents, then tickets with their SLA deadline values carried forward as custom fields, and finally attachments linked back to the correct ticket IDs. Request Templates and Regular Requests are configuration artifacts and do not migrate as data; we inventory every template and schedule rule and deliver documentation so your Zendesk administrator can rebuild them. Automations, macros, and SLA rule definitions do not migrate and are excluded from scope by design.
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 CDESK 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.
CDESK
Request
Zendesk
Ticket
1:1CDESK Requests map directly to Zendesk Tickets. We extract standard fields (title, description, status, priority, assignee, requester, created_at, updated_at) and carry SLA deadline timestamps as custom fields on each ticket. Request ID is preserved in a custom field cdesk_original_id__c for cross-referencing. If CDESK provides no API, extraction relies on direct database reads or CSV exports from the application's export functionality; we confirm the extraction path during discovery.
CDESK
Custom Properties
Zendesk
Custom Fields
1:1CDESK administrator-defined Custom Properties on Requests map to Zendesk ticket custom fields. We extract the property key and value for each Request, then create Zendesk custom fields of matching type (text, numeric, date, dropdown, checkbox) during the target schema setup phase. Dropdown options are preserved as Zendesk drop-down field options. Multi-value Custom Properties map to Zendesk tag fields or multi-select custom fields depending on data type.
CDESK
SLA/SLO deadline
Zendesk
SLA Metric + Custom Fields
1:1CDESK SLA and SLO deadlines are stored as date-time fields on each Request. We carry these forward as Zendesk custom fields (sladate__c, slatype__c) on the ticket so the values are available for reporting. The SLA rule definitions themselves (escalation paths, business-hour calendars) do not migrate as structured Zendesk SLA Policy configuration; we document every unique SLA name and deadline tuple and the customer recreates SLA Policies in Zendesk Admin based on that inventory.
CDESK
Request Templates
Zendesk
Configuration (not migrated)
lossyRequest Templates define default field values and structures for new ticket creation in CDESK. These are configuration artifacts, not data records. We do not export them as tickets. Instead we inventory every Request Template during discovery (name, default fields, assignee rules, default priority) and provide a written reference document that maps each template to its recommended Zendesk equivalent (Form, Macro, or default field value). The customer's Zendesk admin rebuilds these post-migration.
CDESK
Regular Requests
Zendesk
Configuration (not migrated)
lossyRegular Requests are scheduled automated ticket generation rules in CDESK. They are scheduling rules, not instance data. We flag their existence during discovery and document the schedule, trigger conditions, and default fields for each. These map to Zendesk Triggers or scheduled automations, which are not migrated as code. We deliver a Regular Request inventory as a configuration handoff document.
CDESK
Priority View
Zendesk
Zendesk Views
lossyCDESK's Priority View is a filtering and sorting configuration for the request list, not a data object. We preserve priority and SLA deadline values on each Request so the priority ordering can be recreated as Zendesk Views. We map CDESK priority levels (e.g., Low, Medium, High, Critical) to Zendesk ticket priority field values. Views in Zendesk filter by status, assignee, priority, and custom field values.
CDESK
Request Attachments
Zendesk
Ticket Attachments
1:1File attachments on CDESK Requests migrate as Zendesk ticket attachments. We extract binary blobs alongside their parent Request ID, preserving filenames and attachment ordering. Large attachments may require chunked transfer depending on Zendesk's file size limits (50 MB per attachment). We resolve the Zendesk ticket ID at import time to link each attachment to the correct parent ticket.
CDESK
Deal
Zendesk
Organization + custom Deal object or Ticket
1:manyCDESK Deals track sales opportunities alongside service Requests. Zendesk Service Suite does not have a native Deal or Opportunity object; these map either to a Zendesk Organization with deal-related fields stored as custom fields, or to a custom Zendesk App or third-party integration. During scoping we confirm whether the customer uses CDESK Deals for customer-facing support context (mapping to Organizations) or sales pipeline context (recommending a CRM integration or custom object). Linked tasks migrate as Tasks on the parent record.
CDESK
Requester/Contact
Zendesk
End User or Agent
1:1Every Zendesk ticket requires a requester (End User) and an assignee (Agent). We extract distinct requester contacts from CDESK Requests and map them to Zendesk End Users. CDESK agent accounts map to Zendesk Agent or Admin roles. Any CDESK contact without an email address cannot be imported as a Zendesk End User; we flag these as partial records and assign them to a default contact for the customer's admin to resolve post-migration.
CDESK
Request Status
Zendesk
Ticket Status
1:1CDESK Request status values (e.g., Open, In Progress, Resolved, Closed) map to Zendesk ticket status field values. We match by label where possible and use a status map where labels differ. Zendesk's default statuses are New, Open, Pending, Hold, Solved, Closed; custom statuses are available on higher tiers. We configure the mapping before migration so that status values land correctly without requiring post-migration data correction.
CDESK
Department/Multi-department routing
Zendesk
Zendesk Groups
1:1CDESK's multi-department routing capability maps to Zendesk Groups. We extract every distinct department assignment from CDESK Request records, create Zendesk Groups matching those department names, and assign tickets to the correct Group during migration. Agents are assigned to Groups via their Zendesk profile. This preserves the departmental visibility and routing that CDESK customers rely on for internal IT versus non-IT service request separation.
| CDESK | Zendesk | Compatibility | |
|---|---|---|---|
| Request | Ticket1:1 | Fully supported | |
| Custom Properties | Custom Fields1:1 | Mapping required | |
| SLA/SLO deadline | SLA Metric + Custom Fields1:1 | Fully supported | |
| Request Templates | Configuration (not migrated)lossy | Not supported | |
| Regular Requests | Configuration (not migrated)lossy | Not supported | |
| Priority View | Zendesk Viewslossy | Mapping required | |
| Request Attachments | Ticket Attachments1:1 | Fully supported | |
| Deal | Organization + custom Deal object or Ticket1:many | Fully supported | |
| Requester/Contact | End User or Agent1:1 | Fully supported | |
| Request Status | Ticket Status1:1 | Fully supported | |
| Department/Multi-department routing | Zendesk Groups1: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.
CDESK gotchas
No documented public API for bulk data extraction
Request Templates and Regular Requests do not migrate as data
SLA/SLO values migrate as data, not as rules
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 extraction path confirmation
We audit the CDESK instance to confirm available extraction methods: direct database read access (if self-hosted), in-application export functionality, or CSV generation. We inventory all Request fields, Custom Properties, SLA configurations, Request Templates, Regular Requests, Deals, and attachment volume. We also confirm the target Zendesk edition and whether Zendesk Guide is required for knowledge base migration. The discovery output is a written migration scope document that identifies the extraction path, all objects to migrate, and any records that require manual pre-processing before import.
Target schema setup in Zendesk
Before any data moves, we configure the Zendesk destination: custom fields typed to match CDESK Custom Properties (text, numeric, date, dropdown, checkbox), SLA Policies matching the documented CDESK SLA definitions, Groups matching CDESK departments, ticket field mapping, and default values for any Zendesk-required fields (requester, assignee, status). We set up the environment in a Zendesk Sandbox or staging account first for validation. This phase also includes disabling Zendesk Triggers and automations that would fire on imported tickets and distort the migrated data.
Extraction and data quality preparation
We execute the extraction using the path confirmed in discovery. If direct database access is available, we run targeted SQL queries against the CDESK schema to extract Requests, Custom Property values, SLA timestamps, and attachment references. If export-based, we process the output files to normalize field formats, resolve null values, and flag records with missing required fields. We clean requester and assignee data to ensure every Zendesk-importable record has a valid contact and agent reference. This step produces a validated, import-ready dataset with a reconciliation report.
Test migration and validation
We run a full test migration into the Zendesk staging environment using a representative sample of records (typically 100-500 tickets depending on total volume). The customer reviews the output: ticket field accuracy, Custom Property mapping, SLA timestamp placement, priority and status translation, attachment linkage, and Group assignment. We correct any mapping errors identified in this round. The customer signs off on the test results before production migration begins. This step prevents import errors from reaching the live Zendesk instance and requiring retroactive correction.
Production migration with dependency ordering
We run production migration in dependency order: Organizations and End Users first, then Agents, then Tickets with Custom Property fields and SLA deadline timestamps, then Attachments linked to the correct ticket IDs, then Deals mapped to Organizations or custom objects. Each phase emits a row-count reconciliation report. We apply Zendesk Bulk API batch chunking and exponential backoff to handle rate limits. We freeze CDESK writes during the final delta migration window and run one last sync to capture any records modified during the cutover period.
Cutover, validation, and configuration handoff
After the final migration phase completes, we enable Zendesk as the system of record and disable CDESK channel integrations to prevent new tickets arriving in the old system. We deliver the Request Template and Regular Request inventory document to the customer's Zendesk administrator for manual rebuild as Macros, Forms, and Triggers. We conduct a validation session reviewing 25-50 randomly sampled tickets against the CDESK source data. We provide a one-week hypercare window to resolve any reconciliation issues. We do not rebuild automations or configure Zendesk SLA Policies; those are delivered as configuration handoff documents for the customer's admin team.
Platform deep dives
CDESK
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 CDESK 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
CDESK: Not publicly documented.
Data volume sensitivity
CDESK 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 CDESK to Zendesk migration scoping. Not seeing yours? Book a call.
Walk through your CDESK 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 CDESK
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.