Self-Host Chatwoot: Open Source Omnichannel Customer Engagement Platform
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)
Feature | Chatwoot (Self-Hosted) | Zendesk |
---|---|---|
Monthly Cost | Free & 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
Option 1: One-Click Zeabur Deploy (Recommended)
Perfect for businesses wanting managed hosting with automatic scaling.
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.
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
- Deploy Instance: Choose your preferred deployment method above
- Create Admin Account: Set up the first administrator with email and password
- Configure Inbox: Create your first inbox and configure website widget
- Add Team Members: Invite agents and administrators with appropriate roles
- Channel Integration: Connect social media accounts and communication channels
Essential Configuration Steps
- Website Widget: Install chat widget code on your website for live chat functionality
- Social Media: Connect Facebook, Instagram, Twitter, and WhatsApp Business accounts
- Email Setup: Configure SMTP settings for email notifications and inbox management
- Team Roles: Set up agent permissions, auto-assignment rules, and working hours
- Automation: Create canned responses, workflow automation, and chatbot integration
Advanced Integration Setup
- API Configuration: Generate API keys for custom integrations and third-party tools
- Webhook Setup: Configure real-time data sync with CRM and business intelligence tools
- Custom Attributes: Define customer properties for enhanced profiling and segmentation
- Multi-Brand: Set up separate inboxes for different business units or clients
- Reporting: Configure analytics and reporting for customer service KPIs
Popular Use Cases
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
- Export Data: Download ticket history, contacts, and configuration from Zendesk
- Import Contacts: Use Chatwoot's CSV import for customer database migration
- Channel Setup: Recreate communication channels and widget configurations
- Team Migration: Set up agent accounts with appropriate roles and permissions
- Workflow Recreation: Rebuild automation rules and canned responses in Chatwoot
From Intercom
- Data Export: Extract conversation history and customer data from Intercom
- Contact Import: Migrate customer profiles and custom attributes via API
- Widget Replacement: Update website chat widget code to Chatwoot
- Integration Setup: Reconnect social media and email integrations
- 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.