Helpdesk migration
Field-level mapping, validation, and rollback between Fernand and Zoho Desk. We move data and schema; workflows are rebuilt natively in Zoho Desk.
Fernand
Source
Zoho Desk
Destination
Compatibility
11 of 12
objects map 1:1 between Fernand and Zoho Desk.
Complexity
CModerate
Timeline
3-5 weeks
Overview
Moving from Fernand to Zoho Desk is a structural migration from a linear, keyboard-first inbox model to a department-centric, multi-channel ticketing system. Fernand organizes support around Conversations with threaded Replies; Zoho Desk uses Tickets with a thread model structured around department hierarchies, channel routing, and a role-based agent model (Agent, Light Agent, Support Administrator). We map Fernand Conversations to Zoho Tickets, Replies to threaded Comments, and Customers to Contacts with optional Account linking. The primary technical challenge on the Fernand side is the absence of a documented bulk export endpoint, which we resolve by working with the available REST API using Bearer token authentication and paginated record retrieval. Custom Data payloads migrate as static conversation fields; the endpoint configuration (URLs, headers, refresh logic) does not carry over and requires manual rebuild in Zoho Desk or a Zoho Creator extension. GitHub and Linear issue links transfer as conversation-level URL fields but lose their live status-sync behavior.
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 Fernand 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.
Fernand
Conversation
Zoho Desk
Ticket
1:1Fernand Conversations map directly to Zoho Desk Tickets. The conversation subject, body (first message), status (open, pending, resolved, closed), priority, assignee, and created/modified timestamps migrate to the corresponding Zoho Ticket fields. The conversation ID is preserved as a custom field original_conversation_id__c for audit and cross-reference. Zoho Desk's department assignment defaults to the primary department if the source conversation lacks department metadata; we configure department mapping during scoping.
Fernand
Reply
Zoho Desk
Comment (threaded)
1:1Fernand Replies within a Conversation migrate as Zoho Desk Comments on the corresponding Ticket. We preserve the reply body, author email (mapped to the Zoho Agent by email match), creation timestamp, and the internal/external flag. AI-generated draft replies included in the Fernand export are written as internal Comments with a prefix note. Thread ordering is preserved by comment sequence position at migration time.
Fernand
Customer
Zoho Desk
Contact and Account
1:1Fernand Customers map to Zoho Desk Contacts. Name, email, and any custom properties migrate to Contact fields. If the customer organization name is present, we create a Zoho Account record and link it to the Contact via the AccountId lookup. Email address is the dedupe key. Fernand passive users (collaborators without customer email) do not create Contact records but are reconciled against Zoho Desk Agents separately.
Fernand
Tag
Zoho Desk
Tag
1:1Fernand conversation tags migrate to Zoho Desk Ticket Tags. Tag names and usage frequency are preserved. Zoho Desk tags are scoped per department; if Fernand conversations span logical departments, we assign tags to the primary department during migration. Tags used for channel classification (email, chat) are also mapped to the Zoho Ticket channel field.
Fernand
Attachment
Zoho Desk
Attachment
1:1File attachments on Fernand Conversations and Replies are downloaded from the source, preserving original filename and MIME type, then re-uploaded to the corresponding Zoho Desk Ticket via the Zoho Desk API. Image attachments (widget-sent screenshots) are included. We track the original file URL as a fallback reference field. Attachment re-upload adds latency on large archives; we chunk uploads and use exponential backoff on Zoho's rate limit responses.
Fernand
Channel
Zoho Desk
Channel
1:1Fernand email and chat channels map to Zoho Desk channel types (Email, Chat, Phone, Social, Web). We export the channel type per conversation and set the corresponding Zoho Ticket channel field during import. Any Fernand channel types without a Zoho Desk equivalent are mapped to Email as the fallback and documented in the mapping spec.
Fernand
Custom Data
Zoho Desk
Custom Field (payload as value)
1:1Fernand Custom Data stores external API endpoint configurations and the fetched payloads per conversation. The API endpoint URLs, header names, and refresh logic are platform-specific Fernand configuration that cannot be replicated in Zoho Desk without rebuilding. We export the fetched payloads as key-value pairs written to Zoho Desk custom fields on the Ticket, with the original endpoint reference preserved in a text field for the admin to evaluate for Zoho Creator or webhook-based rebuilds.
Fernand
GitHub Link
Zoho Desk
Custom Field (URL)
1:1Fernand's GitHub integration links conversation threads to GitHub issues and can auto-reopen conversations when issue status changes. We export the linked GitHub issue URL as a custom URL field on the Zoho Desk Ticket. Issue state sync does not carry over; conversations will not auto-reopen when GitHub issue status changes. The Zoho Desk admin can rebuild this behavior using Zoho Workflow rules and a GitHub webhook if desired.
Fernand
Linear Link
Zoho Desk
Custom Field (URL)
1:1Fernand's Linear integration creates a similar feedback loop to GitHub, linking conversation threads to Linear issues. We export the linked Linear issue reference as a URL custom field on the Zoho Desk Ticket. Linear issue state sync does not transfer. Any Linear+Zoho integration would need to be rebuilt using Linear's webhook API and Zoho Desk workflow rules.
Fernand
User/Agent (active)
Zoho Desk
Agent
1:1Fernand active users (those who can reply to customers) are matched to Zoho Desk Agents by email address. We export name, email, and active/passive status. Active users without a matching Zoho Desk Agent are held in a reconciliation queue for the customer's admin to provision before record import resumes. Passive collaborators (view-only in Fernand) can be mapped to Zoho Light Agents if the destination plan supports that role type.
Fernand
User/Agent (passive)
Zoho Desk
Light Agent
1:1Fernand passive users (collaborators who cannot reply directly to customers) map to Zoho Desk Light Agents on Professional and Enterprise plans. Light Agents can view tickets and add internal comments but cannot reply publicly. We flag passive users during scoping so the customer can decide whether to provision them as full Agents (Standard+) or Light Agents (Professional+) based on their Zoho Desk plan.
Fernand
Conversation Timestamps
Zoho Desk
Ticket Created Time and Modified Time
lossyFernand conversation created_at and updated_at timestamps migrate to Zoho Desk Ticket createdTime and modifiedTime. Note: Zoho Desk's migration tooling cannot transfer created_at dates by default; we use the REST API directly to set createdTime during insert, preserving the original timestamp. If the API rejects a backdated timestamp, the timestamp is written into the first internal Comment as a metadata note and the standard Zoho createdTime is set to migration time.
| Fernand | Zoho Desk | Compatibility | |
|---|---|---|---|
| Conversation | Ticket1:1 | Fully supported | |
| Reply | Comment (threaded)1:1 | Fully supported | |
| Customer | Contact and Account1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Attachment | Attachment1:1 | Fully supported | |
| Channel | Channel1:1 | Fully supported | |
| Custom Data | Custom Field (payload as value)1:1 | Mapping required | |
| GitHub Link | Custom Field (URL)1:1 | Fully supported | |
| Linear Link | Custom Field (URL)1:1 | Fully supported | |
| User/Agent (active) | Agent1:1 | Fully supported | |
| User/Agent (passive) | Light Agent1:1 | Fully supported | |
| Conversation Timestamps | Ticket Created Time and Modified Timelossy | 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.
Fernand gotchas
Fernand has no documented bulk export endpoint
Custom Data configuration does not migrate as code
GitHub and Linear sync state does not carry over
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 API capability assessment
We audit the Fernand account across conversation volume, attachment count and total size, active and passive user list, tag inventory, Custom Data usage frequency and payload complexity, and any GitHub or Linear integration context. We test the Fernand REST API for bulk export capability and confirm pagination limits during a discovery window. We pair this with a Zoho Desk edition assessment: Standard ($14/agent) covers single-department migrations; Professional ($23/agent) is required if Light Agent roles, multi-department routing, or Zia AI are needed; Enterprise ($39/agent) only if the team requires custom roles, advanced SLA policies, or Zoho Phonebridge telephony. The discovery output is a written migration scope, API capability memo, and Zoho Desk edition recommendation.
Schema design and department mapping
We design the destination Zoho Desk schema before any data moves. This includes configuring departments (mapped from Fernand's logical conversation groupings if present), custom fields on the Ticket module (original_conversation_id__c, original_created_at__c, github_link__c, linear_link__c, and any Custom Data payload fields), ticket status values (mapped from Fernand's open/pending/resolved/closed), and agent role assignments (active Fernand users as Zoho Agents; passive users as Light Agents or standard Agents depending on plan tier). Custom fields are scoped to the primary department unless multi-department routing is required.
Sandbox migration and reconciliation
We run a full migration into a Zoho Desk Sandbox using a representative data subset (typically the 30 most recent conversations per agent plus any edge-case records). The customer's support lead reconciles record counts, spot-checks thread fidelity and attachment integrity against the Fernand source, and validates that created timestamps and assignee mappings are correct. Any mapping corrections are made in the sandbox before production migration begins. Agent email matching is validated at this stage.
Agent reconciliation and user provisioning
We extract every distinct Fernand user referenced on Conversations, Replies, and Custom Data records and match by email against the Zoho Desk agent list. Active users without a matching Zoho Desk Agent are held in a reconciliation queue; the customer's admin provisions any missing Agents before record import resumes. Passive users are flagged for Light Agent provisioning if the Professional plan is selected. This step gates the record migration because Zoho Desk requires a valid Agent reference on ticket assignee and comment author fields.
Production migration in dependency order
We run production migration in record-dependency order: Agents (validated), Accounts (from Fernand Customers with organization names), Contacts (with AccountId resolved), Tickets (with createdTime set via API, department and channel assigned, and assignee resolved), Comments (threaded within each Ticket preserving author and timestamp), Custom Data payloads (as custom Ticket fields), GitHub and Linear links (as URL custom fields), Tags (applied per Ticket), and Attachments (downloaded and re-uploaded via Zoho Desk API with exponential backoff). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and rebuild handoff
We freeze Fernand write access during cutover, run a final delta migration of any records created or modified during the migration window, then switch support routing to Zoho Desk. We validate ticket counts, attachment completeness, and timestamp accuracy against the source export log. We deliver a written inventory of Custom Data configurations, GitHub and Linear link references, and any passive-user-to-Light-Agent mapping decisions requiring admin confirmation. Workflows, automations, and any Fernand-specific integrations do not migrate; we document the rebuild requirements separately for the customer's admin team. We support a one-week post-migration verification window.
Platform deep dives
Fernand
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 Fernand 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
Fernand: Not publicly documented.
Data volume sensitivity
Fernand 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 Fernand to Zoho Desk migration scoping. Not seeing yours? Book a call.
Walk through your Fernand 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 Fernand
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.