Self-Host Chatwoot: Open Source Omnichannel Customer Engagement Platform

cover

What is Chatwoot?

Chatwoot is a powerful, open-source customer engagement and support platform that unifies conversations across multiple channels into a single dashboard. This self-hosted alternative to Zendesk, Intercom, and Freshchat provides businesses with complete control over customer data while offering enterprise-level features for team collaboration, automation, and multichannel communication. Perfect for companies prioritizing data privacy and customization flexibility.

Key Features of Chatwoot Platform

💬 Omnichannel Communication

  • Website Live Chat: Customizable chat widgets with real-time visitor engagement and SDK integration
  • Social Media Management: Unified inbox for Facebook Messenger, Instagram DMs, Twitter mentions, and WhatsApp Business
  • Email Integration: Complete email inbox management with conversation threading
  • Messaging Platforms: Native support for Telegram, LINE, and SMS via Twilio integration
  • Custom Channels: API-based integrations for proprietary communication systems

👥 Advanced Team Collaboration

  • Unified Inbox: Single dashboard for all customer conversations across channels
  • Smart Assignment: Automatic ticket routing based on agent skills and availability
  • Internal Communication: Team @mentions, private notes, and internal chat system
  • Canned Responses: Pre-built response templates for faster customer service
  • Conversation Labels: Categorization and prioritization with custom labels and tags

🚀 Customer Relationship Management

  • Centralized Contacts: Complete customer database with interaction history
  • Custom Attributes: Flexible customer profiling with custom fields and properties
  • Conversation Context: Full conversation history across all channels for each contact
  • Multi-Brand Support: Separate inboxes and branding for different business units
  • Contact Segmentation: Advanced filtering and grouping for targeted communication

🔧 Automation & Integration

  • Workflow Automation: Trigger-based actions for common support scenarios
  • Bot Integration: AI chatbot support for initial customer interactions
  • Webhook Support: Real-time data sync with external systems and CRMs
  • REST API: Complete programmatic access for custom integrations
  • Slack Integration: Notify teams and manage conversations from Slack channels

Why Choose Chatwoot Over Commercial Alternatives?

Chatwoot vs Zendesk ($19-149/agent/month)

FeatureChatwoot (Self-Hosted)Zendesk
Monthly CostFree & Open Source$19-149/agent/month
Data Privacy✅ Complete Control❌ Cloud Dependency
Customization✅ Full Source Access❌ Limited Options
Channel Support✅ All Major Channels❌ Limited by Plan
Team Size✅ Unlimited Agents❌ Per-Agent Pricing
API Access✅ Full REST API❌ Limited by Plan

Chatwoot vs Intercom ($74-395/month)

  • Cost Scaling: Free unlimited usage vs exponential pricing increases
  • Data Ownership: Self-hosted control vs vendor lock-in with proprietary data
  • Customization: Open-source flexibility vs platform limitations
  • Channel Integration: Native omnichannel vs expensive add-ons

Chatwoot vs Freshchat ($15-79/agent/month)

  • Pricing Model: One-time setup vs recurring per-agent subscriptions
  • Feature Access: All features included vs tiered plan restrictions
  • Integration Freedom: Custom API development vs marketplace dependencies
  • Privacy Compliance: GDPR/CCPA ready vs third-party data processing

Quick Deployment Options

Perfect for businesses wanting managed hosting with automatic scaling.

Deploy to Zeabur

Deployment Benefits:

  • Zero Configuration: Automated PostgreSQL and Redis setup with optimal settings
  • Instant Scaling: Auto-scaling based on conversation volume and team size
  • Enterprise Security: SSL certificates, backups, and monitoring included
  • Team Collaboration: Multi-environment support for staging and production

Option 2: Docker Compose Self-Hosting

Ideal for organizations with existing infrastructure and specific compliance requirements.

# Clone Chatwoot repository
git clone https://github.com/chatwoot/chatwoot.git
cd chatwoot

# Set up environment configuration
cp .env.example .env
# Configure database, Redis, and email settings

# Deploy with Docker Compose
docker-compose up -d

Production Docker Configuration:

version: '3.8'
services:
  chatwoot:
    image: chatwoot/chatwoot:latest
    ports:
      - "3000:3000"
    environment:
      - DATABASE_URL=postgresql://chatwoot:password@postgres:5432/chatwoot
      - REDIS_URL=redis://redis:6379
      - SECRET_KEY_BASE=your_secret_key
      - FRONTEND_URL=https://your-domain.com
    depends_on:
      - postgres
      - redis
    volumes:
      - chatwoot_storage:/app/storage

  postgres:
    image: postgres:15
    environment:
      - POSTGRES_USER=chatwoot
      - POSTGRES_PASSWORD=secure_password
      - POSTGRES_DB=chatwoot
    volumes:
      - postgres_data:/var/lib/postgresql/data

  redis:
    image: redis:7
    volumes:
      - redis_data:/data

  sidekiq:
    image: chatwoot/chatwoot:latest
    command: bundle exec sidekiq
    environment:
      - DATABASE_URL=postgresql://chatwoot:password@postgres:5432/chatwoot
      - REDIS_URL=redis://redis:6379
    depends_on:
      - postgres
      - redis

Option 3: Railway Deployment

Best for teams needing managed infrastructure with team collaboration features.

Deploy on Railway

Enterprise Features:

  • Managed Database: PostgreSQL and Redis with automatic backups and monitoring
  • Team Access: Multi-user dashboard with role-based permissions
  • Auto-Deployment: Git-based continuous deployment with staging environments
  • Monitoring: Built-in application performance monitoring and alerts

Getting Started with Chatwoot

Initial Setup Process

  1. Deploy Instance: Choose your preferred deployment method above
  2. Create Admin Account: Set up the first administrator with email and password
  3. Configure Inbox: Create your first inbox and configure website widget
  4. Add Team Members: Invite agents and administrators with appropriate roles
  5. Channel Integration: Connect social media accounts and communication channels

Essential Configuration Steps

  1. Website Widget: Install chat widget code on your website for live chat functionality
  2. Social Media: Connect Facebook, Instagram, Twitter, and WhatsApp Business accounts
  3. Email Setup: Configure SMTP settings for email notifications and inbox management
  4. Team Roles: Set up agent permissions, auto-assignment rules, and working hours
  5. Automation: Create canned responses, workflow automation, and chatbot integration

Advanced Integration Setup

  1. API Configuration: Generate API keys for custom integrations and third-party tools
  2. Webhook Setup: Configure real-time data sync with CRM and business intelligence tools
  3. Custom Attributes: Define customer properties for enhanced profiling and segmentation
  4. Multi-Brand: Set up separate inboxes for different business units or clients
  5. Reporting: Configure analytics and reporting for customer service KPIs

E-commerce Customer Support

  • Order Management: Handle order inquiries, returns, and shipping questions across channels
  • Product Support: Provide technical assistance and product recommendations via live chat
  • Sales Conversion: Convert website visitors into customers through proactive chat engagement
  • Multi-Platform: Manage customer inquiries from website, social media, and marketplaces

SaaS Customer Success

  • Onboarding Support: Guide new users through product setup and feature adoption
  • Technical Support: Resolve product issues and provide technical documentation
  • Feature Requests: Collect and manage customer feedback for product development
  • Subscription Management: Handle billing inquiries and account management requests

Professional Services

  • Client Communication: Manage client projects and deliverables through unified inbox
  • Consultation Booking: Schedule appointments and consultations via chat integration
  • Document Sharing: Share proposals, contracts, and project updates securely
  • Team Collaboration: Coordinate internal team responses for complex client requests

Healthcare & Education

  • Patient/Student Support: Provide information and schedule appointments via secure channels
  • Appointment Management: Handle booking, rescheduling, and reminder communications
  • Information Distribution: Share important updates and announcements across channels
  • Compliance: Maintain HIPAA/FERPA compliance with self-hosted data control

Advanced Features & Integrations

Automation & Workflows

// Custom automation rules
{
  "trigger": "conversation_created",
  "conditions": {
    "channel": "website",
    "contact_attributes": {"plan": "premium"}
  },
  "actions": [
    {"assign_agent": "premium_support_team"},
    {"add_label": "premium_customer"},
    {"send_message": "Thank you for contacting premium support!"}
  ]
}

API Integration Examples

# Create new contact via API
curl -X POST "https://your-chatwoot.com/api/v1/accounts/1/contacts" \
  -H "api_access_token: your-token" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "John Doe",
    "email": "john@example.com",
    "phone": "+1234567890",
    "custom_attributes": {
      "plan": "enterprise",
      "signup_date": "2024-01-15"
    }
  }'

# Send message to conversation
curl -X POST "https://your-chatwoot.com/api/v1/accounts/1/conversations/123/messages" \
  -H "api_access_token: your-token" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Thank you for your inquiry. Our team will respond shortly.",
    "message_type": "outgoing"
  }'

Widget Customization

<!-- Advanced website widget configuration -->
<script>
  window.chatwootSettings = {
    hideMessageBubble: false,
    position: 'right',
    locale: 'en',
    type: 'standard',
    launcherTitle: 'Chat with us',
    customAttributes: {
      userId: 'user123',
      accountType: 'premium',
      signupDate: '2024-01-15'
    }
  };
</script>
<script src="https://your-chatwoot.com/packs/js/sdk.js"></script>

Chatwoot Community & Support

  • GitHub Repository: 20,000+ stars with active open-source development
  • Community Forum: Active Discord server and GitHub discussions for user support
  • Documentation: Comprehensive guides for setup, API, and best practices
  • Regular Updates: Bi-weekly releases with new features and security updates
  • Contributors: Growing community of developers and customer success professionals

Migration Guide

From Zendesk

  1. Export Data: Download ticket history, contacts, and configuration from Zendesk
  2. Import Contacts: Use Chatwoot's CSV import for customer database migration
  3. Channel Setup: Recreate communication channels and widget configurations
  4. Team Migration: Set up agent accounts with appropriate roles and permissions
  5. Workflow Recreation: Rebuild automation rules and canned responses in Chatwoot

From Intercom

  1. Data Export: Extract conversation history and customer data from Intercom
  2. Contact Import: Migrate customer profiles and custom attributes via API
  3. Widget Replacement: Update website chat widget code to Chatwoot
  4. Integration Setup: Reconnect social media and email integrations
  5. Team Training: Train agents on Chatwoot interface and workflow differences

Transform your customer support operations with Chatwoot - the open-source platform that delivers enterprise-level customer engagement without the enterprise costs or vendor lock-in.