Helpdesk migration
Field-level mapping, validation, and rollback between Desky and Gorgias. We move data and schema; workflows are rebuilt natively in Gorgias.
Desky
Source
Gorgias
Destination
Compatibility
7 of 12
objects map 1:1 between Desky and Gorgias.
Complexity
CModerate
Timeline
1-2 weeks
Overview
Moving from Desky to Gorgias is a structural migration for e-commerce-focused support teams that have outgrown Desky's general-purpose ticketing model. Desky has no publicly documented REST API, so we extract data through its admin-level bulk CSV export and re-import through Gorgias' REST API, with file attachments downloaded from Desky URL references and re-uploaded to Gorgias preserving original filenames and MIME types. We map Desky's Tickets to Gorgias Tickets (with custom fields preserved), Desky Agents to Gorgias Users, and Desky's Knowledge Base Articles to Gorgias KB categories and Articles, with tag strings reapplied as Gorgias tag labels. Gorgias' per-ticket pricing model differs from Desky's per-agent model; we flag this pricing impact during scoping so the customer understands the billing shift before committing. Automations, macros, and rules do not migrate as code; we deliver a written inventory of Desky's automation surface for the customer's admin to rebuild in Gorgias.
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 Gorgias, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Desky
Ticket
Gorgias
Ticket
1:1Desky Tickets map directly to Gorgias Tickets with subject, description, status, priority, assignee (via agent-to-user lookup), and created/updated timestamps preserved. Desky's custom ticket fields (user-defined properties beyond the standard set) are detected during the source scan, and we create matching custom field definitions at Gorgias (string, boolean, date, number, select, or multi-select) before the ticket import phase begins. Tickets with more than 10 attachments are flagged upfront for manual re-attachment review because the URL-reference export from Desky requires a separate post-import re-upload job that carries a higher failure rate on high-attachment records.
Desky
Agent
Gorgias
User
1:1Desky Agent accounts migrate with display name, email, role, and active/inactive status to Gorgias User records. We resolve agents by email match during import. Any Desky Agent without a matching email in the destination Gorgias account is placed in a reconciliation queue for the customer's admin to provision the User before record import resumes. Agent seat count is validated against the target Gorgias plan's user limit before migration commits.
Desky
Customer
Gorgias
Customer
1:1Desky Customer records (name, email, phone, and company association) map to Gorgias Customer. The company link is preserved via the linked Company record. Any unmapped custom contact properties are flagged during scoping; if Gorgias supports equivalent custom fields, we create them before import. Note that Gorgias can create duplicate customer records if the email address is modified during an ongoing import pass, per Gorgias' own migration documentation.
Desky
Company
Gorgias
Customer (organization level)
1:1Desky Company records map to the organizational-level data attached to Gorgias Customer records. We migrate Companies as independent records and re-establish linked Customer associations at the destination so that all contacts for a given company share the same organization context in Gorgias.
Desky
Knowledge Base Articles
Gorgias
Knowledge Base Articles
1:1Desky KB Articles (title, body content, publication status, and category assignment) map to Gorgias Articles. HTML formatting in article body content may require post-migration formatting review because Gorgias' article renderer handles certain HTML elements differently than Desky. Embedded media URLs in article body are preserved as references; we re-upload the linked media files and update URLs to point to Gorgias-hosted assets. Category hierarchy from Desky maps to Gorgias' top-level categories and subcategories.
Desky
Tags
Gorgias
Tags
lossyDesky Tags are lightweight string labels attached to Tickets and Articles. We migrate tag strings and re-apply them as tag labels on the corresponding Gorgias Tickets and Articles at import time. Tags that exist on both platforms are matched automatically; new tags are created and associated during the post-import pass.
Desky
Attachments
Gorgias
Attachments
1:1Desky stores ticket and article attachments as file reference URLs in the CSV export rather than binary blobs. We download all referenced files, preserve original filenames and MIME types, and re-upload them to Gorgias as attachments on the corresponding Tickets or Articles. For tickets with more than 10 attachments, we flag these individually so the customer can decide between automated re-attachment and manual handling. Inline images embedded in article body content follow the same download-re-upload pattern with URL rewriting to point to the new Gorgias-hosted asset.
Desky
Custom Ticket Fields
Gorgias
Custom Fields (Ticket)
lossyDesky custom ticket fields are detected during the pre-migration source scan. We create matching custom field definitions in Gorgias via Settings > Ticket Fields before the ticket import phase. Supported types include string, boolean, date, number, select, and multi-select. Fields that use data types Gorgias does not support are flagged for the customer to review and either convert to a compatible type or drop from migration scope.
Desky
Company associations
Gorgias
Customer organization link
1:1The link between Desky Customer and Company objects is preserved during migration by migrating Company records first, then importing Customer records with the organization reference resolved to the destination Gorgias Customer organization field. This ensures that contact-company associations are intact at cutover without orphaned or unlinked records.
Desky
Ticket status and priority
Gorgias
Ticket status and priority
lossyDesky ticket status values (open, pending, resolved, closed) and priority values (low, medium, high, urgent) are mapped to Gorgias' corresponding status and priority fields. If Desky uses custom status or priority labels, we configure matching values in Gorgias during the pre-migration schema setup phase so that imported tickets display correctly without label mismatches.
Desky
Article category structure
Gorgias
KB category and folder structure
lossyDesky article categories map to Gorgias top-level KB categories and subcategories. The category hierarchy is reconstructed at Gorgias by creating the category structure first, then assigning articles to their destination category during import. Article publication status (draft, published) maps to Gorgias' article visibility setting.
Desky
Agent roles
Gorgias
User permissions
lossyDesky agent role assignments (admin, agent) map to Gorgias User permission levels. We preserve role information as a custom field on the User record at migration time if the destination plan supports custom user fields, so that role context is available for reporting even if Gorgias' default permission model differs from Desky's.
| Desky | Gorgias | Compatibility | |
|---|---|---|---|
| Ticket | Ticket1:1 | Fully supported | |
| Agent | User1:1 | Fully supported | |
| Customer | Customer1:1 | Fully supported | |
| Company | Customer (organization level)1:1 | Fully supported | |
| Knowledge Base Articles | Knowledge Base Articles1:1 | Mapping required | |
| Tags | Tagslossy | Mapping required | |
| Attachments | Attachments1:1 | Mapping required | |
| Custom Ticket Fields | Custom Fields (Ticket)lossy | Mapping required | |
| Company associations | Customer organization link1:1 | Fully supported | |
| Ticket status and priority | Ticket status and prioritylossy | Fully supported | |
| Article category structure | KB category and folder structurelossy | Fully supported | |
| Agent roles | User permissionslossy | 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
Gorgias gotchas
AI Agent adds outcome-based fees on top of billable ticket costs
Overage billing for tickets scales nonlinearly
API rate limits restrict bulk export throughput
Agent data visibility cannot be restricted by role for GDPR use cases
Knowledge Base translations require separate API calls per locale
Pair-specific challenges
Migration approach
Discovery and source audit
We extract a full data inventory from Desky using its admin-level bulk CSV export across all supported objects: Tickets, Agents, Customers, Companies, Knowledge Base Articles, and Tags. We validate the CSV structure (column headers, row counts, encoding), flag any records with attachment URLs exceeding a threshold of 10 per record, and identify custom ticket field definitions in use. We pair this with a Gorgias plan review to confirm which custom field types are available at the customer's target tier. The discovery output is a written migration scope, a field-mapping matrix, and a pricing impact note comparing the customer's current Desky agent-based bill to the expected Gorgias ticket-based bill.
Schema pre-creation in Gorgias
Before any data moves, we create the destination schema in Gorgias. This includes configuring custom ticket fields to match the detected Desky custom field definitions (string, boolean, date, number, select, multi-select), setting up KB category and subcategory hierarchy matching the Desky article structure, and confirming user permission levels for migrated agents. We also configure ticket status and priority value mappings if Desky uses custom labels that differ from Gorgias defaults. Schema setup runs in the customer's live Gorgias account before the migration import begins.
File attachment pre-download queue
We parse all attachment URLs referenced in the Desky CSV exports and build a download queue. We download each file, verify its MIME type, record its original filename, and store it in a staging bucket organized by source ticket ID. High-attachment tickets (more than 10 files) are flagged as a separate queue with a manual review trigger before their re-upload begins. This pre-download step runs in parallel with schema setup so that files are ready for immediate re-upload once ticket import completes.
Gorgias API import in dependency order
We import data into Gorgias in dependency order through Gorgias' REST API. Customer and Company records import first (Companies creating the organizational context for linked Customers). Agents import next as Users with roles mapped. Ticket import follows with custom fields resolved, assignee references matched to the newly created Users, and tag strings reapplied. Knowledge Base Articles import after Tickets, with category assignments resolved to the pre-created KB structure. Each phase emits a row-count reconciliation report before the next phase begins. Attachment re-upload runs as a post-ticket-import job, matching files from the staging bucket to the destination Ticket records by ID.
Knowledge Base article formatting reconciliation
Article body content with HTML formatting may render differently in Gorgias than in Desky. We run a post-import review pass comparing rendered article content against the source Desky export, flagging any formatting breaks (table layouts, embedded iframes, font styles, or media placeholders). For critical articles (those with more than 50 views in the Desky export), we recommend a manual spot-check before the knowledge base goes live. We do not automatically rewrite HTML; we flag discrepancies and deliver a reconciliation report for the customer's admin to address.
Cutover, validation, and automation inventory handoff
We freeze writes at Desky during the cutover window, run a final delta pass importing any records created or modified during the migration, then confirm Gorgias as the system of record. We deliver a reconciliation report comparing source record counts to destination record counts across all object types. We also deliver a written inventory of Desky automation rules, routing logic, and any active workflows or macros for the customer's admin to rebuild in Gorgias' Rules and Macros system. We do not rebuild automations as code inside the migration scope.
Platform deep dives
Desky
Source
Strengths
Weaknesses
Gorgias
Destination
Strengths
Weaknesses
Complexity grading
Moderate Helpdesk migration. 3 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 Gorgias.
Object compatibility
3 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 Gorgias migration scoping. Not seeing yours? Book a call.
Walk through your Desky to Gorgias 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 Gorgias
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.