Most businesses end up with a fragmented support stack. Live chat on Intercom at $74/month per seat. Email through a separate helpdesk. WhatsApp handled by whoever checks the company phone. Social media DMs answered days late. No unified view of customer history, no way to hand conversations between agents.
Chatwoot is the open-source answer. A single omnichannel inbox that pulls in conversations from live chat, email, WhatsApp, Facebook Messenger, Instagram, Twitter/X, Telegram, Line, and SMS — all in one dashboard, self-hosted on your own infrastructure. The most-starred open-source customer support tool on GitHub, used by 15,000+ organizations, with a Captain AI agent for automating routine queries.
What Chatwoot is
Chatwoot is an open-source omnichannel customer engagement platform. Written in Ruby on Rails (backend) and Vue.js (frontend), backed by PostgreSQL and Redis. The latest stable release is v4.15.1 (June 2026). It has 34,500+ GitHub stars and 8,200+ forks — by a wide margin the most-starred open-source customer support tool.
The license is MIT for the core — nearly everything in a standard self-hosted deployment. A separate commercial license covers the enterprise/ directory, which adds SAML SSO, custom roles, advanced assignment, and audit logs. For most teams self-hosting, the MIT core covers everything needed.
Channels — the omnichannel inbox
Chatwoot centralizes conversations from:
- Website live chat — embeddable widget with customizable branding and pre-chat forms
- Email — connect any inbox via IMAP/SMTP, including Google Workspace and Microsoft 365
- WhatsApp — via WhatsApp Business API (Twilio, 360dialog)
- Facebook Messenger and Instagram DMs
- Twitter/X — mentions and DMs
- Telegram — via bot token
- Line — for Japan, Thailand, Taiwan
- SMS — via Twilio or other providers
- API channel — custom channels via the Channel API
Every incoming message from any channel lands in the shared inbox. Agents respond from within Chatwoot and the reply goes back through the original channel. No switching between apps.
Collaboration features
The shared inbox is where teams actually work. Key features:
Assignments and routing — conversations assigned to specific agents or teams. Auto-assignment rules route based on channel, label, or round-robin across available agents.
Labels — tag conversations (Bug, Billing, Urgent) for filtering, reporting, and automation triggers.
Private notes — internal comments visible only to agents. Use for escalation context without the customer seeing it.
@mentions — loop in a colleague via private note without reassigning the conversation.
Canned responses — predefined reply templates. Type / in the reply box to search and insert. Saves rewriting the same answers.
Contact management — CRM-style contact database with full conversation history. Shopify integration pulls in order data directly into the contact panel.
Captain — AI agent
Captain is Chatwoot's built-in AI agent, shipped as a first-class feature since v4.14.0. It handles conversations autonomously using a connected knowledge base, suggests replies for human agents, and summarizes conversation history. On self-hosted, you configure your own LLM endpoint — OpenAI API or any compatible endpoint including self-hosted Ollama. No customer data leaves your server to an AI provider you don't control.
Automation
Automation rules trigger actions based on conversation events and conditions:
- New conversation outside business hours → send offline message, snooze
- Conversation labeled "Billing" → assign to billing team
- Conversation open 24h with no reply → send follow-up
- Customer message contains "cancel" → assign to retention team
Help Center
Integrated knowledge base where you publish FAQs, guides, and docs. Has its own public URL, supports multiple portals (one per brand), and is the knowledge source Captain uses when answering customer questions. Better Help Center = better Captain responses.
Docker Compose deployment
The official self-hosted setup runs Rails + Sidekiq + PostgreSQL + Redis:
services:
chatwoot_base: &chatwoot_base
image: chatwoot/chatwoot:latest
env_file: .env
volumes:
- /data/storage:/app/storage
rails:
<<: *chatwoot_base
depends_on: [postgres, redis]
ports:
- "3000:3000"
command: bundle exec rails s -p 3000 -b 0.0.0.0
sidekiq:
<<: *chatwoot_base
depends_on: [postgres, redis]
command: bundle exec sidekiq -C config/sidekiq.yml
postgres:
image: postgres:16-alpine
environment:
POSTGRES_DB: chatwoot
POSTGRES_USER: chatwoot
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- ./postgres-data:/var/lib/postgresql/data
redis:
image: redis:alpine
volumes:
- ./redis-data:/dataKey .env variables: SECRET_KEY_BASE, POSTGRES_* credentials, REDIS_URL, FRONTEND_URL, and SMTP settings. Rails handles the web process; Sidekiq handles background jobs (email processing, webhook delivery, notifications). Put Traefik in front for HTTPS.
Minimum requirements: 2 CPU cores, 4GB RAM. Ruby on Rails and Sidekiq together need more memory than a Go binary — budget 8GB for production and consider a dedicated PostgreSQL instance under real load.
Chatwoot vs Intercom
Intercom is the polished, fully-managed market leader. Superior AI, mature integrations, slicker UX, full-time support. It also costs $74/seat/month — a 10-agent team pays $8,880/year before add-ons.
The case for Chatwoot: data ownership and cost. With Intercom, your customer conversations live on Intercom's servers under US jurisdiction. With Chatwoot self-hosted, they live on your infrastructure. For teams with GDPR or data residency requirements, this matters. For startups sensitive to their Intercom bill, the math is straightforward.
The honest gap: Intercom's product experience is better. The mobile apps are smoother, the integrations deeper, the AI more capable. If budget allows and data sovereignty isn't required, Intercom is legitimately the better product. Chatwoot wins when you want similar functionality under your own control.
Chatwoot vs Zendesk
Zendesk is the enterprise support platform — deep ticketing, SLA management, complex routing, ITSM capabilities. Overkill for most startups and SMBs. Chatwoot covers 80% of what Zendesk does for the most common use case: shared inbox, omnichannel, basic automation, reporting. For organizations paying Zendesk prices for what is essentially a shared inbox problem, Chatwoot is the clear alternative.
Who it's for
Good fit:
- Startups and SMBs who want omnichannel customer support without Intercom/Zendesk pricing
- Organizations with GDPR or data residency requirements where conversation data must stay on their infrastructure
- Companies communicating across multiple channels (live chat, WhatsApp, Instagram, email) who need a unified view
- Developer-led teams who want to extend the platform via API or customize the open-source codebase
Not the right fit:
- Teams needing formal ITSM workflows (incident management, change management, CMDB) — a dedicated ITSM tool is more appropriate
- Organizations without technical staff — Rails + PostgreSQL + Redis + Sidekiq is more complex to operate than a single binary
- Very high conversation volume without dedicated infrastructure ops capacity
My take
Chatwoot fills a genuine gap: the space between manually checking five inboxes and paying enterprise SaaS prices for an omnichannel platform. The 34,500+ stars and 15,000+ organization adoption tell a real story — this is production-quality software with an active community.
The Captain AI integration with self-hosted LLMs is the most interesting development. Chatwoot plus Ollama gives you AI-assisted customer support with zero data leaving your infrastructure — compelling for organizations that need AI-assisted support but have strict data handling requirements.
The operational overhead is real: Ruby on Rails needs more infrastructure than Go. But if you're already comfortable operating Rails, it's a non-issue. If your team is new to Ruby infrastructure, budget time to learn the deployment model before going to production.
PIPOLINE · DEVOPS CONSULTING
Need help deploying Chatwoot?
Setting up Chatwoot in production — Docker Compose, PostgreSQL, Redis, Sidekiq, Traefik for HTTPS, SMTP, connecting your channels, configuring automation rules, and wiring Captain AI to your LLM endpoint — takes experience to get right. I can handle the full setup and have your team handling customer conversations from a single inbox the same day.
Get in touch at pipoline.com →
Member discussion