Helpdesk migration
Field-level mapping, validation, and rollback between Freshservice and Zoho Desk. We move data and schema; workflows are rebuilt natively in Zoho Desk.
Freshservice
Source
Zoho Desk
Destination
Compatibility
8 of 13
objects map 1:1 between Freshservice and Zoho Desk.
Complexity
CModerate
Timeline
2-4 weeks
Overview
Moving from Freshservice to Zoho Desk crosses a product category boundary: Freshservice is an ITSM platform built on ITIL principles for internal IT teams, while Zoho Desk is a customer service help desk with CRM-level account and contact management. We account for this in every mapping decision. Tickets migrate with their conversation threads, custom fields, and status transitions intact, but Freshservice's parent-child ticket hierarchy requires flattening into Zoho Desk's threaded reply model. Agents and Requesters map to Zoho Desk agents and contacts, with the Freshservice organizational hierarchy reconstructed as Zoho Desk departments. Assets migrate as Zoho Desk assets with CI linkage preserved where Zoho's data model allows. Changes and Problems are not native Zoho Desk objects; we map Changes to Tasks with change-type metadata and Problems to Tickets with problem-tagged categorization to preserve the audit trail. Custom Object records from Forest and Enterprise plans migrate as Zoho Desk custom fields since Zoho Desk does not support standalone custom object types outside its Blueprint module. We do not migrate Freshservice workflows, automations, SLAs as code, or the service catalog; these require rebuild in Zoho Desk's rule-builder and are documented as a separate admin task in the migration report.
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 Freshservice 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.
Freshservice
Ticket
Zoho Desk
Ticket
1:1Freshservice Tickets map directly to Zoho Desk Tickets. We preserve the full conversation thread (agent replies, requester replies, public notes, private notes) using Zoho Desk's thread model, maintaining authorship attribution by resolving Freshservice agent email to Zoho Desk agent and Freshservice requester email to Zoho Desk contact. Custom fields on Freshservice tickets migrate to Zoho Desk custom fields on the Ticket module. Status, priority, type, and SLA timer fields map to their Zoho Desk equivalents. The Freshservice Display ID is stored as a custom field z_original_id__c for cross-reference.
Freshservice
Agent
Zoho Desk
Agent
1:1Freshservice Agents map to Zoho Desk Agents. Resolution is by email address. We preserve agent role (Full Access, Agent, Config Admin) as Zoho Desk role assignments. Group membership in Freshservice maps to Department membership in Zoho Desk; we create Zoho Desk Departments that mirror Freshservice Groups before agent import so that department assignment is satisfied at the time of agent insert. If the destination Zoho Desk account has agents pre-provisioned, we match by email and update rather than duplicate.
Freshservice
Requester
Zoho Desk
Contact
1:1Freshservice Requesters map to Zoho Desk Contacts. Requester organizations in Freshservice map to Zoho Desk Accounts (the CRM-level entity), preserving the organizational hierarchy where Freshservice uses multi-level requester organization. Contact fields (name, email, phone, mobile) migrate directly; custom fields on requesters migrate as Zoho Desk Contact custom fields.
Freshservice
Asset
Zoho Desk
Asset
1:1Freshservice CI (Configuration Item) assets map to Zoho Desk Assets. We preserve CI type, serial number, IP address, assigned user, and the linked Asset Location. The Freshservice asset relationship to Tickets (which CI was affected by which ticket) is preserved as a Zoho Desk custom field asset_id__c on the ticket for reference. Note that Zoho Desk Assets are simpler than Freshservice's CMDB: we do not migrate Freshservice's full CMDB dependency graph (which CI relates to which CI) because Zoho Desk does not have a native CI relationship model.
Freshservice
Change
Zoho Desk
Task (custom module or tagged ticket)
1:manyFreshservice Changes have no native equivalent in Zoho Desk. We map Changes to Zoho Desk Tasks with a custom field change_type__c (Normal, Standard, Emergency), risk_assessment__c, approval_status__c, and CAB_date__c. If the customer requires a richer change record, we document the full Change schema for Zoho Creator to build a custom Change module post-migration. Change-to-Ticket linkage (which ticket was caused by which change) is stored as change_id__c on the related Tickets. Approval workflow configuration does not migrate; we document the approval chain as a written step in the Change rebuild guide.
Freshservice
Problem
Zoho Desk
Ticket (problem-tagged)
1:manyFreshservice Problems track root cause behind one or more incidents. Zoho Desk has no native Problem object. We map Problems to Zoho Desk Tickets with a custom field problem_id__c and a tag problem_record. The Problem-to-Incident linkage is preserved as a custom field linked_incidents__c storing a comma-separated list of related ticket IDs. We tag these tickets with a Problem tag so that the customer's admin can create a Zoho Desk Saved Filter to surface all problem-root-cause tickets in a single view. The Problem description and root cause analysis text migrate as the ticket description.
Freshservice
Release
Zoho Desk
Task
1:1Freshservice Releases group Changes and Assets into a deployable unit with a scheduled release date and approval workflow. Zoho Desk has no native Release object. We map Releases to Zoho Desk Tasks with release_date__c, release_status__c, and associated_change_ids__c fields. The release approval chain is documented in the rebuild guide for the customer's admin to re-implement in Zoho Desk's Blueprint or Zoho Creator.
Freshservice
Solution
Zoho Desk
Article
1:1Freshservice Solutions (knowledge base articles) map to Zoho Desk Articles. Article title, description, status, and category map directly. Freshservice article-to-ticket associations (which articles were linked to which tickets) are preserved as tags on the migrated Zoho Desk articles. Permissions (public, internal) map to Zoho Desk article visibility settings. We map the Freshservice category hierarchy to Zoho Desk section and category structure before article import so that the parent relationship is satisfied.
Freshservice
SLA Policy
Zoho Desk
Business Rule + SLA
lossyFreshservice SLA Policies (response and resolution time targets by priority or ticket type) do not migrate as reusable policy objects. We create Zoho Desk SLA configurations that mirror the Freshservice SLA targets, mapped by priority level. Response and resolution first-response SLA targets become Zoho Desk SLA Policy entries attached to the relevant Departments. We deliver a written SLA mapping table listing every Freshservice SLA Policy, its triggers, its time targets, and the corresponding Zoho Desk SLA configuration the admin must create post-migration.
Freshservice
Service Catalog
Zoho Desk
Blueprint (Zoho Creator)
lossyFreshservice Service Catalog items with multi-step request forms and approval chains have no direct equivalent in Zoho Desk's standard modules. We map catalog item titles and descriptions to Zoho Desk Tasks as intake records, but the form logic, conditional fields, and approval routing require Zoho Creator or Blueprint to rebuild. We deliver a written catalog inventory with each item's fields, form logic, and approval chain documented for the customer's Zoho admin or a Zoho Creator partner to rebuild post-migration.
Freshservice
Location
Zoho Desk
Location
1:1Freshservice Locations map to Zoho Desk Locations as reference data. We import Locations before Assets and Agents so that the location assignment is available as a dropdown on the Asset and Agent forms during migration. Location hierarchy in Freshservice (parent-child locations) maps to Zoho Desk Location hierarchy.
Freshservice
Department
Zoho Desk
Department
1:1Freshservice Departments map to Zoho Desk Departments. We resolve the department hierarchy and map department-level settings (business hours, holiday list, department-specific SLA) from Freshservice to Zoho Desk Department configurations. This is a prerequisite step that runs before agent and ticket migration so that department assignment is valid on all incoming records.
Freshservice
Custom Object
Zoho Desk
Custom Fields (per module)
1:manyFreshservice Custom Objects (Forest and Enterprise only) have no native equivalent in Zoho Desk. We extract Custom Object records and distribute their fields to the most relevant Zoho Desk standard module as custom fields. For example, a Freshservice Custom Object tracking hardware warranty information would become warranty_expiry__c and warranty_type__c custom fields on the Zoho Desk Asset module. We document every Custom Object, its fields, and its mapped Zoho Desk destination in the migration schema report. The limitation that Freshservice Custom Objects cannot reference native objects means we store the related Freshservice record ID as a text field in Zoho Desk rather than a native lookup relationship.
| Freshservice | Zoho Desk | Compatibility | |
|---|---|---|---|
| Ticket | Ticket1:1 | Fully supported | |
| Agent | Agent1:1 | Fully supported | |
| Requester | Contact1:1 | Fully supported | |
| Asset | Asset1:1 | Fully supported | |
| Change | Task (custom module or tagged ticket)1:many | Fully supported | |
| Problem | Ticket (problem-tagged)1:many | Fully supported | |
| Release | Task1:1 | Fully supported | |
| Solution | Article1:1 | Fully supported | |
| SLA Policy | Business Rule + SLAlossy | Fully supported | |
| Service Catalog | Blueprint (Zoho Creator)lossy | Mapping required | |
| Location | Location1:1 | Fully supported | |
| Department | Department1:1 | Fully supported | |
| Custom Object | Custom Fields (per module)1:many | 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.
Freshservice gotchas
API rate limits vary by plan and must be accounted for during migration scoping
Agent-based vs requester-based licensing affects migration sizing
Custom Objects cannot define associations to native Freshservice objects
Child ticket reporting is limited in native Freshservice dashboards
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 schema inventory
We audit the Freshservice portal across plan tier (Starter through Enterprise), active agent count, requester volume, ticket volume and age distribution, asset CI count, active Changes and Problems, Custom Object schemas, Solutions count and category structure, and SLA policy configurations. We identify the parent-child ticket count, the number of Custom Object records, and the volume of engagement records (calls, emails, meetings) attached to tickets. This discovery output defines the migration scope, identifies the gotchas that apply to this specific pair, and determines whether a sandbox migration is warranted before production cutover.
Schema design and Zoho Desk custom field creation
We design the destination Zoho Desk schema before any data moves. This includes creating all required custom fields on Tickets, Contacts, Accounts, and Assets; configuring Departments to mirror Freshservice Groups and Locations; creating the SLA configurations that mirror Freshservice SLA Policy time targets; and designing the Zoho Creator or Blueprint specification for any Change and Problem reconstruction. For Freshservice Custom Objects, we create the mapped custom fields on the appropriate Zoho Desk modules and document the field-to-object mapping in the schema report. Custom fields are deployed to a Zoho Desk sandbox or staging account first for validation against the actual data before production migration begins.
Reference data migration
We migrate reference data before operational records to satisfy foreign key and lookup dependencies. The order is: Locations, then Departments, then Agents (with department assignment resolved), then Contacts and Accounts (with department linkage established). Reference data migration runs in a single batch with validation to confirm that every department, location, and agent record inserted correctly before we proceed to operational data. Any email-to-agent resolution failures go to a reconciliation queue for the customer's admin to address.
Operational data migration in dependency order
We migrate operational records in dependency order: Assets (with location and assigned agent resolved), Solutions (with category hierarchy established), Tickets (with requester, agent, department, and custom fields resolved, and parent-child flattening applied in the transform layer), then Changes and Problems mapped to their Zoho Desk equivalents. SLA assignments on tickets are set after ticket insertion by updating the SLA custom fields. We run each phase with a row-count reconciliation report comparing source record count to destination insert count and investigating any discrepancy over 0.5 percent.
Attachment and engagement migration
Freshservice ticket attachments migrate to Zoho Desk ticket attachments via the Zoho Desk API. Conversation threads (agent replies, requester replies, internal notes) migrate as Zoho Desk thread entries preserving the direction flag (incoming/outgoing) and author attribution. We do not migrate Freddy AI summaries as native AI records; we store them as private notes on affected tickets as described in the gotchas section. If the customer has a high volume of engagement records (task calls, meeting logs), we migrate them as Zoho Desk Tasks and Events linked to the parent Contact or Ticket.
Cutover, validation, and rebuild handoff
We freeze Freshservice ticket writes during the cutover window, run a final delta migration of any tickets modified during the migration, then enable Zoho Desk as the system of record. We deliver the written inventory of Freshservice workflows, automations, SLA policy configurations, Service Catalog items, and Change/Problem rebuild specifications for the customer's Zoho Desk admin to rebuild using Zoho Desk's native rule builder, Zoho Creator, or a Zoho-certified partner. We provide a one-week hypercare window for reconciliation issues and do not include post-migration admin support, training, or workflow rebuild as standard scope.
Platform deep dives
Freshservice
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 Freshservice 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
Freshservice: 200 calls/min (Growth) to 700 calls/min (Enterprise) depending on plan tier; limits are per-account, not per-agent.
Data volume sensitivity
Freshservice 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 Freshservice to Zoho Desk migration scoping. Not seeing yours? Book a call.
Walk through your Freshservice 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 Freshservice
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.