Helpdesk migration
Field-level mapping, validation, and rollback between OneDesk and Zoho Desk. We move data and schema; workflows are rebuilt natively in Zoho Desk.
OneDesk
Source
Zoho Desk
Destination
Compatibility
10 of 12
objects map 1:1 between OneDesk and Zoho Desk.
Complexity
CModerate
Timeline
3-5 weeks
Overview
Moving from OneDesk to Zoho Desk is a data-model translation that addresses three structural differences. First, OneDesk bills per billable User (agent) license while customer contacts are free and unlimited; Zoho Desk's Free tier includes 3 users and paid tiers price per-agent. We scope the exact User count during discovery so the customer provisions the correct Zoho Desk edition before migration. Second, OneDesk's shared custom field model means every custom field appears on every Item type; Zoho Desk enforces per-module field sets with optional shared fields. We extract the full active custom field schema during scoping and map values to Zoho Desk module-specific fields. Third, OneDesk Projects serve as container objects for Tickets and Tasks, but Zoho Desk has no native Project object; we migrate Projects as Tags on Tickets and as linked Tasks with a custom Project field to preserve the grouping relationship. Workflow automations, time-tracking configurations, and the Odie AI layer do not migrate as code; we deliver a written automation inventory and rebuild guide for the customer's admin team.
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 OneDesk 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.
OneDesk
Ticket
Zoho Desk
Ticket
1:1OneDesk Tickets map directly to Zoho Desk Tickets. Subject, description, status, priority, assignee (resolved by email), and customer reference migrate 1:1. The internal/external conversation flag on OneDesk messages maps to Zoho Desk's thread direction (Customer Reply vs Agent Reply). We set the Department field on Zoho Desk Tickets based on the OneDesk Project membership or a custom Project field when no department mapping exists.
OneDesk
Task
Zoho Desk
Task
1:1OneDesk Tasks migrate to Zoho Desk Tasks. Both share the same Item schema with a type discriminator in OneDesk. Task status, due date, assignee, and description migrate directly. Zoho Desk Tasks do not have a native Project link; we create a custom picklist field project_name__c on Task and populate it from the parent OneDesk Project name to preserve the grouping relationship for reporting.
OneDesk
Project
Zoho Desk
Tag + custom Task field
lossyOneDesk Projects are container objects with no direct Zoho Desk equivalent. We migrate Projects as Zoho Desk Tags on the associated Tickets, and we populate a custom project_name__c field on Tasks linked to the same Project. The Tag approach preserves grouping for list views and dashboards without requiring a custom object. If the customer requires a full Project module, Zoho Creator is the recommended build-out (out of scope for standard migration).
OneDesk
User (agent)
Zoho Desk
Agent
1:1OneDesk Users (billable agents) map to Zoho Desk Agents. We resolve by email match and map the OneDesk role (Admin, Agent) to a Zoho Desk role (Support Admin, Support Agent). Billing-critical: OneDesk Users are the only billable seat count, while Zoho Desk agents are billable per tier. We flag any OneDesk User account that is inactive or has no assigned Items for exclusion to avoid over-provisioning Zoho Desk seats.
OneDesk
Customer
Zoho Desk
Contact
1:1OneDesk Customers (external contacts) map to Zoho Desk Contacts. Name, email, phone, company, and address fields migrate directly. Custom properties on Customer records require field-level mapping because OneDesk's shared field model means a Customer may have fields that exist on Tickets in the same tenant. We extract the full custom field schema during scoping and map Customer-specific fields to Zoho Desk Contact fields or a shared custom field group.
OneDesk
Company
Zoho Desk
Account
1:1OneDesk Company records (attached to Customers) map to Zoho Desk Accounts. Account Name, Website, Industry, and Phone migrate. If OneDesk Company records are associated with multiple Customers, the Account-Contact relationship is preserved with a primary Contact designated during migration.
OneDesk
Custom Fields (shared)
Zoho Desk
Custom Fields (per-module)
lossyOneDesk's shared custom field schema means a single field may appear on both Tickets and Tasks. We extract the complete active custom field list during scoping, then assign each field to the appropriate Zoho Desk module during field creation. Fields that apply to both Tickets and Tasks in Zoho Desk require duplication into both module field sets. Multi-select picklist, date, numeric, and text field types map directly; the Zoho Desk admin creates the custom fields in the destination before migration begins.
OneDesk
Conversation
Zoho Desk
Thread
1:1OneDesk conversation messages on Tickets and Tasks migrate to Zoho Desk Threads. Author, timestamp, message body, and direction (internal/external) preserve. We map the author email to the migrated Agent or Contact record. Thread ordering is preserved by processing messages in chronological sequence during import. Large conversation histories (over 50 messages per ticket) are chunked to stay within Zoho Desk API batch limits.
OneDesk
Knowledge Base Article
Zoho Desk
Article
1:1OneDesk KB Articles export with title, body content, category assignment, and publish status. Articles map to Zoho Desk Articles under the corresponding Section. We map OneDesk categories to Zoho Desk Sections and Sub-sections using the category hierarchy. Publish status (Draft/Published/Archived) maps to Zoho Desk's Article status field. Article attachments migrate as linked file records.
OneDesk
Time Entry
Zoho Desk
Time Entry (Standard tier add-on)
1:1OneDesk time entries linked to Tickets and Tasks migrate to Zoho Desk Time Entries. Hours, date, agent reference (resolved by email), and description migrate. Zoho Desk's automatic time tracking is a Standard-tier add-on ($5/agent/month); we confirm the customer's Zoho Desk edition includes this feature before mapping. If the destination lacks the time tracking add-on, we preserve time data in a custom number field on the Ticket for manual entry reference.
OneDesk
Attachment
Zoho Desk
Attachment
1:1File attachments on Tickets and Tasks are downloaded from OneDesk storage and uploaded to Zoho Desk as Ticket Attachments. Original filenames and file types preserve. Attachments exceeding 25 MB are flagged because Zoho Desk has a 25 MB per-attachment limit. We chunk large attachment sets using Zoho Desk's batch upload API with rate-limit handling.
OneDesk
Workflow Automation
Zoho Desk
Workflow (manual rebuild)
1:1OneDesk workflow automations trigger on Item state changes, assignments, or SLA conditions and may reference specific Item or User IDs. We export every automation definition including trigger type, conditions, and actions. Post-migration, all Item IDs change, breaking any automation that references a migrated record. We deliver a written automation inventory listing every OneDesk automation, its trigger conditions, and the equivalent Zoho Desk Blueprint or workflow action. The customer rebuilds automations in Zoho Desk's workflow builder; we do not rewrite automation ID references automatically.
| OneDesk | Zoho Desk | Compatibility | |
|---|---|---|---|
| Ticket | Ticket1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Project | Tag + custom Task fieldlossy | Fully supported | |
| User (agent) | Agent1:1 | Fully supported | |
| Customer | Contact1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Custom Fields (shared) | Custom Fields (per-module)lossy | Fully supported | |
| Conversation | Thread1:1 | Fully supported | |
| Knowledge Base Article | Article1:1 | Fully supported | |
| Time Entry | Time Entry (Standard tier add-on)1:1 | Fully supported | |
| Attachment | Attachment1:1 | Fully supported | |
| Workflow Automation | Workflow (manual rebuild)1: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.
OneDesk gotchas
User vs Customer billing model is migration-critical
Custom fields shared across all ticket types require schema discovery
Workflow automations reference migrated record IDs
Export via data view CSV may hit pagination limits on large datasets
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
Discovery and scoping
We audit the source OneDesk tenant across active Users, Customer contacts, Tickets, Tasks, Projects, Knowledge Base articles, custom field schema, workflow automation definitions, and attachment volume. We identify inactive User accounts for exclusion from Zoho Desk provisioning and confirm which Zoho Desk edition (Free, Standard, Professional, Enterprise) matches the customer's agent count and required features (time tracking add-on, SLA management, Zia AI). The discovery output is a written migration scope with record counts per module and an edition recommendation for Zoho Desk.
Schema extraction and destination field creation
We extract OneDesk's complete custom field schema via API including all shared fields across Item types. We then create the corresponding custom fields in Zoho Desk, assigning each field to the appropriate module (Ticket or Contact). For shared fields that need to exist on multiple Zoho Desk modules, we create the field twice with consistent naming. We also configure Zoho Desk departments if the customer requires ticket routing by department. This step runs in parallel with Zoho Desk account provisioning and requires the customer to have an active Zoho Desk admin account ready.
User and Contact pre-mapping
We extract all OneDesk Users and Customers and build the agent-to-Zoho-Agent and customer-to-Zoho-Contact mapping tables before any record import. Users are matched to Zoho Desk Agents by email; any User without a matching Zoho Desk Agent is flagged for manual provisioning. Customers are matched to Zoho Desk Contacts by email with a duplicate check against existing Zoho Desk records. The customer approves the mapping table before migration begins to prevent orphaned records.
Staged migration in dependency order
We run migration in Zoho Desk's required record order: Agents first (validated against the pre-mapping), then Accounts (from OneDesk Companies), Contacts (with AccountId resolved), Tickets (with assignee resolved to Agent email, customer resolved to Contact, and department resolved), Tasks (with project_name__c populated from parent Project), Threads (in chronological order per Ticket), Knowledge Base Articles (with Section mapping applied), Time Entries (if Zoho Desk time tracking add-on is active), and Attachments (chunked to 25 MB per file). Each phase emits a row-count reconciliation report.
Automation inventory delivery
We deliver a written automation inventory documenting every active OneDesk workflow, including trigger type, conditions, referenced Item IDs (noted as non-functional post-migration), and actions. The inventory includes a recommended Zoho Desk Blueprint or workflow equivalent for each automation. The customer uses this document to rebuild automations in Zoho Desk's workflow builder post-migration. We do not rebuild automations as part of the migration scope.
Cutover and validation
We freeze OneDesk write access during cutover, run a final delta migration of any records modified during the migration window, then enable Zoho Desk as the system of record. We validate record counts against the pre-migration audit, spot-check 20-30 random tickets for thread integrity and attachment presence, and confirm agent and contact assignment. We deliver a post-migration validation report and support a one-week hypercare window for reconciliation issues. Zoho Desk subscription activation and any post-migration onboarding remain the customer's responsibility.
Platform deep dives
OneDesk
Source
Strengths
Weaknesses
Zoho Desk
Destination
Strengths
Weaknesses
Complexity grading
Moderate Helpdesk migration. 5 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 OneDesk and Zoho Desk.
Object compatibility
5 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
OneDesk: Not publicly documented.
Data volume sensitivity
OneDesk 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 OneDesk to Zoho Desk migration scoping. Not seeing yours? Book a call.
Walk through your OneDesk 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 OneDesk
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.