Helpdesk migration

Migrate from Chatwoot to Zendesk

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

Chatwoot logo

Chatwoot

Source

Zendesk

Destination

Zendesk logo

Compatibility

70%

7 of 10

objects map 1:1 between Chatwoot and Zendesk.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Chatwoot to Zendesk is a move from a self-hostable, open-source tier-gated platform to a SaaS-native enterprise helpdesk. Chatwoot organizes support around Inboxes and Conversations; Zendesk organizes around Tickets with a unified Request queue. We map Chatwoot Conversations to Zendesk Tickets, preserving the full message thread with timestamps, attachments, and private notes. Contacts map to End Users and Users depending on whether they are customers or agents. Labels migrate to Tags, and Custom Attributes migrate to Zendesk custom ticket fields after the destination schema is pre-created. We flag that Chatwoot's Help Center, Automation Rules, and SLA Policies require Business or Enterprise tiers on the source and will be absent from the export if the source account is on Hacker or Startups. Zendesk Guide is a separate product requiring activation before article migration; we do not activate Guide as part of the migration scope. Workflows, automation rules, and canned response logic do not migrate; we deliver a written inventory of these for the customer's admin to rebuild.

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

Zendesk logo

Zendesk

What's pulling them in

  • Mature omnichannel routing across email, chat, phone, messaging, and social — one unified inbox for support teams regardless of size or complexity.
  • Deep automation with Triggers, Automations, and SLA Policies lets high-volume teams enforce consistent workflows without manual ticket handling.
  • Large ecosystem of third-party integrations and a public app marketplace reduce friction for teams already using Salesforce, Jira, or Slack.
  • Industry-leading brand recognition and trust signal — many enterprise buyers default to Zendesk as a known quantity in vendor procurement cycles.
  • Generous documentation library and community mean onboarding teams can self-configure without needing a services engagement to get started.

Object mapping

How Chatwoot objects map to Zendesk

Each row shows how a Chatwoot object lands in Zendesk, 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

Zendesk

Ticket

1:1
Fully supported

Chatwoot Conversations map to Zendesk Tickets. Each Conversation's status (open/resolved/pending), priority, assignee, and created_at timestamp transfer to Ticket fields. The full message array (agent messages, customer messages, private notes) migrates as individual Ticket Comments preserving created_at order and message type. We tag migrated tickets with a system tag (migrated_from_chatwoot) to allow the customer's admin to exclude them from Zendesk Triggers and SLA calculations during initial setup.

Chatwoot

Contact

maps to

Zendesk

End User

1:1
Fully supported

Chatwoot Contacts (name, email, phone, custom_attributes) map to Zendesk End Users. Email address is the dedupe key for import. We preserve any Chatwoot Contact custom_attributes as Zendesk user fields, which requires pre-creating the schema in Zendesk Admin before migration. Contacts without an email address are imported as Users with a placeholder domain to satisfy Zendesk's required email format.

Chatwoot

Agent

maps to

Zendesk

User

1:1
Fully supported

Chatwoot Agents (name, email, role, availability_status) map to Zendesk Users. Role mapping: Chatwoot administrator maps to Zendesk admin; agent maps to agent. We resolve agents by email match against the Zendesk destination. Any Chatwoot Agent without a matching Zendesk User goes to a reconciliation queue for the customer's admin to provision before record import resumes.

Chatwoot

Message

maps to

Zendesk

Ticket Comment

1:1
Fully supported

Chatwoot Messages belong to Conversations and carry content, sender_type (agent/customer), attachments, and created_at. We map agent messages to public Zendesk Ticket Comments and customer messages to public Ticket Comments. Chatwoot private notes map to Zendesk internal Ticket Comments. We preserve message order by created_at timestamp and migrate attachment URLs as references; actual attachment files require separate handling if the Chatwoot storage endpoint is accessible.

Chatwoot

Label

maps to

Zendesk

Tag

1:1
Fully supported

Chatwoot Labels are string tags applied to Conversations. We export the full label taxonomy and map to Zendesk Tags. Note that Zendesk Tags are case-sensitive and have a 2,000-tag-per-account limit; we flag if the source label count approaches this boundary during scoping.

Chatwoot

Custom Attributes

maps to

Zendesk

Ticket Fields (custom)

lossy
Mapping required

Chatwoot Custom Attributes attach to Conversations or Contacts and support text, number, dropdown, and checkbox types. We pre-create the equivalent Zendesk custom ticket fields (for conversation-attached attributes) and custom user fields (for contact-attached attributes) in Zendesk Admin before migration. Dropdown attributes in Chatwoot require a corresponding Zendesk custom field with matching picklist values. Checkbox attributes map to Zendesk boolean fields.

Chatwoot

Inbox

maps to

Zendesk

Channel + View

lossy
Fully supported

Chatwoot Inboxes represent channels (Website Live Chat, Email, WhatsApp, Facebook, Twitter, API). Channel credentials (webhook URLs, page tokens, WhatsApp templates, API keys) are credentials-bound and do not transfer. We document the inbox taxonomy (channel type, agent assignment, team assignment) and map to Zendesk Channels and Views. The customer's admin configures channel credentials in Zendesk Admin post-migration.

Chatwoot

Team

maps to

Zendesk

Group

1:1
Fully supported

Chatwoot Teams are available only on Business and Enterprise tiers and group agents for conversation routing. We map Chatwoot Teams to Zendesk Groups. If the source account is on Hacker or Startups, no Teams exist to migrate; we create matching Group structures in Zendesk Admin during migration.

Chatwoot

Canned Responses

maps to

Zendesk

Macros

1:1
Mapping required

Chatwoot Canned Responses are pre-written reply templates with shortcut codes. We export the full set including content and shortcut triggers and map to Zendesk Macros. Chatwoot's shortcut code model maps to the Macro title field in Zendesk.

Chatwoot

Help Center Articles

maps to

Zendesk

Zendesk Guide Articles

lossy
Mapping required

Chatwoot Help Center Articles (available on Startups tier or higher) contain title, body (Markdown), category, and locale. Zendesk Guide is a separate product that must be manually activated and configured in the Zendesk admin before article migration. We export the full article tree and import into Zendesk Guide via the Guide API. Note that Help Center is not available on Chatwoot Hacker plan; if the source account is on Hacker, no articles exist to migrate. We do not activate Zendesk Guide as part of migration scope; this is a customer-admin action before or during 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

Zendesk logo

Zendesk gotchas

High

Data export requires API scripting on non-Enterprise plans

Medium

Automations cap at 500 active rules and 1,000 tickets per hour

Medium

Help Center has no native export feature

High

Custom Objects and full data export are Enterprise-only

Pair-specific challenges

  • Hacker plan 30-day data retention permanently deletes conversations before export

    Chatwoot's free Hacker plan retains only 30 days of conversation data. If the source account is on Hacker and is older than 30 days, historical conversations are permanently deleted from Chatwoot's database and cannot be recovered by any export method. We flag this during scoping and recommend immediate export for any account on Hacker, or upgrading to a paid tier to extend the retention window before migration begins. Source accounts on Startups (1-year retention) or Business (2-year retention) do not face this constraint.

  • Help Center requires separate Zendesk Guide activation

    Zendesk Guide is a separate product from Zendesk Support and must be activated in the Zendesk Admin before article migration can begin. Chatwoot Help Center Articles (Startups tier or higher) cannot be imported into Zendesk until Guide is enabled, which also requires selecting a Guide plan tier. We do not activate Guide as part of standard migration scope; we document the Guide tier requirements and activation steps, and the customer's admin completes activation before the Help Center phase of migration runs.

  • Automation Rules and SLA Policies tier-gated on source; absent from export if lower plan

    Chatwoot Automation Rules require Business tier or higher; SLA Policies require Enterprise Edition. If the source account is on Hacker or Startups, these objects do not exist in the Chatwoot data export regardless of business need. We document which objects are absent based on the source plan tier and flag which ones require manual configuration in Zendesk (Zendesk SLA policies are available from Suite Team without additional cost). We do not rebuild Chatwoot Automation Rules as Zendesk Triggers inside migration scope.

  • Channel credentials and webhook URLs do not transfer between platforms

    Chatwoot Inbox configurations (webhook URLs, Facebook page tokens, WhatsApp business API credentials, email IMAP/SMTP settings) are credentials-bound to the source Chatwoot instance. These cannot function at Zendesk because they are tied to the original platform account. We document the inbox taxonomy (channel types, agent assignments, routing rules) and map it to Zendesk Channels and Views. The customer's admin reconfigures channel credentials in Zendesk Admin post-migration. Email channel reconfiguration is the highest-friction item for teams with existing IMAP/pop setups.

  • Chatwoot private notes require internal comment mapping

    Chatwoot Messages with sender_type of agent and a private note flag map to Zendesk internal Ticket Comments. Internal comments in Zendesk are visible only to agents and admins, matching Chatwoot's private note behavior. However, Zendesk's permission model for internal comments depends on the admin's role configuration; we document the mapping and recommend that the customer's Zendesk admin verifies internal comment visibility after migration to ensure sensitive notes remain restricted.

Migration approach

Six steps for a successful Chatwoot to Zendesk data migration

  1. Discovery and plan audit

    We audit the source Chatwoot account across plan tier (Hacker/Startups/Business/Enterprise self-hosted), active inboxes, agent count, conversation volume, message count, custom attribute definitions, label taxonomy, canned response count, Help Center article count, and whether Automation Rules or SLA Policies exist. We pair this with a Zendesk edition decision: Suite Team ($19/agent) covers migrations with no Help Center; Suite Growth or Professional is required if Help Center or advanced reporting is needed. The discovery output is a written migration scope with record counts per object and a Zendesk plan recommendation.

  2. Schema pre-creation and Help Center activation guidance

    We create the destination Zendesk custom fields (ticket fields and user fields) matching every Chatwoot custom attribute before any data import. Dropdown custom attributes require picklist values to be defined in Zendesk Admin before the field is created. We provide the customer with Zendesk Guide activation instructions and Guide tier recommendation if Help Center articles are in scope. We create Zendesk Groups matching Chatwoot Teams, and Macros matching Canned Responses. Channel configurations are documented for the customer's admin to re-enter post-migration.

  3. Sandbox migration and reconciliation

    We run a full migration into a Zendesk Sandbox (copy of the destination account) using production-like data volume. The customer's support operations lead reconciles record counts (Tickets in, End Users in, Users in, Comments in), spot-checks 25-50 random tickets against the Chatwoot source, and validates label mapping and custom field population. The customer signs off the schema and mapping before production migration begins. Any mapping corrections happen in sandbox, not production.

  4. Agent and Contact reconciliation

    We extract every distinct Chatwoot Agent and Contact email and match against the Zendesk destination's user table. Agents without a matching Zendesk User go to a reconciliation queue. The customer's Zendesk admin provisions any missing Users before record import resumes. Contacts without emails receive a placeholder domain in Zendesk's required email format so that import does not fail. This step gates the Contact and Agent import phases.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Users (validated), End Users (Contacts), Groups (from Teams), Tickets (Conversations with resolved author references), Ticket Comments (Messages preserving created_at order), Tags (from Labels), Custom field values (populated after field schema exists), Macros (Canned Responses), and Help Center Articles (after Guide activation is confirmed). We disable Zendesk Triggers and SLA policies before migration to prevent automated notifications from firing on imported tickets. Each phase emits a row-count reconciliation report before the next phase begins.

  6. Cutover, validation, and automation rebuild handoff

    We freeze Chatwoot writes during cutover, run a final delta migration of any records modified during the migration window, then enable Zendesk as the system of record. We re-enable Zendesk Triggers and SLA policies after migration completes. We deliver the Automation Rule and SLA Policy inventory document to the customer's admin team for manual rebuild in Zendesk Triggers and SLA policies. We support a one-week hypercare window for reconciliation issues. We do not rebuild Chatwoot Automation Rules as Zendesk Triggers or configure Help Center as part of migration scope; those are separate configuration tasks.

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.
Zendesk logo

Zendesk

Destination

Strengths

  • Well-documented REST API with broad endpoint coverage for Tickets, Users, Organizations, and Help Center.
  • Rich automation primitives: Triggers (event-driven), Automations (time-based), and Macros with variable substitution.
  • Multi-brand support enables large organizations to route and isolate support by product line or subsidiary.
  • Scalable from small teams on Team plan to global enterprises on Enterprise Plus with sandbox and disaster recovery options.
  • Large partner ecosystem and marketplace with hundreds of pre-built integrations reduces integration work at deployment.

Weaknesses

  • Per-agent pricing with aggressive feature gating makes lower tiers feel artificially limited.
  • No native full-KB export — Help Center content requires API scripting to extract.
  • AI features are add-on priced and behave inconsistently, not deeply embedded in core workflows.
  • Implementation timelines for complex multi-channel setups routinely exceed initial estimates by weeks or months.
  • Knowledge base and help center functionality are separate from core ticketing with their own permission model and versioning.

Complexity grading

How hard is this migration?

Standard Helpdesk migration. All 7 core objects map 1:1 between Chatwoot and Zendesk.

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

    All 7 core objects map 1:1 between Chatwoot and Zendesk.

  • 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 Zendesk 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 Zendesk data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most migrations land between three and five weeks for accounts under 50,000 conversations and 10,000 contacts with no Help Center articles or custom attributes. Migrations with large engagement histories (over 200,000 messages), multiple channel types, custom attribute schemas, or Help Center article trees move to eight to twelve weeks because of Zendesk API rate-limit handling, bulk chunking, Help Center activation coordination, and extended reconciliation.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Chatwoot.
Land in Zendesk, 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