Helpdesk migration

Migrate from Chatwoot to Zoho Desk

Field-level mapping, validation, and rollback between Chatwoot and Zoho Desk. We move data and schema; workflows are rebuilt natively in Zoho Desk.

Chatwoot logo

Chatwoot

Source

Zoho Desk

Destination

Zoho Desk logo

Compatibility

75%

9 of 12

objects map 1:1 between Chatwoot and Zoho Desk.

Complexity

CModerate

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Chatwoot and Zoho Desk take fundamentally different structural approaches to support data. Chatwoot routes all channels through a unified Inbox model with Agents and Teams as the primary organizational units. Zoho Desk separates Tickets, Contacts, and Accounts into distinct modules and uses Department-based routing with Role-based access control. A migration from Chatwoot to Zoho Desk must resolve this schema difference: Chatwoot Conversations become Zoho Desk Tickets, Chatwoot Inboxes become Zoho Departments, and Chatwoot Teams become Zoho Teams with manual role mapping. We preserve message threads with full attachment URLs and timestamps, re-associate every conversation with the correct Contact or Account in Zoho, and flag that Automation Rules and SLA Policies will not transfer from Chatwoot's lower tiers because those objects do not exist in the source export regardless of the migration method. Zoho Desk's native SLA management, Blueprint workflows, and Zia AI are available at Professional tier and above, giving teams that have outgrown Chatwoot's tier-gating a structural upgrade without moving to a significantly higher per-seat cost.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Chatwoot logo

Chatwoot

What's pushing teams away

  • The Hacker free plan caps at 2 agents, 1 inbox, and 30-day data retention — teams that grow quickly hit these walls and feel forced to upgrade before they are ready.
  • G2 reviewers report limited connectivity issues and technical glitches including portal disconnections that interrupt active support sessions.
  • Captain AI credits model charges $20 per 1,000 extra credits beyond the free monthly allocation, creating unexpected billing surprises for teams that adopt AI features heavily.
  • Feature gating is aggressive: Teams, Automation Rules, Help Center, SSO, Audit Logs, and SLA Policies all require paid tiers, making the real cost much higher than the headline per-agent price.
  • Database schema inconsistencies on stable tags v4.2–v4.4 have caused production installation failures, making version upgrades risky without careful pre-testing.

Choosing

Zoho Desk logo

Zoho Desk

What's pulling them in

  • Deep Zoho ecosystem integration lets support data tie directly to CRM contacts, invoice records in Zoho Books, and custom apps built in Zoho Creator, providing a unified customer view without third-party middleware.
  • Pricing undercuts comparable platforms significantly: Enterprise at roughly $40 per agent per month versus Zendesk at comparable tiers, making it attractive for cost-sensitive teams scaling past 10 agents.
  • Blueprints and multi-level escalations allow teams to codify support workflows and enforce SLA routing automatically, reducing manual triage for mid-size support operations.
  • Multi-channel ticket ingestion unifies email, social media, live chat, and phone into a single queue view, giving agents one inbox without context-switching across channels.
  • The free tier up to 3 agents lets small teams validate the platform before committing, reducing financial risk for startups and micro-businesses evaluating help desk software.

Object mapping

How Chatwoot objects map to Zoho Desk

Each row shows how a Chatwoot 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.

Chatwoot

Conversation

maps to

Zoho Desk

Ticket

1:1
Fully supported

Chatwoot Conversations map directly to Zoho Desk Tickets. The Conversation status (open, resolved, pending, snoozed) maps to Zoho Ticket Status, priority maps to Priority, assignee maps to Agent lookup, and the inbox assignment maps to Department. Chatwoot's conversation created_at timestamp preserves as Ticket Created Time. We validate that the Zoho Department exists before migration because conversation routing depends on Department being configured in Zoho first.

Chatwoot

Contact

maps to

Zoho Desk

Contact

1:1
Fully supported

Chatwoot Contacts map to Zoho Desk Contacts. Standard fields (name, email, phone, custom_attributes) migrate directly. Chatwoot's contact identifier becomes a ContactExtId field in Zoho's import schema for cross-reference. If the source Chatwoot account has no Contacts (Hacker plan users rarely configure them), we create minimal Contact records from conversation initiator data during migration. Custom attributes require pre-created fields in Zoho Desk before contact import begins.

Chatwoot

Message

maps to

Zoho Desk

Thread

1:1
Fully supported

Chatwoot Messages map to Zoho Desk Ticket Threads. Each message carries content, sender_type (agent/customer), created_at timestamp, and attachment URLs. We preserve message order by created_at and migrate both customer messages and internal notes as Thread entries in Zoho. Agent private notes map to Zoho's private comment capability if the destination role permits. Attachments store as URL references; Zoho Desk does not re-download them, so attachment accessibility depends on whether the source URLs remain reachable.

Chatwoot

Inbox

maps to

Zoho Desk

Department

1:many
Fully supported

Chatwoot Inboxes (website live chat, email, WhatsApp, Facebook, API channels) map to Zoho Desk Departments. Each Inbox becomes a Department in Zoho Desk, and conversations from that Inbox route into the corresponding Department as Tickets. We create the Zoho Department schema before conversation migration so that every incoming Ticket has a valid Department reference. Multiple Chatwoot Inboxes can map to a single Zoho Department if the customer prefers consolidated routing.

Chatwoot

Agent

maps to

Zoho Desk

Agent (User)

1:1
Fully supported

Chatwoot Agents map to Zoho Desk Agents (User records). We resolve by email match. Agent roles (administrator, agent) map to Zoho Desk roles (executive, admin, agent) during scoping. Chatwoot's agent availability status does not transfer; agents start as active in Zoho Desk. Any Chatwoot Agent without a matching Zoho User email goes to a reconciliation queue for the customer's admin to provision before migration resumes.

Chatwoot

Team

maps to

Zoho Desk

Team

1:1
Fully supported

Chatwoot Teams (Business and Enterprise tier only) map to Zoho Desk Teams. Teams are available on Chatwoot's paid tiers, so we check the source plan during scoping. If the source is on Hacker or Startups, no Teams exist to migrate. For sources with Teams, we create matching Team structures in Zoho Desk and assign the migrated Agents to their corresponding Team. Team-based routing in Zoho is configured after agent import.

Chatwoot

Label

maps to

Zoho Desk

Tag

1:1
Fully supported

Chatwoot Labels (string tags applied to Conversations) map to Zoho Desk Tags. Labels are simple key-value records and migrate directly as tags on the corresponding Ticket. Tag color metadata from Chatwoot does not transfer; tags in Zoho Desk use a single color scheme per tag unless manually recolored after migration.

Chatwoot

Custom Attributes

maps to

Zoho Desk

Custom Fields

1:1
Mapping required

Chatwoot Custom Attributes (text, number, dropdown, checkbox attached to Conversations or Contacts) map to Zoho Desk Custom Fields. We pre-create the custom field schema in Zoho Desk before import using the Zoho Desk Custom Fields API, matching the field type from Chatwoot to the equivalent Zoho field type. Values migrate as raw data; downstream reporting on custom fields requires manual dashboard configuration in Zoho after migration.

Chatwoot

Canned Responses

maps to

Zoho Desk

Templates

1:1
Fully supported

Chatwoot Canned Responses (pre-written reply templates with shortcut codes) map to Zoho Desk Templates. We export the full set including content and shortcut triggers and re-import as Zoho Desk Ticket Templates. Shortcut code triggers are documented in the migration output but must be manually reconfigured in Zoho Desk's Template settings because the shortcut trigger model differs between platforms.

Chatwoot

Help Center Articles

maps to

Zoho Desk

Help Center Articles

1:1
Mapping required

Chatwoot Help Center Articles (available on Startups tier and above) map to Zoho Desk Help Center Articles. Article title, body (markdown), category, and locale migrate directly. Article author attribution does not transfer; the migration user becomes the author. Note: Zoho Desk Help Center does not migrate attachments to articles; article attachments must be re-uploaded manually in Zoho Desk after migration.

Chatwoot

Automation Rules

maps to

Zoho Desk

Workflow Rules (documentation only)

lossy
Mapping required

Chatwoot Automation Rules (Business tier and above) do not migrate. The rule logic is Chatwoot-specific and cannot be expressed in Zoho Desk's Workflow Rules or Blueprint format without manual redesign. We deliver a written inventory of every active Chatwoot Automation Rule with its trigger, conditions, and actions, plus a recommended Zoho Desk Workflow Rule or Blueprint equivalent. The customer's admin rebuilds these post-migration.

Chatwoot

Integrations

maps to

Zoho Desk

Integrations (documentation only)

lossy
Mapping required

Chatwoot Integrations (Slack, Webhooks, third-party bots) do not migrate because webhook URLs, Slack channel mappings, and bot tokens are credentials-bound and will not function at the destination. We document every active integration, the Chatwoot configuration values, and the recommended Zoho Desk integration equivalent. Slack integration in Zoho Desk requires a separate Slack app setup with org-level token authorization that the customer's admin configures post-migration.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

Chatwoot logo

Chatwoot gotchas

High

Hacker plan 30-day data retention permanently deletes conversations

High

Free plan limits silently block new inboxes and agents

Medium

Captain AI credits bill at $20 per 1,000 beyond the monthly allocation

Medium

Database schema inconsistencies on stable tags v4.2–v4.4

Low

Automation Rules and SLA Policies are tier-gated and cannot export from lower plans

Zoho Desk logo

Zoho Desk gotchas

High

Agent email identity determines comment ownership after migration

High

Blueprints and SLA policies do not export via API

Medium

File upload capped at 10GB per migration batch

Medium

Tier-gated export and migration capabilities

Low

Inbound migration is two-phase with a hard Phase 2 cutoff

Pair-specific challenges

  • Chatwoot Hacker plan 30-day retention permanently deletes history before migration

    Chatwoot's free Hacker plan retains only 30 days of conversation data before permanent deletion. If the source Chatwoot account is on Hacker and is older than 30 days, we cannot recover historical conversations through any export method. We flag this during scoping by querying the account creation date and last conversation timestamp. If historical data is business-critical, we recommend upgrading to a Chatwoot paid tier before export to access longer retention windows (1 year on Startups, 2 years on Business). We cannot reverse data loss that predates the migration scoping call.

  • Automation Rules and SLA Policies do not exist on lower Chatwoot tiers

    Chatwoot Automation Rules require Business tier or higher, and SLA Policies require Enterprise Edition. If the source account is on Hacker or Startups, these objects do not exist in the API export regardless of business need. We document which objects are absent based on the source plan and flag each one in the migration inventory. We do not fabricate SLA or automation records. The customer rebuilds these in Zoho Desk using Workflow Rules (Standard tier) or Blueprint (Professional tier) after migration.

  • Zoho Desk does not migrate Knowledge Base article attachments

    Zoho Desk's Help Center article migration does not transfer file attachments. The article text, category, and metadata migrate, but any documents or images attached to Help Center articles must be re-uploaded manually in Zoho Desk after migration. We identify every article with an attachment during scoping and produce a checklist of articles requiring manual file re-upload so the customer's admin can address them before going live.

  • Webhook URLs, Slack tokens, and bot credentials do not transfer

    Chatwoot integration credentials (webhook endpoints, Slack channel tokens, API keys, third-party bot tokens) are bound to the Chatwoot installation and cannot function in Zoho Desk. We document every active integration with its configuration values, trigger events, and action destinations so the customer's admin can reconfigure them in Zoho Desk. This is a manual step and cannot be automated because OAuth tokens, webhook secrets, and bot API keys are not exportable from Chatwoot.

  • Chatwoot's channel-to-inbox routing has no Zoho equivalent for API channels

    Chatwoot's API channel allows custom channel creation via webhook. Zoho Desk supports email, phone (voice), live chat, social (Twitter, Facebook), and WhatsApp natively but does not expose a generic API channel endpoint in the same way. We document any API channel configurations and route conversations from custom API sources to a designated Zoho Department. Real-time bidirectional API integration between a third-party system and Zoho Desk requires a custom webhook receiver built by the customer's development team.

Migration approach

Six steps for a successful Chatwoot to Zoho Desk data migration

  1. Discovery and source plan audit

    We audit the source Chatwoot account across plan tier, active inboxes, agent count, team structure, conversation volume, Help Center article count, custom attributes, and active integration list. We query the account creation date and last conversation timestamp to determine whether historical conversations fall within the retention window. We identify which Chatwoot objects (Teams, Automation Rules, SLA Policies, Help Center) exist in the export based on the source plan. The discovery output is a written migration scope with object inventory, retention assessment, and a list of objects requiring manual rebuild post-migration.

  2. Export preparation and data validation

    We extract Chatwoot data via the REST API (Contacts, Conversations, Messages, Agents, Teams, Labels, Custom Attributes, Canned Responses, Help Center Articles) and validate schema integrity before transformation. If the source Chatwoot instance is running stable releases v4.2 through v4.4, we run a schema validation check per GitHub Issue #12128 to detect any database inconsistencies that could corrupt the export. We disable webhook integrations at the source before export to prevent new conversation activity from entering the migration window untracked.

  3. Zoho Desk schema design

    We pre-create the Zoho Desk schema before any data import. This includes provisioning Zoho Departments (mapped from Chatwoot Inboxes), creating custom fields in the Tickets and Contacts modules to receive Chatwoot Custom Attributes, configuring Zoho Desk Roles and agent profiles, creating Ticket Templates from Chatwoot Canned Responses, and designing the Tag taxonomy from Chatwoot Labels. We deploy the schema via Zoho Desk API into a pre-production portal first. Schema must be complete before record migration begins because parent-record lookups (Department on Ticket, Account on Contact) are validated at insert time.

  4. Sandbox migration and reconciliation

    We run a full migration into a Zoho Desk sandbox or parallel portal using production data volume. The customer's support operations lead reconciles record counts (Tickets in, Contacts in, Agents in, Thread entries in), spot-checks 25-50 random Tickets against the Chatwoot source conversation, and validates that conversation threading, timestamps, and labels are correctly represented. Any mapping corrections happen in this phase. We do not begin production migration until the sandbox reconciliation is signed off.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Agents (manual provisioning confirmed), Departments (Chatwoot Inbox mapping applied), Contacts (with Custom Attributes resolved), Accounts (if customer companies are separated from contacts), Tickets (with DepartmentId, AgentId, and CreatedTime set to original conversation timestamp), Ticket Threads (message content and attachments), Canned Responses as Templates, Labels as Tags, and Help Center Articles last. Each phase emits a row-count reconciliation report before the next phase begins.

  6. Cutover, delta sync, and rebuild handoff

    We freeze Chatwoot writes during the cutover window, run a final delta migration of any conversations created or modified during the migration window, then enable Zoho Desk as the system of record. We deliver the Automation Rules and SLA Policies inventory document (for Business/Enterprise source tiers) and the Integration configuration checklist to the customer's admin team. We support a one-week hypercare window where we resolve reconciliation issues raised during the first week of Zoho Desk production use. We do not rebuild Chatwoot Automation Rules as Zoho Desk Workflow Rules or Blueprint flows inside the migration scope; that is a separate engagement.

Platform deep dives

Context on both ends of the pair

Chatwoot logo

Chatwoot

Source

Strengths

  • Fully self-hostable on Docker with PostgreSQL and Redis, giving engineering teams complete data residency control.
  • Free tier covers 2 agents with live chat and 500 conversations, providing a genuine no-cost evaluation path.
  • Omni-channel inbox consolidates website chat, email, WhatsApp, Facebook, Twitter, and API into a single agent queue.
  • Clean, intuitive UI means new agents are productive on day one with minimal training overhead.
  • Open-source MIT codebase is publicly auditable; enterprise edition extends Ruby backend without affecting the open core.

Weaknesses

  • Feature gating is pervasive: Teams, automations, Help Center, SSO, audit logs, and SLA all require paid tiers, making the free plan a severe false floor.
  • 30-day data retention on the Hacker plan means conversation history is permanently lost if not migrated before the cutoff.
  • Database schema bugs on stable releases v4.2–v4.4 have caused Docker Compose installation failures in production-like environments.
  • Captain AI credit model adds unpredictable cost: $20 per 1,000 extra credits on top of per-agent subscription fees.
  • Limited connectivity and portal disconnections reported by G2 reviewers affect communication reliability in active support sessions.
Zoho Desk logo

Zoho Desk

Destination

Strengths

  • Generous free tier for teams of up to 3 agents with no time limit, reducing financial risk for small support operations.
  • Per-agent flat pricing across tiers is significantly lower than Zendesk, Freshdesk, or Intercom at equivalent feature levels.
  • Tight integration with Zoho CRM, Zoho Books, and Zoho Creator provides a unified data ecosystem without third-party middleware.
  • Multi-channel ticket aggregation consolidates email, social, chat, and phone into a single queue view.
  • Assisted migration service handles the two-phase transfer process with Zoho's own migration team for inbound moves.

Weaknesses

  • The UI is frequently described as dated, clunky, and inconsistent across modules compared to modern SaaS competitors.
  • Advanced automation features including Blueprints, multi-brand, and live chat are tier-gated, limiting the free and Express plans to basic ticketing.
  • Non-Zoho integrations require custom Deluge scripting or external middleware, reducing flexibility for heterogeneous tech stacks.
  • Steep learning curve and complex customization options mean slower onboarding for new agents and ongoing training investment.
  • Export and migration capabilities are gated by plan tier, with data backup only available on higher plans.

Complexity grading

How hard is this migration?

Moderate Helpdesk migration. 4 of 7 objects need a mapping; the rest are 1:1.

C

Overall complexity

Moderate migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Chatwoot and Zoho Desk.

  • Object compatibility

    C

    4 of 7 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    7-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Chatwoot: Not publicly documented.

  • Data volume sensitivity

    B

    Chatwoot doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Chatwoot to Zoho Desk migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Chatwoot to Zoho Desk data migrations

Answers to the questions buyers ask most during Chatwoot to Zoho Desk migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Chatwoot to Zoho Desk migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Basic migrations under 15,000 conversations with no Teams, Help Center, or custom attributes complete in three to five weeks. Migrations with agent Teams, Help Center articles, multiple inbox channels, or custom Conversation attributes extend to eight to twelve weeks because of department schema design, article content transformation, multi-batch conversation threading, and sandbox reconciliation time. The Chatwoot plan tier determines which objects appear in the export; lower tiers with fewer objects migrate faster but leave more manual rebuild work post-migration.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Chatwoot.
Land in Zoho Desk, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day