Chatwoot vs Zammad 2026: Customer Support Pick
Chatwoot vs Zammad in 2026: Open Source Customer Support Platforms
TL;DR
Both Chatwoot and Zammad are open source Zendesk/Intercom alternatives you can self-host. The fundamental difference is their design philosophy: Chatwoot is an omnichannel engagement platform — live chat widget, WhatsApp, Facebook, Instagram, Twitter, SMS, and email in a unified inbox, designed to feel like Intercom. Zammad is a traditional helpdesk — email-first ticket management with powerful automation rules, SLAs, and agent workflows, designed to replace Zendesk or OTRS. Choose based on where your customers contact you.
Key Takeaways
- Chatwoot (MIT, 22K+ stars) unifies customer conversations from live chat, WhatsApp, social media, and email into one inbox — the modern Intercom replacement
- Zammad (AGPL-3.0, 4K+ stars) is email and ticket-focused — powerful automation triggers, macros, time tracking, and LDAP/SAML for enterprise environments
- Zendesk Suite Professional costs $115/agent/month — a 5-agent team pays $6,900/year
- Intercom starts at $29/seat/month for basic features, but the full platform costs $131+/seat/month
- Chatwoot has bot/AI integrations (Dialogflow, Rasa, OpenAI) for automated first responses
- Zammad has native phone/CTI integration and time tracking per ticket
The Customer Support Tooling Problem
Customer support tooling is expensive. Zendesk, Intercom, and Freshdesk charge per agent with no volume discounts at the smaller scale. A 5-person support team using Zendesk Suite costs $6,900/year. At that scale, many companies are paying more for the support tool than for the support agent's entire software stack.
Self-hosted alternatives eliminate per-agent licensing. You pay for a server ($20–40/month for modest support volumes) regardless of how many agents use the system.
The more important question is which tool fits your customer communication patterns.
Chatwoot — Modern Omnichannel Engagement
Chatwoot was built to unify all the places customers try to reach you into one interface. The product's thesis: customers contact businesses on WhatsApp, Instagram DMs, Twitter, website chat, and email — your agents shouldn't switch between five apps to respond.
# Chatwoot Docker Compose
services:
chatwoot:
image: chatwoot/chatwoot:latest
restart: always
ports:
- "3000:3000"
environment:
- NODE_ENV=production
- RAILS_ENV=production
- SECRET_KEY_BASE=your-64-char-secret
- FRONTEND_URL=https://support.yourdomain.com
- DEFAULT_LOCALE=en
- FORCE_SSL=true
- ENABLE_ACCOUNT_SIGNUP=false
- REDIS_URL=redis://redis:6379
- DATABASE_URL=postgres://chatwoot:password@postgres:5432/chatwoot
# SMTP
- SMTP_ADDRESS=smtp.yourdomain.com
- SMTP_PORT=587
- SMTP_USERNAME=support@yourdomain.com
- SMTP_PASSWORD=smtp-password
- MAILER_SENDER_EMAIL=Chatwoot <support@yourdomain.com>
depends_on:
- postgres
- redis
chatwoot_worker:
image: chatwoot/chatwoot:latest
restart: always
command: bundle exec sidekiq -C config/sidekiq.yml
environment:
# Same environment as chatwoot
- SECRET_KEY_BASE=your-64-char-secret
- REDIS_URL=redis://redis:6379
- DATABASE_URL=postgres://chatwoot:password@postgres:5432/chatwoot
depends_on:
- postgres
- redis
postgres:
image: postgres:15-alpine
environment:
POSTGRES_DB: chatwoot
POSTGRES_USER: chatwoot
POSTGRES_PASSWORD: password
volumes:
- chatwoot_db:/var/lib/postgresql/data
redis:
image: redis:7-alpine
volumes:
chatwoot_db:
Channel integrations cover all the platforms customers use:
- Live chat widget: JavaScript snippet embeds a chat widget on your website or app
- WhatsApp: Connect via WhatsApp Business API (requires Meta Business verification)
- Facebook Messenger: Connect your Facebook Page inbox
- Instagram: Reply to Instagram DMs and comments
- Twitter: Monitor and respond to DMs and mentions
- SMS: Integrate via Twilio, Vonage, or Bandwidth
- Email: IMAP/SMTP for inbound email tickets
Every conversation from every channel lands in the same Chatwoot inbox. Agents see a unified conversation timeline with full context.
AI-powered responses integrate with dialog platforms:
- OpenAI: Use GPT-4 to suggest responses based on conversation context
- Dialogflow: Google's NLP for intent detection and automated responses
- Rasa: Open source conversational AI for custom bots
- Custom webhooks: Connect any API-based AI service
For high-volume support teams, AI-suggested responses reduce average handle time significantly.
CSAT surveys measure customer satisfaction automatically. After a conversation is resolved, Chatwoot sends a survey link (1-click rating) and records responses in the analytics dashboard.
Automation rules handle common workflows:
- "Assign all conversations from channel X to team Y"
- "Add label 'urgent' when message contains 'broken' or 'emergency'"
- "Escalate conversations open for more than 24 hours"
// Chatwoot API — create a conversation programmatically
const response = await fetch('https://support.yourdomain.com/api/v1/accounts/1/conversations', {
method: 'POST',
headers: {
'api_access_token': 'your-agent-api-key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
inbox_id: 3, // Which inbox to create the conversation in
contact_id: 456,
additional_attributes: {
mail_subject: 'Billing issue with Pro plan',
},
}),
});
Key features:
- Omnichannel inbox (chat, WhatsApp, Facebook, Instagram, Twitter, SMS, email)
- Live chat widget with customization
- AI response suggestions (OpenAI, Dialogflow, Rasa)
- CSAT customer satisfaction surveys
- Automation rules
- Canned responses (pre-written reply templates)
- Agent assignment and team management
- Conversation labels and filters
- Knowledge base (help center)
- Mobile apps (iOS, Android) for agents
- REST API and webhooks
- MIT license, 22K+ stars
Limitations:
- Email ticketing less powerful than Zammad (no macros, simpler triggers)
- No native phone/CTI integration
- No time tracking per ticket
- No LDAP/AD authentication
Zammad — The Enterprise Helpdesk
Zammad is a full helpdesk platform — email-first, with sophisticated ticket management workflows, SLA enforcement, time tracking, and enterprise authentication. If your support workflow is primarily email-based with complex routing and compliance requirements, Zammad is the more appropriate tool.
# Zammad Docker Compose (simplified)
services:
zammad-postgresql:
image: postgres:15-alpine
restart: always
environment:
POSTGRES_DB: zammad
POSTGRES_USER: zammad
POSTGRES_PASSWORD: password
volumes:
- zammad_db:/var/lib/postgresql/data
zammad-elasticsearch:
image: bitnami/elasticsearch:8.6.2
environment:
- discovery.type=single-node
- ES_JAVA_OPTS=-Xms512m -Xmx512m
volumes:
- zammad_es:/bitnami/elasticsearch/data
zammad-memcached:
image: memcached:1.6-alpine
zammad-railsserver:
image: zammad/zammad-docker-compose:latest
restart: always
ports:
- "8080:8080"
command: ["zammad-railsserver"]
environment:
POSTGRESQL_HOST: zammad-postgresql
POSTGRESQL_PASS: password
ELASTICSEARCH_HOST: zammad-elasticsearch
MEMCACHE_SERVERS: zammad-memcached
volumes:
- zammad_data:/opt/zammad/storage
zammad-websocket:
image: zammad/zammad-docker-compose:latest
command: ["zammad-websocket"]
depends_on:
- zammad-railsserver
zammad-worker:
image: zammad/zammad-docker-compose:latest
command: ["zammad-worker"]
depends_on:
- zammad-railsserver
volumes:
zammad_db:
zammad_es:
zammad_data:
Trigger-based automation is where Zammad shines over Chatwoot. Triggers are if-then rules that execute on ticket creation, update, or time conditions:
- "If ticket has no response for 24 hours → send escalation email to manager"
- "If ticket title contains 'URGENT' → set priority to High and assign to on-call team"
- "If customer is from VIP segment → assign to dedicated account manager queue"
Macros combine multiple actions into a single one-click operation:
- "Mark resolved + send 'thank you' email + close ticket + apply tag 'resolved'"
This saves seconds per ticket and ensures consistent closing procedures.
Time accounting tracks how many minutes each agent spends per ticket. Export time reports for client billing, team productivity analysis, or SLA compliance documentation.
SLA management defines response time commitments per ticket priority:
- High priority: First response within 2 hours, resolution within 8 hours
- Medium: First response within 8 hours, resolution within 3 days
- Low: First response within 24 hours
Zammad shows SLA breach countdown timers on each ticket and sends escalation notifications before breaches occur.
Phone/CTI integration connects to SIP systems and PSTN providers. When a customer calls, the caller ID lookup pulls up their ticket history automatically. Agents can create tickets from calls and attach call recordings.
Key features:
- Email-first ticket management
- Trigger-based automation (conditions + actions)
- Macros (one-click multi-action sequences)
- Time accounting per ticket
- SLA management with escalation
- Phone/CTI integration
- Knowledge base (FAQ articles)
- Customer portal (customers view own tickets)
- LDAP/Active Directory authentication
- SAML SSO (Okta, Azure AD)
- REST and GraphQL APIs
- Chat (built-in, simpler than Chatwoot)
- AGPL-3.0 license, 4K+ stars
Side-by-Side Comparison
| Feature | Chatwoot | Zammad |
|---|---|---|
| License | MIT | AGPL-3.0 |
| Stars | 22K+ | 4K+ |
| Focus | Omnichannel engagement | Email helpdesk |
| Live chat widget | ✅ | ❌ |
| ✅ | ❌ | |
| Facebook/Instagram | ✅ | |
| Email tickets | ✅ | ✅ (more powerful) |
| AI response suggestions | ✅ | ❌ |
| CSAT surveys | ✅ | ❌ |
| Trigger automation | ✅ Basic | ✅ Advanced |
| Macros | ❌ | ✅ |
| Time tracking | ❌ | ✅ |
| SLA management | ✅ | ✅ |
| Phone/CTI | ❌ | ✅ |
| LDAP/SAML | ❌ | ✅ |
| Knowledge base | ✅ | ✅ |
| Mobile agent app | ✅ | ❌ |
Decision Framework
Choose Chatwoot if:
- Your customers reach you primarily through chat, WhatsApp, or social media
- You want a modern Intercom-like experience for your agents
- AI-assisted responses are part of your support strategy
- Mobile agent apps are needed (agents respond from phones)
- CSAT measurement is a key metric
- You're replacing Intercom or Freshchat
Choose Zammad if:
- Email is your primary support channel with complex routing needs
- Macro workflows reduce agent effort on repetitive closing procedures
- Time tracking per ticket supports client billing or payroll
- SLA enforcement with escalation is a contractual requirement
- LDAP/AD for corporate authentication is mandatory
- Phone/CTI integration connects support with voice calls
- You're replacing Zendesk, OTRS, or a traditional helpdesk
Cost Comparison
| Solution | Annual Cost (5 agents) |
|---|---|
| Zendesk Suite Pro | $6,900/year |
| Intercom Essential | $8,700/year |
| Freshdesk Growth | $2,700/year |
| Chatwoot self-hosted | $60–120/year |
| Zammad self-hosted | $120–240/year (larger stack) |
Related: Best Open Source Customer Support Tools 2026 · How to Migrate from Intercom to Chatwoot · Best Open Source Zendesk Alternatives
See open source alternatives to Chatwoot on OSSAlt.