Open-source alternative to Zendesk messaging and live chat

Chatwoot can replace Zendesk messaging for website chat, email, WhatsApp, social and SMS on your own servers, with bots and routing rebuilt in its own rules. Here is how the move works and what changes.

On this page

Can Chatwoot replace Zendesk messaging and live chat?

Yes, for most website chat and social messaging workloads, Chatwoot can replace Zendesk messaging on your own servers, provided you confirm the handful of features that sit in its paid tier. Chatwoot's Community Edition is free and covers a website live chat widget and one inbox for email, Facebook, Instagram, Twitter, WhatsApp, Telegram, Line and SMS, according to its README. If your team runs chat and social channels in Zendesk and wants those conversations stored on infrastructure you control, this is the component to evaluate first. Email ticketing does not have to move at the same time, and many teams keep it on a separate help desk such as Zammad.

Before you commit, check the gaps against your own requirements. SAML single sign-on and SLA policies are not in the Community Edition. Chatwoot's self-hosted plans page places them in the paid Enterprise Edition, and Premium Support adds Captain AI, voice calls, custom branding, roles and permissions. Confirm with Chatwoot whether each of your Zendesk messaging features, including any voice or AI routing you rely on, maps to the Community Edition or to a paid tier. Also confirm the channel APIs you need, such as WhatsApp and SMS provider accounts, because those integrations depend on your own provider agreements rather than on Chatwoot itself.

Plan the cutover around channel reconnection and routing rules, not just data. Zendesk's own export documentation covers tickets and users, but you should verify what conversation history and contact records you can retain for each channel before you disconnect anything. Chatwoot requires PostgreSQL and Redis, and its requirements page lists Ubuntu 20.04 as the only officially supported Linux distribution, so confirm that your hosting standard matches. Review automation, auto-assignment and business hours with your support leads, and run a parallel period on one channel before moving the rest.

Which Zendesk messaging capabilities Chatwoot covers

This table maps the messaging and live chat capabilities teams usually rely on in Zendesk against Chatwoot's documented features. Read the edition column first, because some items sit in the paid self-hosted tiers, and the notes column lists what to confirm for your own channels before you commit.

CapabilityChatwoot coverageEdition and confirmation needed
Website live chatEmbeddable live chat widget that feeds conversations into the shared inboxCommunity Edition. Test the widget on your own domains and browsers before go-live
Channel inbox (email, social, messaging)One inbox for website chat, email, Facebook, Instagram, Twitter, WhatsApp, Telegram, Line and SMSCommunity Edition. Confirm each channel's provider and account requirements separately
WhatsApp and SMS setupListed as supported channels in the inboxCommunity Edition. Confirm the WhatsApp provider path and SMS carrier integration with your vendor
Voice supportNot part of the core channel list in the documented feature setVoice calls are listed under Premium Support. Confirm availability and carrier requirements before planning
Auto-assignment and business hoursAuto-assignment by agent availability, plus business hours settingsCommunity Edition. Test routing rules with your team structure and time zones
Automation, auto-responders and canned responsesAutomation rules, auto-responders and canned responses for repeat repliesCommunity Edition. Rebuild Zendesk triggers as Chatwoot automation rules and review each one
Bots and AI answersCaptain AI agent automates responses to common queriesCaptain is listed under Premium Support. Confirm model hosting and data handling for your region
Help centerHelp Center portal for articles, FAQs and guidesCommunity Edition. Check whether your article volume and languages fit your content plan
CSAT and reportsConversation, agent, inbox, team and CSAT reportsCommunity Edition. Compare report fields with the Zendesk dashboards your managers use
SSO with SAMLSingle sign-on through SAMLEnterprise Edition only. Plan this cost into any identity integration
SLA policiesSLA policy support for response targetsEnterprise Edition only. Confirm the policy model matches your service levels
Roles and permissions, custom brandingRoles, permissions and custom branding for agents and widgetsPremium Support and above. Confirm the granularity you need against your access model

Which open-source option fits which messaging setup

Zendesk messaging combines live chat, social channels and email in one place, and the open-source replacements split that job differently. Chatwoot covers the omnichannel inbox, Zammad covers ticket-based email support, and a shared inbox tool covers email-only teams. Choose by the channels you run and whether tickets must stay in one system.

Chatwoot for omnichannel messaging

Chatwoot is the primary candidate when website chat, email, Facebook, Instagram, Telegram, WhatsApp and SMS must land in one inbox with shared routing and canned replies. Its README lists auto-assignment, business hours, teams, private notes and CSAT reports. Check PostgreSQL is the only supported database, so your DBA standards and backup routines must cover it, and confirm that each channel's provider setup meets your policy before go-live.

Chatwoot Enterprise Edition features

SAML single sign-on and SLA policies are not in the free Community Edition. They sit in the paid self-hosted Enterprise Edition, and Premium Support adds Captain AI, voice calls, custom branding, roles and permissions. If your identity provider requires SAML or your service levels need enforced SLA policies, price the Enterprise tier before you commit. Ask Chatwoot which features your plan includes, since tiers can change.

Zammad as an email ticket companion

Keep Zammad when email support needs formal ticket numbers, escalation, SLAs and a knowledge base, and run Chatwoot beside it for live chat and social channels. The trade-off is two systems: a conversation in Chatwoot is not a Zammad ticket, so you need a clear rule for handing a chat to email and for who owns the record. Map this handoff before you choose either tool.

Shared inbox tool for email-only teams

If your support runs almost entirely on shared email addresses, with no live chat or social inboxes, a lighter shared inbox tool such as FreeScout may cover the need with fewer moving parts. You would give up Chatwoot's multichannel routing and widget, and you should confirm which paid modules you need for features like knowledge base or SSO. Compare the channel list against your actual traffic before choosing this path.

Automation and bot behavior

Chatwoot's automation rules, auto-responders and Captain AI replace Zendesk triggers and bots in different ways, so bot flows must be rebuilt rather than exported. Captain is an AI agent in the Premium tier and needs your own model and data decisions. Document every Zendesk trigger, then test each one in Chatwoot's automation builder with real routing scenarios.

How Chatwoot's inbox and widget fit the stack

The website widget, channel connections and agent inbox form one pipeline in Chatwoot. A visitor starts a conversation in the live chat widget embedded on your site, or a message arrives through an email, Facebook, Instagram, Telegram, WhatsApp or SMS connection. Each connection is configured as an inbox, and every inbox feeds the same agent dashboard. The contact record is created or matched when the first message arrives, and the conversation is then assigned to an agent or a team according to the routing rules you set on that inbox. Before go-live, map each channel to one inbox, decide which teams own which inboxes, and test a message on every channel from start to finish.

Contacts, labels and teams sit in Chatwoot's own database, which in a self-hosted install means PostgreSQL on your infrastructure. Contacts hold the identity and attributes used across channels, labels tag conversations and contacts for filtering and reporting, and teams define who can see and pick up work in a given inbox. Redis supports the real-time delivery to agent screens and background jobs run through Sidekiq, so these components should be sized and backed up together. Confirm with the Chatwoot documentation which contact and conversation fields you plan to export or replicate, because your data retention and access review will depend on where those records are stored.

Channel APIs remain external dependencies that you do not control. Meta (for Facebook, Instagram and WhatsApp), Telegram and any SMS provider each need their own account, app registration, webhook and access tokens, and their terms, rate limits and approval steps can change outside your deployment. Your public hostname and TLS setup must be reachable by those providers for webhooks to deliver. Before committing, confirm with each provider which business verification, number registration and messaging permissions your use case needs, and check that the Chatwoot release you deploy supports the current version of each channel integration.

Running Chatwoot beside Zendesk ticketing or Zammad

Most teams do not switch every channel on the same day. Chatwoot can take chat and social channels while email tickets stay where they are, or it can sit beside Zammad with the team handling handoffs. Each pattern changes routing, reporting and who owns the customer record, so check those points in both systems before any channel moves.

Zendesk keeps email tickets

Chatwoot takes the website widget, WhatsApp, Facebook, Instagram, Telegram and SMS, while Zendesk keeps the email address and its ticket queue. The main risk is duplicate contacts: a customer who writes by email and then opens chat may appear as two people. Confirm how each system identifies contacts, which system owns the customer record, and whether ticket numbers from one system are visible to agents in the other.

Chatwoot alongside Zammad

Zammad handles email ticketing and Chatwoot handles live conversations, with agents moving a case from one to the other by hand. This keeps each tool focused, but nothing routes between them automatically, so a handoff depends on the agent noticing and recording it. Define which system is the record of truth for a case, who may open a ticket from a chat, and how the closing status is copied back.

Routing rules in each system

Chatwoot routes by inbox, team, labels, business hours and agent availability, while Zendesk uses its own triggers and routing settings. Two systems mean two sets of rules that can send the same customer to different queues. Write the routing matrix once, then test a sample conversation on each channel to confirm the team and priority it lands in.

Reporting across two tools

Chatwoot reports on conversations, agents, inboxes, teams and CSAT, and Zendesk reports on tickets. Response and resolution times are defined differently in each, so a combined dashboard can mislead leaders. Agree on one definition of first response and resolution before the first channel moves, and decide which system's CSAT numbers are reported to management.

Phased cutover by channel

A phased move starts with one low-risk channel, such as the website widget, and adds WhatsApp, social and SMS in later steps. Each step needs a rollback path that re-points the channel to the previous tool. Ask the Chatwoot and Zammad teams to confirm which Ubuntu, PostgreSQL and Redis versions your deployment will use, since those set the test plan for each phase.

Bots and identity in both

Chatwoot's Captain AI and automations answer common questions, and Zendesk runs its own bot features. Bot replies and escalation rules must not contradict each other across channels. Also confirm single sign-on: Chatwoot's SAML SSO and SLA policies sit in its paid Enterprise Edition, so check whether your identity setup needs that tier before agents are split across two logins.

What changes for bots, routing and reporting

Chatwoot does not convert Zendesk triggers, automations or routing rules automatically, so plan to rebuild each one. Start by listing every active Zendesk rule with its conditions, actions and the channel it applies to, then map each to a Chatwoot equivalent. Routing typically moves to auto-assignment by agent availability, combined with teams, inbox membership and labels. Time-based logic moves to business hours, and first-contact replies move to auto-responders. Chatwoot's automation rules cover conditional actions, but each condition and action must be checked against your own triggers. Retire rules that duplicate each other, and document the owner of each one before go-live.

Captain is Chatwoot's AI agent for answering common queries, and it is optional. According to Chatwoot's self-hosted plans page, Captain AI is included in the Premium Support plan at $19 per agent per month, alongside voice calls, custom branding, roles and permissions and priority support. SAML SSO and SLA policies sit in the Enterprise Edition at $99 per agent per month. Confirm with Chatwoot which model providers Captain can call, where those requests travel, and whether that fits your data residency position before you enable it. Test Captain against recent conversations from each channel, and keep a clear handoff path to a human agent for anything it cannot answer.

Reporting needs the same discipline. Chatwoot's reports cover conversations, agents, inboxes, teams and CSAT, but the report definitions may not match the Zendesk dashboards your managers use. Export the Zendesk reports and list the metrics that drive staffing or service level decisions. Then confirm in a test environment how Chatwoot calculates each one, including first response and resolution times. If you need SLA tracking, confirm that the SLA policies in the Enterprise Edition cover your targets. Run both systems in parallel for a period so that any difference in numbers is explained before the old reports are retired.

How to move live chat and social channels to Chatwoot

This sequence moves website chat and social channels from Zendesk messaging into a self-hosted Chatwoot inbox in controlled stages. It ends with the widget switched over, Zendesk channels retired, and a record of what conversation history was kept.

  1. Inventory channels, bots and routing rules

    Your support lead and a Zendesk admin list every messaging channel in use, including the website widget, email, Facebook, Instagram, WhatsApp, Telegram, SMS and any others, along with each bot flow, trigger, macro, routing rule and business-hours setting. Record which ones matter to customers and which are unused. Confirm with the team which conversation history must be kept, because Zendesk's account export is available as JSON, CSV or XML only on eligible plans, and its CSV format omits ticket comments and descriptions. Done when you have a written inventory signed off by the support lead and a decision on what history to export.

  2. Deploy Chatwoot on PostgreSQL and Redis

    Your platform or infrastructure team deploys Chatwoot in your own environment using one of the documented methods: the Linux VM installation script, Docker, or Kubernetes with the Helm chart for larger high-availability setups. Chatwoot supports only PostgreSQL as its database and recommends Redis 7.0 or higher, Ruby 3.2 or later and Node.js 20.x, and lists Ubuntu 20.04 as the only officially supported Linux distribution. Size the server against the published requirements for your expected daily conversation volume. Done when the instance loads over HTTPS, the admin account works, and a test conversation appears in the inbox.

  3. Connect each channel to its inbox

    A Chatwoot administrator creates one inbox per channel: the website live chat widget, email, and each social or messaging account. Each connection depends on the provider's own business account, app registration or webhook setup, so the person who owns those accounts must approve and complete the authorization. Confirm with each provider which account types and permissions are required before starting. Done when every channel sends a test message into the correct inbox and a reply goes back out through the same channel.

  4. Rebuild routing, automation and bot answers

    The support lead recreates the Zendesk routing logic in Chatwoot using auto-assignment by agent availability, teams, labels, business hours, auto-responders and automation rules. Canned responses and help articles move over by hand or through a scripted import, since Chatwoot's built-in tooling does not replace Zendesk's bot flows one for one. Captain, Chatwoot's AI agent, and integrations such as Slack or Shopify are optional and need their own review and configuration. Done when each Zendesk routing rule has a documented Chatwoot equivalent or a recorded decision to drop it.

  5. Run parallel testing with staff and test customers

    Agents work test conversations across each channel while Zendesk stays live for real customers. Testers check routing, notifications, assignment, business-hours behavior, attachments, reply delivery and report output in the conversation, agent, inbox, team and CSAT reports. Log each failure with its channel and fix it before moving on. Done when every channel has passed the test script and the support lead has signed off in writing.

  6. Switch the website widget to Chatwoot

    Your web team replaces the Zendesk messaging snippet on the site with the Chatwoot widget code and confirms it loads on the pages where chat appears, including any login or authenticated pages where customer identity is passed. Set the same working hours and greeting that customers saw before. Watch the first live conversations closely for missed messages. Done when a live visitor conversation reaches a Chatwoot agent from each key page and the Zendesk widget is removed from the site.

  7. Retire Zendesk channels and keep an archive

    Disconnect the social and messaging channels from Zendesk, disable the Zendesk messaging bots, and stop routing new conversations there. Export the agreed conversation history from Zendesk, keeping the format and any plan or size limits in mind, and store it in your own backup location with access controls. Confirm the plan's export setting with Zendesk support before you rely on it, because exports are not enabled by default. Done when no new conversations arrive in Zendesk, the archive has been verified by opening a sample file, and the decision is recorded for audit.

What does replacing Zendesk messaging cost and take?

What are the main cost components of running Chatwoot in place of Zendesk messaging?

The software itself has no license fee on the Community Edition, so the recurring costs are the parts you pay for and the people who run them. These are server hosting, a PostgreSQL database, a Redis instance, channel provider fees for WhatsApp, SMS and similar channels, and staff time for administration and support. Optional costs are the Premium Support or Enterprise Edition licenses, which Chatwoot lists at $19 and $99 per agent per month. Ask the vendor or your own finance team to price each component separately so you can compare it with your current Zendesk invoice line by line.

Which Chatwoot costs are one-time and which recur every month?

One-time costs usually include the initial installation, configuration of inboxes and channels, data migration from Zendesk if you need history, and testing before cutover. Recurring costs include server and storage hosting, database and Redis operation, backups, patching, channel provider usage, and any per-agent subscription you choose. Upgrades to new Chatwoot releases, such as v4.18.0 published on September 18, 2026, are also recurring work. Request a quote that separates these two groups so the first-year total and the ongoing run cost are both visible.

What drives the hosting cost and effort up or down?

Volume and channel mix are the main drivers. Chatwoot's requirements page recommends at least 4 CPU cores and 4 GB of RAM for up to 10,000 conversations a day and 8 cores and 8 GB for up to 20,000, plus at least 1 GB of swap. Sidekiq can use more than 1 GB of memory on a very active server, so background job load matters. Other drivers include the number of agents, whether you need high availability through the Kubernetes Helm chart, the number of connected channels, and how much history you keep. Your own conversation volume determines which sizing tier applies.

Can an internal team run Chatwoot without outside help?

Yes, if the team has Linux server administration skills, PostgreSQL and Redis experience, and someone who can own Ruby on Rails application upgrades. Chatwoot supports Docker, a Linux VM install script and Kubernetes, and it documents guides for AWS, Azure, DigitalOcean, Google Cloud and Heroku. Note that the requirements page lists Ubuntu 20.04 as the only officially supported Linux distribution and PostgreSQL as the only supported database. Teams without these skills often bring in an implementation partner for the first deployment and keep the run work in house, or buy a support plan.

What does the work require from our team before and after go-live?

Before go-live you need to name an owner for the platform, provide a hosting account and network path to your channel providers, and decide which inboxes, teams, business hours and automations to recreate. You also need access to the Meta, WhatsApp, Telegram and SMS provider accounts so webhooks can be configured. After go-live, someone must handle backups, monitoring, certificate renewal, security updates and capacity checks. Agents need time for training on private notes, canned responses and reports. Confirm these responsibilities in the written scope before work starts.

Which Zendesk messaging channels need separate provider accounts?

Chatwoot's README lists a website live chat widget, email, Facebook, Instagram, Twitter, WhatsApp, Telegram, Line and SMS in one inbox. Channels such as WhatsApp and SMS depend on provider accounts and per-message fees that you pay directly, not Chatwoot. Facebook and Instagram depend on Meta app approval, and Telegram depends on a bot token. Check each channel's current provider terms and fee schedule before you commit, because these costs often make up a large part of messaging spend and they do not disappear when you leave Zendesk.

Should we request a fixed-scope quote before starting the migration?

Yes. DeployOpen plans, implements, integrates, hardens, backs up and documents self-hosted platforms in your own infrastructure, and most engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts. DeployOpen does not publish a price list, so the quote follows from the written scope. Ask for the scope to list each channel, the migration of conversations and contacts, the server sizing tier, backup and monitoring setup, handover documentation, and any ongoing support retainer as a separate line item.

How DeployOpen works on this

DeployOpen plans, implements, customizes, integrates, hardens, backs up, upgrades, documents and supports self-hosted open-source platforms inside your own cloud accounts, data centers or air-gapped networks. For a messaging replacement, that means a written scope covering channels, routing, bots and data location before any build work starts.

How we scope

  • Inventory every website chat, email, WhatsApp, Facebook, Instagram, Telegram and SMS channel currently routed through Zendesk messaging.
  • Document which conversations stay in the messaging inbox and which move to Zammad when email ticketing remains separate.
  • Agree in writing how bots, auto-assignment, business hours and escalation rules map to Chatwoot automation and teams.

How we build

  • Deploy Chatwoot with PostgreSQL, Redis and the sizing recommended for your expected daily conversation volume.
  • Connect each channel to its provider accounts, configure the website widget, and set up the Zammad integration where it applies.
  • Test routing, canned responses, CSAT surveys and reports end to end before any traffic moves to the new inbox.

How we hand over

  • Provide documentation covering architecture, channel configuration, backup procedures, and the admin steps your team runs.
  • Run a planned cutover with agents trained on the new inbox, with the Zendesk export and rollback steps recorded beforehand.
  • Hand over credentials, runbooks and evidence for your own compliance assessments, which independent auditors will review.

How we support

  • Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.
  • Ongoing support, upgrades and continuous testing are available as a retainer, including tracking Chatwoot releases.
  • Ask for a written quote based on your scope, which is the basis for any pricing discussion.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.