Helpdesk migration
Field-level mapping, validation, and rollback between Herodesk and Zoho Desk. We move data and schema; workflows are rebuilt natively in Zoho Desk.
Herodesk
Source
Zoho Desk
Destination
Compatibility
9 of 13
objects map 1:1 between Herodesk and Zoho Desk.
Complexity
CModerate
Timeline
2-4 weeks
Overview
Moving from Herodesk to Zoho Desk is a migration from a single-product eCommerce-native helpdesk to a multi-department, multi-channel support platform backed by the broader Zoho ecosystem. Herodesk stores Customers, Tickets, and message threads in a flat inbox model; Zoho Desk organises support around Departments, Accounts, Contacts, and Tickets with a threaded comment structure that requires a directional mapping decision at migration time. We pull from the Herodesk REST API in paginated, cursor-based chunks to work around the absence of a documented bulk-export endpoint, then insert into Zoho Desk via the Zoho Desk API in dependency order: Agents first, then Accounts and Contacts, then Tickets with threaded comments and inline attachments. Workflow Automations and AI Agent configurations cannot transfer as code — we audit and document them during discovery and deliver a Zoho Desk Workflow Rules specification for your admin to rebuild. Zoho's own Zwitch migration tool drops tags, inline images, and thread reply directionality, so an API-led approach is the only path to full-fidelity migration for teams that rely on conversation history and tag-based routing.
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 Herodesk 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.
Herodesk
Customer
Zoho Desk
Contact
1:1Herodesk Customers (the primary contact records linked to webshop orders) map to Zoho Desk Contacts. Email, name, phone, and any custom fields transfer directly. We preserve the Herodesk Customer ID as zoho_contact_id__c in a custom field for reference. If the customer uses Herodesk's Shopify or WooCommerce integration to attach order context, we carry order reference numbers and totals into Zoho Desk custom fields on the Contact rather than a separate Orders object, because Zoho Desk does not have a native eCommerce order object.
Herodesk
Customer
Zoho Desk
Account
1:1Herodesk does not have a dedicated Company or Organisation object, but if the source account uses Herodesk to track business accounts (B2B support context), we create Zoho Desk Accounts from the Customer records where a company name is present. For pure B2C eCommerce accounts, we skip Accounts and migrate all records as Contacts only. The decision is confirmed during discovery based on data audit.
Herodesk
Ticket (Conversation)
Zoho Desk
Ticket
1:1Herodesk Tickets map to Zoho Desk Tickets. Subject, status (open, pending, resolved, closed), priority, assignee, created time, and last modified time transfer directly. The Herodesk ticket ID is preserved in a custom field herodesk_ticket_id__c for reconciliation and cross-referencing during the hypercare window.
Herodesk
Conversation Message
Zoho Desk
Thread + Comment
1:1Herodesk message threads (the chronological list of customer and agent replies) map to Zoho Desk Threads with Comments. We apply thread-direction preservation: Herodesk inbound messages (customer-initiated) become Zoho Desk Comments with Direction=Incoming; agent replies become Comments with Direction=Outgoing. Author attribution (agent name or customer email) maps to the Comment Author field, resolved against the Contact or Agent record in Zoho Desk. If an agent is not provisioned in Zoho Desk at migration time, the comment is attributed to the admin user who initiated the migration.
Herodesk
Inbox
Zoho Desk
Department
1:1Herodesk Inboxes (which aggregate channels and control agent access) map to Zoho Desk Departments. Each Herodesk inbox becomes a Zoho Desk department with its own SLA, working hours, and agent roster. On Herodesk Lite (single inbox only), we create one Zoho Desk department matching the inbox name and assign all agents to it. Multiple inboxes on Herodesk Plus map to multiple Zoho Desk departments with inter-department ticket transfer rules documented for your admin to configure post-migration.
Herodesk
Channel
Zoho Desk
Channel
1:1Herodesk supports Email, Facebook, Instagram, and Chat channels per inbox. Zoho Desk supports Email, Phone, Live Chat, Facebook, Twitter (X), and Instagram natively. Herodesk Email channels map to Zoho Desk Email; Facebook and Instagram map directly; Herodesk Chat maps to Zoho Desk Live Chat. Any Herodesk channel without a Zoho Desk equivalent (for example, a deprecated Instagram DM integration) is flagged during scoping and documented as a channel to retire or reconfigure in the destination.
Herodesk
User / Agent
Zoho Desk
Agent
1:1Herodesk Users (agents and admins) map to Zoho Desk Agents. We extract name, email, and role from Herodesk and create or match Zoho Desk Agents by email. Herodesk roles (admin, agent) map to Zoho Desk Agent roles, though Zoho's permission model is department-scoped rather than global, so a Herodesk admin with cross-inbox access may need multiple department roles in Zoho Desk.
Herodesk
Tag
Zoho Desk
Tag
1:1Herodesk Tags (applied manually or by auto-tagging rules) map to Zoho Desk Tags. Tag names transfer directly. Note that Zoho Desk's native Zwitch migration tool does not transfer tags, which is one reason we use the API-led approach — tags that drive ticket routing or reporting must survive the migration intact.
Herodesk
Attachment
Zoho Desk
Attachment
1:1File attachments on Herodesk tickets and messages (images, PDFs, documents) migrate to Zoho Desk Attachments. We download from Herodesk via the API and upload to Zoho Desk using the /api/v1/attachments endpoint, preserving original filenames and MIME types. Inline images embedded in message bodies are handled as attachments with the image URL updated to point to the Zoho-hosted URL post-migration.
Herodesk
Order (Webshop Context)
Zoho Desk
Custom Fields on Contact or Ticket
lossyOrder data from Herodesk's Shopify, WooCommerce, Magento, or Prestashop integrations appears inside Customer and Ticket context but is not a standalone object. We carry order number, total, status, and product line items into Zoho Desk custom fields on the relevant Contact and Ticket records. The customer should confirm whether Zoho Desk or a Zoho Creator extension will be the long-term home for order data; we do not create a standalone Orders module in Zoho Desk as that requires custom object configuration outside the standard migration scope.
Herodesk
Workflow Automation
Zoho Desk
Workflow Rule (documentation only)
lossyHerodesk Workflow Automations (routing rules, auto-tagging, auto-reply triggers) have no export representation in the Herodesk API. During discovery we audit every active automation, document its trigger, conditions, and actions, and deliver a Zoho Desk Workflow Rule specification that your admin rebuilds in Setup > Automation > Workflows post-migration. Zoho Desk Workflow Rules support record-triggered, time-based, and formula-based conditions with actions including field updates, task creation, email alerts, and custom functions.
Herodesk
AI Agent Configuration
Zoho Desk
Zia Skills (documentation only)
lossyHerodesk AI Agent configurations (reply rules, translation settings, routing logic) live in Herodesk's rules engine and cannot be extracted via API. We audit the active AI Agent settings during discovery, document the automated reply templates and language settings, and provide a written handoff for your Zoho Desk admin to configure equivalent Zia Skills in Zoho Desk. Zia Skills (AI classification, sentiment analysis, auto-reply) are available as an add-on on Zoho Desk Professional and Enterprise.
Herodesk
Auto-tagging Rule
Zoho Desk
Tag + Workflow Rule (rebuild required)
lossyHerodesk auto-tagging rules apply tags based on conditions (channel, keywords, customer tier). We preserve the resulting tags on migrated tickets, but the conditional logic requires manual recreation. We document each auto-tagging rule in the migration specification, map it to a Zoho Desk Workflow Rule with the equivalent trigger and tag action, and flag where the condition type has no direct Zoho Desk equivalent (for example, Herodesk keyword-based auto-tagging may require a Zoho Desk custom function instead of a standard workflow filter).
| Herodesk | Zoho Desk | Compatibility | |
|---|---|---|---|
| Customer | Contact1:1 | Fully supported | |
| Customer | Account1:1 | Fully supported | |
| Ticket (Conversation) | Ticket1:1 | Fully supported | |
| Conversation Message | Thread + Comment1:1 | Fully supported | |
| Inbox | Department1:1 | Fully supported | |
| Channel | Channel1:1 | Fully supported | |
| User / Agent | Agent1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Attachment | Attachment1:1 | Fully supported | |
| Order (Webshop Context) | Custom Fields on Contact or Ticketlossy | Fully supported | |
| Workflow Automation | Workflow Rule (documentation only)lossy | Fully supported | |
| AI Agent Configuration | Zia Skills (documentation only)lossy | Fully supported | |
| Auto-tagging Rule | Tag + Workflow Rule (rebuild required)lossy | 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.
Herodesk gotchas
Lite plan single-user and single-inbox constraint blocks real multi-agent migrations
No bulk-export endpoint means API pulls must be sequenced per object
AI Agents and Workflow Automations are not machine-migratable
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 plan verification
We audit the source Herodesk account across plan tier (Lite, Plus), active inboxes, channel types, agent count, ticket volume (open and closed), message count per ticket, tag inventory, active Workflow Automations, and AI Agent configuration. We check that the account is on Plus if multiple agents are in scope. We pair this with a Zoho Desk edition review: Standard covers most Herodesk migrations; Professional ($50/user/month) is required if Zia Skills add-on or advanced reporting is planned; Enterprise ($80/user/month) adds multi-department SLA management. The discovery output is a written migration scope confirming object counts, custom field inventory, and Zoho Desk plan recommendation.
Schema setup in Zoho Desk
We configure Zoho Desk before data import: Departments (mapped from Herodesk Inboxes), custom fields on Contacts and Tickets (mapped from Herodesk custom properties and webshop order context), Tag taxonomy (matched to Herodesk tags), Agent roles and department assignments, and any required picklist values. Custom fields are created via the Zoho Desk API or manually in Setup > Customization > Fields before any record import begins.
Agent provisioning validation
We extract every Herodesk User referenced on Tickets, Messages, and Tags and match by email against the Zoho Desk Agent list. Agents without a matching Zoho Desk account go to a reconciliation queue for the customer's admin to provision before record import. Department assignments are confirmed at this stage. Migration cannot insert Tickets with assignee references to non-existent Zoho Desk agents without causing import failures.
API extraction from Herodesk
We extract from Herodesk in dependency order: Customers first (the primary contact records), then Tickets with message threads, then Attachments (downloaded and staged for re-upload to Zoho Desk). Extraction uses cursor-based pagination with backoff handling to work around undocumented rate limits. Tags are extracted separately and staged for insertion after ticket import so that ticket-to-tag associations are preserved. Workflow Automation and AI Agent configurations are audited and documented at this stage rather than extracted programmatically.
Data insertion into Zoho Desk via API
We insert into Zoho Desk in dependency order: Agents (validated, not newly created), Accounts (if applicable), Contacts (with AccountId resolved), Tags (inserted and associated to tickets), Tickets (with thread Comments and author attribution set explicitly per message), and Attachments (uploaded to Zoho Desk and linked to the relevant Tickets and Comments). Credit consumption is monitored per module and backoff is applied if the Zoho API returns a credit-limit error. Each phase emits a row-count reconciliation report before the next phase begins.
Thread direction and attachment verification
We verify that every migrated ticket has the correct thread structure: top-level Thread record with one or more Comment child records, each with Direction set to Incoming (customer) or Outgoing (agent) based on the original Herodesk message flag. We verify that inline images are accessible via the Zoho-hosted URL rather than pointing to the original Herodesk-hosted URL. We verify that tag associations are intact on all migrated tickets. Any thread with missing or misdirected comments is flagged in the reconciliation report.
Cutover, delta sync, and automation handoff
We freeze writes on Herodesk during cutover, run a final delta migration of any tickets modified during the migration window, and mark Zoho Desk as the system of record. We deliver the Workflow Automation and AI Agent specification document to the customer's admin team for rebuild in Zoho Desk Workflow Rules. We support a one-week hypercare window for reconciliation issues. We do not rebuild Herodesk Workflow Automations as Zoho Desk Workflow Rules inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
Herodesk
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 Herodesk 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
Herodesk: Not publicly documented.
Data volume sensitivity
Herodesk 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 Herodesk to Zoho Desk migration scoping. Not seeing yours? Book a call.
Walk through your Herodesk 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 Herodesk
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.