Skip to main content

Chatwoot vs Zammad 2026: Customer Support Pick

·OSSAlt Team
chatwootzammadcustomer-supporthelpdeskcomparison
Share:

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

FeatureChatwootZammad
LicenseMITAGPL-3.0
Stars22K+4K+
FocusOmnichannel engagementEmail helpdesk
Live chat widget
WhatsApp
Facebook/Instagram✅ Facebook
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

SolutionAnnual 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.

The SaaS-to-Self-Hosted Migration Guide (Free PDF)

Step-by-step: infrastructure setup, data migration, backups, and security for 15+ common SaaS replacements. Used by 300+ developers.

Join 300+ self-hosters. Unsubscribe in one click.