Helpdesk migration
Field-level mapping, validation, and rollback between Kayako and Zoho Desk. We move data and schema; workflows are rebuilt natively in Zoho Desk.
Kayako
Source
Zoho Desk
Destination
Compatibility
12 of 12
objects map 1:1 between Kayako and Zoho Desk.
Complexity
CModerate
Timeline
2-4 weeks
Overview
Kayako and Zoho Desk share a Conversation-to-Ticket data model but diverge on schema depth, pricing structure, and migration tooling. Kayako exports via SQL (confirmed by Zoho's own Zwitch documentation as a supported source), while Zoho Desk requires department-scoped API writes and enforces per-department custom field limits of 230 fields across all types. We resolve the export path at scoping, pre-create Zoho Desk departments that match Kayako Teams, map Custom Fields by API key rather than display name, and handle Knowledge Base articles with explicit notes on what Zoho Desk cannot preserve from Kayako. Automations, Saved Reports, and external integrations do not migrate; we deliver a written inventory for the customer's admin team to rebuild post-migration.
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 Kayako 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.
Kayako
Conversation
Zoho Desk
Ticket
1:1Kayako Conversations map 1:1 to Zoho Desk Tickets. The conversation status (open, pending, resolved, closed) maps to Zoho Desk Ticket Status values, and priority maps to Priority. Channel metadata (email, chat, phone, WhatsApp) migrates as-is into Zoho Desk's channel field. Assignee resolution uses email match against Zoho Desk Agents. We pull conversation threads including all public replies and internal notes as Ticket Comments, preserving the original timestamp on each comment. Conversations with no assignee are mapped to a Zoho Desk unassigned queue for manual routing post-migration.
Kayako
User (Agent/Admin)
Zoho Desk
Agent
1:1Kayako Users (agents and admins with roles) map to Zoho Desk Agents. We resolve each Kayako User by email address against the destination Zoho Desk Agent list. If a matching Agent does not exist at migration time, we create the Agent record with the mapped role (Support Admin, Support Agent, or Agent). Inactive Kayako Users migrate as inactive Zoho Desk Agents so that historical assignment data remains intact without generating open notifications.
Kayako
Organization
Zoho Desk
Account
1:1Kayako Organizations (company-level entities linking multiple Users and Conversations) map to Zoho Desk Accounts. Organization name becomes the Account name, domain becomes the Website field, and any Organization-level custom fields map to Account custom fields in Zoho Desk. The Organization-to-User linkage is preserved: after migrating Accounts, we attach Contacts to the correct Account via AccountId lookup so that the Zoho Desk multi-contact per Account model mirrors Kayako's organization structure.
Kayako
Custom Field (on Conversations)
Zoho Desk
Custom Field (on Ticket)
1:1Kayako custom fields require their API field key, not display name, for all API writes. During discovery we enumerate every custom field on Conversations, Users, and Organizations with its API field key, data type, and visibility. We then map each to the equivalent Zoho Desk custom field within the target department. Zoho Desk enforces a 230-field ceiling per department across all field types, so multi-department Zoho Desk destinations require coordination to avoid field-name collisions. We pre-create all target custom fields via the Zoho Desk API before the ticket migration phase begins.
Kayako
Knowledge Base Article
Zoho Desk
Help Center Article
1:1Kayako KB articles migrate to Zoho Desk Help Center articles. Article title, content (HTML), status (published, draft), and category assignments carry over. A known limitation: Zoho Desk sets the article creation date to the date of migration rather than preserving Kayako's original created-at timestamp. We flag this explicitly in the migration report. KB article attachments (images, PDFs embedded in article content) migrate as file attachments to the article record where supported; standalone file attachments may require manual re-upload if they exceed Zoho Desk's attachment size limits.
Kayako
KB Category
Zoho Desk
Help Center Category
1:1Kayako KB categories migrate as Zoho Desk Help Center categories with hierarchical structure preserved. We map parent-child category relationships to Zoho Desk's section and category model. If the destination Zoho Desk account already has categories with conflicting names, we resolve via a name-mangling strategy and document the mapping for the customer's admin to finalize.
Kayako
Tag
Zoho Desk
Tag
1:1Kayako tags applied to Conversations migrate as Tag records in Zoho Desk linked to the migrated Ticket. Each unique Kayako tag string creates a Zoho Desk Tag record if it does not already exist. Tag-to-ticket linkage is preserved via the Zoho Desk Tag-Ticket association API.
Kayako
SLA Policy
Zoho Desk
SLA Plan
1:1Kayako SLA definitions (response time, resolution time, business hours, violation triggers) are configuration objects. We capture the full SLA definition metadata during discovery and map it to Zoho Desk SLA Plans. The mapping is configuration-based because SLA tiers and violation actions differ between platforms; we document the mapping decisions in the migration inventory and the customer's admin applies them in Zoho Desk's SLA configuration UI post-migration.
Kayako
Attachment (on Conversation)
Zoho Desk
Attachment (on Ticket)
1:1Conversation file attachments migrate to Zoho Desk Ticket attachments via the file upload API. Each attachment requires a separate API call per conversation. We export attachments as binary blobs from Kayako, validate file size against Zoho Desk limits (typically 20 MB per file), and write them to the migrated Ticket. Attachments exceeding the limit are flagged for manual re-upload. Inline images embedded in conversation message HTML are preserved as-is if under limit; otherwise we strip the inline reference and flag the attachment as missing.
Kayako
Automations
Zoho Desk
Blueprint / Workflow (manual rebuild)
1:1Kayako automation rules (triggers, conditions, actions, SLAs tied to automations) are configuration objects that do not export cleanly via API. The rule logic, including conditional branching and CRM integration actions, is not portable in a structured format. We do not migrate automations. We deliver a written inventory of every active Kayako automation with its trigger type, conditions, actions, and recommended Zoho Desk equivalent (Blueprint for guided processes, Workflow for ticket updates, or Macro for agent-side templates). The customer's admin rebuilds these post-migration.
Kayako
Report / Saved Metrics
Zoho Desk
Report (rebuild)
1:1Saved reports, CSAT scores, and analytics metric configurations are computed aggregates, not raw data records. We migrate the underlying data (Tickets, survey responses) so that Zoho Desk reports can be rebuilt on top of the migrated dataset. CSAT survey responses migrate as Ticket Satisfaction Ratings where supported. We do not migrate the saved report layout, filter set, or visualization configuration; we document the complete list of Kayako reports with their filter criteria for the admin to recreate in Zoho Desk's report builder.
Kayako
Integration (Slack, WhatsApp, Voice, OAuth)
Zoho Desk
Integration (reconfigure)
1:1External integrations with Slack, WhatsApp, voice channels, and third-party tools are configuration objects with OAuth tokens and webhook URLs tied to the source Kayako instance. These cannot be migrated as live credentials. We document each active integration's trigger type, destination endpoint, and configuration parameters so that the customer's admin re-establishes them in Zoho Desk post-migration. Zoho Desk has native Slack and Zoho CRM integration; WhatsApp and voice channels require Zoho Desk's paid voice and messaging add-ons.
| Kayako | Zoho Desk | Compatibility | |
|---|---|---|---|
| Conversation | Ticket1:1 | Fully supported | |
| User (Agent/Admin) | Agent1:1 | Fully supported | |
| Organization | Account1:1 | Fully supported | |
| Custom Field (on Conversations) | Custom Field (on Ticket)1:1 | Fully supported | |
| Knowledge Base Article | Help Center Article1:1 | Fully supported | |
| KB Category | Help Center Category1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| SLA Policy | SLA Plan1:1 | Fully supported | |
| Attachment (on Conversation) | Attachment (on Ticket)1:1 | Fully supported | |
| Automations | Blueprint / Workflow (manual rebuild)1:1 | Not supported | |
| Report / Saved Metrics | Report (rebuild)1:1 | Fully supported | |
| Integration (Slack, WhatsApp, Voice, OAuth) | Integration (reconfigure)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.
Kayako gotchas
AI-per-resolution billing can multiply costs silently
Custom fields require API field keys, not field names
Kayako Classic and new Kayako use different export mechanisms
Outbound migration support is limited to export
API rate limits are not publicly documented
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
Version confirmation and export preparation
We confirm whether the source Kayako instance is the current cloud platform or Kayako Classic. For Kayako cloud, we guide the customer through the SQL export requirement: they need an active Kayako admin account, the service URL, and the ability to generate a SQL export of Conversations, Users, Organizations, Custom Fields, and Knowledge Base data. For Kayako Classic, we scope the database extraction separately and coordinate with the customer's IT team for direct database access. We also verify the Zoho Desk target account, confirm the departments that will receive migrated data, and disable any Zoho CRM or Salesforce integration in Zoho Desk during migration to prevent duplicate Contact and Account creation.
Custom field inventory and Zoho Desk field pre-creation
We run a full enumeration of Kayako custom fields including their API field keys, data types, and visibility scope. For each custom field we design the equivalent Zoho Desk custom field within the target department, checking against the 230-field per-department ceiling. We pre-create all target custom fields via the Zoho Desk API before any ticket data moves. Any field-name conflicts across departments are resolved with explicit mapping documentation. SLA definitions are captured as structured metadata for the post-migration SLA Plan configuration step.
Agent and department reconciliation
We extract every distinct Kayako User with their role, team, and email. We match each to an existing Zoho Desk Agent by email. Any Kayako User without a matching Zoho Desk Agent is placed in a reconciliation queue: the customer's Zoho Desk admin creates the Agent profile before we proceed. We also map Kayako Teams to Zoho Desk Departments, since Zoho Desk uses departments to scope ticket routing, reporting, and custom fields. Any team-to-department mapping that requires Zoho Desk admin permissions is completed in this phase.
Schema migration in dependency order
We execute the migration in strict dependency order to satisfy Zoho Desk's referential integrity requirements. Accounts migrate first (from Kayako Organizations). Contacts migrate second with AccountId resolved. Agents migrate third with roles mapped. Tickets migrate fourth with ContactId, AccountId, AgentId, and Tag associations resolved. Knowledge Base articles and categories migrate fifth. Attachments migrate last as a separate batch, with inline images flagged if they exceed Zoho Desk size limits. Each phase emits a row-count reconciliation report showing records attempted, records succeeded, and records rejected with error codes.
Delta validation and post-migration inventory delivery
We run a final delta pass to capture any records modified in Kayako during the migration window. We validate a random sample of migrated records (typically 30-50 tickets) against the source Kayako data, checking assignee, status, priority, custom field values, and comment thread integrity. We deliver the written automation inventory (every Kayako automation with trigger, conditions, actions, and Zoho Desk equivalent recommendation), the report rebuild checklist (every Kayako saved report with filter criteria), and the integration reconfiguration guide (every active integration with re-setup steps).
Cutover and handoff
We freeze Kayako writes at cutover, run the final delta migration, then mark Zoho Desk as the system of record. We support a 72-hour hypercare window to resolve any record-level issues raised during the first business day in Zoho Desk. We do not rebuild Kayako automations as Zoho Desk Workflows or Blueprints within the migration scope; that work is covered by the automation inventory document delivered in the previous step. We do not provide post-migration admin training or workflow rebuild as standard scope; these are separate engagements with our professional services team.
Platform deep dives
Kayako
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 Kayako 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
Kayako: Not publicly documented — API returns HTTP 429 when exceeded.
Data volume sensitivity
Kayako 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 Kayako to Zoho Desk migration scoping. Not seeing yours? Book a call.
Walk through your Kayako 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 Kayako
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.