Helpdesk migration
Field-level mapping, validation, and rollback between Desky and Zoho Desk. We move data and schema; workflows are rebuilt natively in Zoho Desk.
Desky
Source
Zoho Desk
Destination
Compatibility
9 of 12
objects map 1:1 between Desky and Zoho Desk.
Complexity
CModerate
Timeline
2-3 weeks
Overview
Moving from Desky to Zoho Desk is a migration from a CSV-first helpdesk into a department-centric platform with a managed migration team and a credit-based API model. Desky has no documented public API, so we rely on its admin-level bulk CSV export and re-import the structured data into Zoho Desk using Zoho's prescribed CSV schema with agentExtId, AccountExtId, and ContactExtId as the dedupe keys. Tickets migrate with thread history; Knowledge Base Articles migrate but their inline attachment references require a separate re-attachment pass. Custom ticket fields from Desky map to Zoho Desk custom fields, which are available from the Standard plan onward, though custom modules (the ability to create entirely new object types) are Enterprise-only. We do not migrate workflows, macros, or automations as code; we deliver a written inventory of these for the customer's Zoho admin to rebuild.
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 Desky 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.
Desky
Ticket
Zoho Desk
Ticket
1:1Desky Tickets migrate to Zoho Desk Tickets 1:1. The subject, description, status (Open, Pending, Resolved, Closed), priority, assignee agent email, created time, and modified time map directly. Custom ticket fields from Desky migrate to Zoho Desk custom fields, which require pre-creation in the destination portal under Setup > Customization > Layouts and Fields. We validate custom field data types before insert to avoid Zoho Desk validation rule rejections. Ticket thread history (agent replies, customer replies) migrates as Ticket Threads in Zoho Desk, with authorship preserved by matching agent emails to Zoho Desk agent records.
Desky
Agent
Zoho Desk
Agent
1:1Desky Agent accounts migrate to Zoho Desk Agents using email as the primary dedupe key. Zoho Desk's CSV schema for agents requires agentExtId, Last Name, First Name, and Email (email is required and if an agent with that email already exists, the system maps to the existing user). We flag any Desky agents with inactive status that will need to be reactivated in Zoho Desk post-migration. Agent roles (Admin, Agent) map from Desky's role system to Zoho Desk role assignments.
Desky
Customer
Zoho Desk
Contact
1:1Desky Customer contacts migrate to Zoho Desk Contacts with name, email, phone, and company association preserved. The ContactExtId column in Zoho Desk's CSV schema serves as the dedupe key. If the corresponding Company (Account) has not yet been created, we insert Contacts after Accounts to satisfy the AccountExtId lookup relationship. Mobile number, street, city, state, country, and zip map to Zoho Desk Contact fields directly.
Desky
Company
Zoho Desk
Account
1:1Desky Company records migrate to Zoho Desk Accounts. The AccountExtId column is the dedupe key. Fields mapping include Account Name (required), Phone, Email, Website, Industry, Street, City, Description, and Annual Revenue. We create all Accounts before importing Contacts so that the Account-to-Contact linkage is established at insert time. Any Desky Company records without an associated Customer are created as standalone Accounts.
Desky
Knowledge Base Article
Zoho Desk
Knowledge Base Article
1:1Desky Knowledge Base Articles migrate to Zoho Desk Solutions (KB Articles). Article title, body content (HTML), publication status (Draft, Published), and category assignment map directly. However, article attachments stored as URL references in Desky's CSV export will not migrate through Zoho Desk's KB import; we download all referenced files separately and re-upload them as Zoho Desk article attachments in a post-import pass. Any HTML formatting that does not survive UTF-8 re-encoding is flagged for manual review.
Desky
Tag
Zoho Desk
Tag
1:1Desky Tags migrate as string labels applied to the corresponding Ticket and Article records at the destination. Zoho Desk supports tags on tickets and articles, and we re-apply the original tag strings during the post-import pass. We handle tag normalization (lowercasing, trimming whitespace) to prevent duplicate tags from identical labels with different casing.
Desky
Attachment (Ticket)
Zoho Desk
Attachment (Ticket)
lossyTicket attachments in Desky are stored as file URLs in the CSV export. We download all referenced files, preserving original filenames and MIME types, then upload them to Zoho Desk Tickets via the Zoho Desk REST API. High-attachment tickets (more than 10 files) are flagged upfront for manual verification. We batch uploads in chunks of 50 to respect Zoho's credit-based API rate limits.
Desky
Custom Ticket Field
Zoho Desk
Custom Field
lossyDesky user-defined ticket fields map to Zoho Desk custom fields. We detect all custom field definitions during the source scan, map their data types to Zoho Desk field types (Text, Number, Date, Dropdown, Checkbox, etc.), and create the corresponding custom field definitions in the destination portal under Setup > Customization > Layouts and Fields before any ticket data is imported. Note that Zoho Desk custom modules (creating entirely new object types beyond the standard set) require Enterprise tier; custom fields on Tickets, Contacts, and Accounts are available from Standard tier onward.
Desky
Department
Zoho Desk
Department
lossyDesky does not have a formal Department construct, but agents can be grouped informally. Zoho Desk is department-centric: every agent, ticket, and article belongs to a Department. During scoping we identify whether the customer's Zoho Desk destination already has Departments configured; if not, we create a default Department and assign all migrated agents and tickets to it. Multi-department configurations (splitting support teams by product line or region) are documented as a post-migration configuration step for the customer's admin.
Desky
Product
Zoho Desk
Product
1:1If Desky Products are in scope (typically used for ticket-to-product linking in warranty or hardware support scenarios), we migrate them to Zoho Desk Products. The Product Name and Product Code fields map directly. Products must be imported before any Ticket records that reference them, as the product lookup relationship must be satisfied at insert time.
Desky
Task
Zoho Desk
Task
1:1Desky Tasks (agent action items attached to tickets) migrate to Zoho Desk Tasks with Subject, Description, Status, Priority, Due Date, and assigned Agent preserved. Tasks are imported after Agents so that the OwnerId lookup resolves correctly. Thread-level tasks in Desky that are associated with a specific ticket comment are linked to the corresponding Ticket Thread record in Zoho Desk.
Desky
Thread / Comment
Zoho Desk
Thread / Comment
1:1Desky ticket conversation history migrates to Zoho Desk Ticket Threads. Each thread entry preserves the author (agent or customer), the direction (incoming/outgoing), the timestamp, and the message body. Direction classification from Desky maps to Zoho Desk's thread direction field; if Desky does not expose direction metadata, we infer it from whether the author is an Agent or a Customer contact.
| Desky | Zoho Desk | Compatibility | |
|---|---|---|---|
| Ticket | Ticket1:1 | Fully supported | |
| Agent | Agent1:1 | Fully supported | |
| Customer | Contact1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Knowledge Base Article | Knowledge Base Article1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Attachment (Ticket) | Attachment (Ticket)lossy | Fully supported | |
| Custom Ticket Field | Custom Fieldlossy | Fully supported | |
| Department | Departmentlossy | Fully supported | |
| Product | Product1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Thread / Comment | Thread / Comment1: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.
Desky gotchas
No publicly documented API complicates programmatic migration
Furniture product and software product share the same brand name
Attachment handling requires manual re-attachment
Zoho Desk gotchas
Agent email identity determines comment ownership after migration
Blueprints and SLA policies do not export via API
File upload capped at 10GB per migration batch
Tier-gated export and migration capabilities
Inbound migration is two-phase with a hard Phase 2 cutoff
Pair-specific challenges
Migration approach
Source audit and Desky CSV extraction
We run a full data audit of the Desky portal, extracting record counts for Tickets, Agents, Customers, Companies, Knowledge Base Articles, Tags, and any custom ticket fields. We confirm the exact CSV export format available in Desky's admin panel, verify required columns against Zoho Desk's prescribed CSV schema (Agents_XX.csv, Accounts_XX.csv, Contacts_XX.csv, Tickets_XX.csv, Threads_XX.csv), and identify any encoding issues (UTF-8 BOM, special characters in customer names, HTML in article bodies) before export. We also download all KB article attachment URLs during this phase so they can be re-uploaded in a controlled batch after the main import.
Zoho Desk schema setup and department configuration
We configure the destination Zoho Desk portal before any data import. This includes creating the Department structure (or confirming the existing department setup), provisioning any custom fields needed to receive Desky's custom ticket fields under Setup > Customization > Layouts and Fields, confirming the Zoho Desk plan tier (Standard, Professional, or Enterprise) to verify custom field and custom module availability, and disabling any validation rules that could block the import pass. We create a Zoho Desk sandbox or trial org first to validate the full import process with a subset of data before committing to production.
CSV transformation and custom field mapping
We transform the Desky CSV exports into Zoho Desk's prescribed schema. This includes adding the required ExtId columns (agentExtId, AccountExtId, ContactExtId) as dedupe keys, mapping Desky status and priority enums to Zoho Desk status and priority values, resolving Desky agent email references to Zoho Desk agent IDs, resolving Desky Company IDs to Zoho Desk AccountExtId for Contact linking, and applying custom field value transformations for any Desky custom field types that require type coercion. We run a pre-validation pass that checks each CSV batch for required field presence, field-length violations, and invalid characters before submitting to Zoho Desk.
Zoho Desk import submission and Phase 1 migration
We submit the migration request through Zoho Desk's Zwitch portal (Setup > Data Administration > Zwitch > New Migration), uploading the structured CSV files in the required module order: Agents first (to satisfy owner lookups), then Accounts, then Contacts (with AccountExtId linked), then Products (if in scope), then Tickets (which automatically pulls in Ticket Threads and Comments). We monitor the Phase 1 migration ticket created by Zoho Desk's migration team and download the error log zip file upon completion. Each CSV file with errors is corrected and resubmitted for Phase 2 re-migration within the two-week window.
Phase 2 delta migration and KB attachment re-upload
We run a final delta export of Desky for any tickets created during the two-week reconciliation window, transform the delta CSV to Zoho Desk schema, and submit for Phase 2 migration. In parallel, we re-upload all downloaded KB article attachments to Zoho Desk Articles via the REST API, batching uploads in groups of 50 to respect credit limits. Ticket attachments are re-uploaded to the corresponding Zoho Desk Ticket records. We flag any articles or tickets with more than 10 attachments for manual verification after the automated pass completes.
Cutover, validation, and handoff
We freeze write access to the Desky portal during cutover, run a final delta pass to capture any last-minute changes, and import the final delta into Zoho Desk. We deliver a row-count reconciliation report comparing Desky source counts to Zoho Desk destination counts for every object type, with a discrepancy log for any records that could not be migrated. We deliver a written inventory of Desky automations, macros, and any workflow rules that require rebuilding in Zoho Desk Blueprint, along with guidance on how to configure equivalent rules in Zoho. We support a one-week hypercare window for post-cutover reconciliation before closing the migration engagement.
Platform deep dives
Desky
Source
Strengths
Weaknesses
Zoho Desk
Destination
Strengths
Weaknesses
Complexity grading
Moderate Helpdesk migration. 4 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Desky and Zoho Desk.
Object compatibility
4 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
Desky: Not publicly documented.
Data volume sensitivity
Desky 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 Desky to Zoho Desk migration scoping. Not seeing yours? Book a call.
Walk through your Desky to Zoho Desk migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Desky
Other ways to arrive at Zoho Desk
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.