Helpdesk migration
Field-level mapping, validation, and rollback between Zoho Desk and Salesforce Service Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Service Cloud.
Zoho Desk
Source
Salesforce Service Cloud
Destination
Compatibility
9 of 12
objects map 1:1 between Zoho Desk and Salesforce Service Cloud.
Complexity
BStandard
Timeline
3-5 weeks
Try the reverse
Overview
Moving from Zoho Desk to Salesforce Service Cloud is a structural migration because the two platforms organize support around fundamentally different data models primitives. Zoho Desk centers on Tickets with linked Contacts and optional Account hierarchies; Salesforce Service Cloud centers on Cases with a Contact-Account model that enforces explicit Account membership. We resolve the ticket-to-case split during scoping, create the Account hierarchy in Salesforce before any Contact or Case import so that the AccountId lookup is satisfied, and preserve the full conversation thread chronology (public comments, private notes, and email body) as EmailMessage and Task records linked to the Case. Blueprints, SLA Policies, and tag-based automations are Zoho-specific workflow constructs that do not export via API; we document them for the customer's admin to rebuild in Salesforce Flow or Omni-Channel routing rules. Knowledge Base articles migrate as Salesforce Knowledge articles with HTML content preserved and image URLs re-hosted as Salesforce Files.
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.
Source platform
Zoho Desk platform overview
Scorecard, SWOT, gotchas, and pricing for Zoho Desk.
Destination platform
Salesforce Service Cloud platform overview
Scorecard, SWOT, gotchas, and pricing for Salesforce Service Cloud.
Data migration guide
The complete Salesforce Service Cloud migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Source platform guide
Zoho Desk migration guide
Understand the data you're exporting from Zoho Desk before mapping it.
Destination checklist
Salesforce Service Cloud migration checklist
Pre- and post-cutover tasks for moving onto Salesforce Service Cloud.
Source checklist
Zoho Desk migration checklist
Exit checklist for unwinding your Zoho Desk setup cleanly.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Zoho Desk object lands in Salesforce Service Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Zoho Desk
Ticket
Salesforce Service Cloud
Case
1:1Zoho Desk Tickets map to Salesforce Cases with a direct 1:1 mapping on the core fields (subject, description, priority, status, origin, reason). Zoho ticket status values (Open, Pending, On Hold, Solved, Closed) map explicitly to Salesforce Case Status picklist values which must be configured in the destination org before import. Case Origin maps from Zoho channel (Email, Phone, Chat, Web, Facebook, Twitter) to Salesforce Case Origin values. We set the Case AccountId by resolving the Zoho Account (Organization) lookup before inserting Cases, and we set ContactId by matching Zoho Contact email against the Salesforce Contact table.
Zoho Desk
Thread (Conversations)
Salesforce Service Cloud
EmailMessage + Task
1:1Zoho Thread records (public comments, private notes, and email body) map to Salesforce EmailMessage and Task records linked to the parent Case. We extract the thread in chronological order and create an EmailMessage for each inbound and outbound email interaction, with the email address and display name mapping to FromName and FromAddress on EmailMessage. Private notes in Zoho map to internal Task records with a custom IsPrivateNote__c flag. Attachments inline in threads migrate as ContentDocumentLink records attached to the EmailMessage or Task.
Zoho Desk
Contact
Salesforce Service Cloud
Contact
1:1Zoho Desk Contacts map directly to Salesforce Contacts on the standard fields (first name, last name, email, phone, title, department). We handle duplicate detection by email using Salesforce's duplicate rules and Matching Rules. Any Zoho Contact without an email address is flagged for manual review because Salesforce Contacts require an email for most standard features. Custom fields on Zoho Contacts migrate to Salesforce Contact custom fields of equivalent type (text, picklist, date, number).
Zoho Desk
Account (Organization)
Salesforce Service Cloud
Account
1:1Zoho Desk Organizations (Accounts) map to Salesforce Accounts. The Zoho Account name becomes Account Name, and the domain field maps to Website. If Zoho Accounts have a multi-department hierarchy, we create Salesforce Accounts with ParentId set to the top-level Account, flattening sub-departments under a single Account unless the customer specifies a separate Account per department. We create the Account before any Contact import so that AccountId is available for the Contact lookup.
Zoho Desk
Product
Salesforce Service Cloud
Product2
1:1Zoho Desk Products (used for warranty and entitlement tracking on tickets) map to Salesforce Product2 records. The Product2 IsActive flag is set based on the Zoho Product status. We create Standard Pricebook entries for each Product during migration if the destination org uses product-based cases or entitlements. If Zoho Products carry custom fields, these migrate to Product2 custom fields of equivalent type.
Zoho Desk
Agent
Salesforce Service Cloud
User
1:1Zoho Desk Agents map to Salesforce Users by email address match. We extract every agent referenced on Ticket assignments and Comment ownership and match against the destination Salesforce org's User table. Any Zoho Agent without a matching Salesforce User is held in a reconciliation queue for the customer's admin to provision before Case import resumes. Agent comment authorship in Zoho Threads is attributed by matching the agent email to the Salesforce User WhoId on EmailMessage and Task records.
Zoho Desk
Department
Salesforce Service Cloud
Queue + Group
lossyZoho Desk Departments map to a combination of Salesforce Queues (for case assignment routing) and Salesforce Groups (for reporting). Department-specific email addresses map to Salesforce Case Origin email-to-case routing or to Salesforce Email Services addresses. We document the department-to-queue mapping so that Omni-Channel routing rules can be configured in Salesforce Flow post-migration. Multi-department accounts are represented as separate Salesforce Accounts under a parent, not as Salesforce Departments, because Salesforce does not have a Department object equivalent.
Zoho Desk
Team
Salesforce Service Cloud
Group
1:1Zoho Desk Teams (agent groupings for ticket assignment) map to Salesforce Public Groups. Team membership (agent email addresses) migrates as GroupMember records linking the Salesforce User to the Group. Teams without members are skipped. Team-based routing rules are documented for Omni-Channel Skills-Based Routing configuration in Salesforce.
Zoho Desk
Task
Salesforce Service Cloud
Task
1:1Zoho Desk Tasks (sub-objects of Tickets for action items and to-dos) map to Salesforce Tasks linked to the parent Case via WhatId. Task Subject, Status, Priority, and DueDateTime migrate directly. Zoho tasks without a parent Ticket are flagged for manual placement in Salesforce because orphaned tasks cannot be imported without a parent reference. Assignee resolution uses the same email-to-User lookup described for Agents.
Zoho Desk
KB Article
Salesforce Service Cloud
KnowledgeArticleVersion
1:1Zoho Desk Knowledge Base Articles migrate to Salesforce Knowledge as KnowledgeArticleVersion records. The article Title, Summary, and body HTML transfer as-is. Embedded images are downloaded from Zoho WorkDrive URLs and re-hosted as Salesforce Files attached to the article via ContentDocumentLink. Article categories in Zoho map to Salesforce Knowledge Data Category Groups which we configure before import. Publication status (Published, Draft, Archived) maps to the Salesforce article VersionStatus field. We flag any Zoho Desk multi-brand help center articles for routing to the appropriate Salesforce Article Type based on the customer's brand structure.
Zoho Desk
Tag
Salesforce Service Cloud
CaseTag or Custom Picklist
lossyZoho Desk Tags are flat labels applied to Tickets. We export tag names and apply them as CaseTag records in Salesforce if the destination org has Topics for Cases enabled, or as a custom multi-select picklist field on Case (zoho_tags__c) if Topics is not active. Tag-based automations in Zoho do not migrate and are documented for Salesforce Flow rebuild. The customer chooses the tag strategy during scoping.
Zoho Desk
Custom Field
Salesforce Service Cloud
Custom Field
lossyCustom fields on Zoho Desk Tickets, Contacts, and Accounts are exported with their data types (text, picklist, date, number, checkbox, multi-select). We map each to an equivalent Salesforce custom field on Case, Contact, or Account, handling picklist value translation where Zoho picklist values differ from Salesforce. Required field constraints in Salesforce are enforced at the profile and field-level security level; we coordinate with the customer's Salesforce admin to temporarily relax required field enforcement for the migration user during load and restore it after.
| Zoho Desk | Salesforce Service Cloud | Compatibility | |
|---|---|---|---|
| Ticket | Case1:1 | Fully supported | |
| Thread (Conversations) | EmailMessage + Task1:1 | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| Account (Organization) | Account1:1 | Fully supported | |
| Product | Product21:1 | Fully supported | |
| Agent | User1:1 | Fully supported | |
| Department | Queue + Grouplossy | Fully supported | |
| Team | Group1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| KB Article | KnowledgeArticleVersion1:1 | Fully supported | |
| Tag | CaseTag or Custom Picklistlossy | Fully supported | |
| Custom Field | Custom Fieldlossy | 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.
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
Salesforce Service Cloud gotchas
Data Export 512MB file size cap breaks large org exports
API Daily Request Limits vary by license edition
No automatic data backup in base Salesforce
Picklist dependencies silently break records when unmapped
Workflow rules fire unexpectedly during data load
Pair-specific challenges
Migration approach
Discovery and scoping
We audit the source Zoho Desk portal across plan tier (Free to Enterprise), department count, agent count, ticket volume, conversation archive size, custom field schemas on Tickets and Contacts, KB article count, and any active Blueprints or SLA Policies. We pair this with a Salesforce edition assessment: Service Cloud Starter ($25/agent) covers basic case management; Service Cloud Professional adds Salesforce Knowledge and case macros; Service Cloud Enterprise adds Omni-Channel, Flow, and Einstein AI. The discovery output is a written migration scope document with record counts per object, a custom field inventory, and a Blueprint and SLA policy handoff list.
Schema design and dependency mapping
We design the destination schema in Salesforce. This includes provisioning custom fields on Case, Contact, and Account (with type-mapped Salesforce field types), configuring Case Status picklist values to match Zoho ticket status values, setting up Omni-Channel routing queues mapped from Zoho Departments, creating Salesforce Knowledge article types and data categories, and configuring the default Account for orphaned Contacts. Schema is deployed into a Salesforce Sandbox first for validation before any data moves.
Sandbox migration and reconciliation
We run a full migration into a Salesforce Sandbox using production-like data volume. The customer's Service Cloud admin reconciles record counts (Cases in, Contacts in, Accounts in, Tasks in), spot-checks 25-50 random cases against the Zoho source for field accuracy, and signs off the schema and mapping before production migration begins. Any mapping corrections—including picklist value translation and required-field handling—happen in Sandbox, not in production.
Agent-to-User reconciliation
We extract every distinct Zoho Agent referenced on Ticket assignments and Thread ownership and match by email against the Salesforce destination org's User table. Agents without a matching Salesforce User go to a reconciliation queue. The customer's Salesforce admin provisions any missing Users (active for current agents, inactive for departed agents whose thread attribution must be preserved). Migration cannot proceed past Account and Case creation because OwnerId and Case.ContactId references require valid User and Contact records.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Zoho Organizations, with parent hierarchy resolved), Contacts (with AccountId resolved), Cases (with ContactId and AccountId resolved, and status values mapped), Tasks and EmailMessages (via Salesforce Bulk API with chunking, ordered by Zoho thread timestamp), Products and Pricebook entries, KB Articles (as Salesforce Knowledge with HTML preserved and images re-hosted), and Custom Fields data. Each phase emits a row-count reconciliation report before the next phase begins. We use exponential backoff on API rate limit responses and log all skipped or rejected records for manual review.
Cutover, delta sync, and Blueprint-SLA handoff
We freeze Zoho Desk writes during cutover, run a final delta migration of any Cases modified during the migration window, then enable Salesforce Service Cloud as the system of record. We deliver the Blueprint and SLA Policy inventory document to the customer's admin team. We support a one-week hypercare window where we resolve any reconciliation issues raised by the support team. We do not rebuild Zoho Blueprints as Salesforce Flow inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
Zoho Desk
Source
Strengths
Weaknesses
Salesforce Service Cloud
Destination
Strengths
Weaknesses
Complexity grading
Standard Helpdesk migration. 1 of 7 objects need a manual workaround.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Zoho Desk and Salesforce Service Cloud.
Object compatibility
1 of 7 objects need a manual workaround.
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
Zoho Desk: Tied to plan tier; Zoho documents 4,000 to 25,000 requests per day per organization (or 500 per user license, whichever is lower). No published per-minute ceiling; 429 responses have no Retry-After header, so we apply exponential backoff.
Data volume sensitivity
Zoho Desk exposes a bulk API — large-volume migrations stream efficiently.
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 Zoho Desk to Salesforce Service Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Zoho Desk to Salesforce Service Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Zoho Desk
Other ways to arrive at Salesforce Service Cloud
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.