Chatwoot is an open-source customer engagement platform that provides businesses with tools for live chat, customer support, and messaging.

It allows businesses to communicate with their customers through various channels, including website chat, social media messaging, and email, all from a unified platform.

The ChatWoot Project

Why ChatWoot?

  • Unified Inbox:

    • Chatwoot offers a unified inbox where businesses can manage conversations from different channels in one place. This includes website chat, Facebook Messenger, Twitter Direct Messages, WhatsApp, and more. πŸ“¬
    • With the unified inbox, agents can efficiently handle customer queries without switching between multiple platforms, leading to improved productivity and customer satisfaction.
  • Live Chat:

    • Businesses can embed a live chat widget on their website, allowing visitors to initiate conversations in real-time. Agents can respond to these messages directly from the Chatwoot dashboard. πŸ’¬
    • The live chat feature enables businesses to provide immediate assistance to website visitors, resulting in higher engagement and conversion rates.
And not only…πŸ‘‡
  • Multi-channel Support:

    • Chatwoot supports multiple communication channels, enabling businesses to engage with customers wherever they are. This includes popular messaging platforms like Facebook Messenger, WhatsApp, Twitter, and SMS. πŸ“±
    • By leveraging multi-channel support, businesses can reach customers on their preferred platforms, enhancing accessibility and communication effectiveness.
  • Automation:

    • Chatwoot provides automation features such as chatbots and canned responses to streamline customer interactions and provide timely responses. πŸ€–
    • Automation helps businesses handle routine inquiries efficiently, freeing up agents’ time to focus on more complex customer issues and strategic tasks.
  • Integration:

    • Chatwoot can be integrated with other business tools and platforms, such as CRM systems, helpdesk software, and analytics tools, to create a seamless customer support workflow. πŸ”—
    • Integration with third-party tools allows businesses to centralize customer data and streamline processes, leading to enhanced collaboration and insights.

SelfHosting ChatWoot

ChatWoot with Docker

We will use the ChatWoot Docker Image.

Pre-Requisites - Get Docker πŸ‹

Important step and quite recommended for any SelfHosting Project - Get Docker Installed

It will be one command, this one, if you are in Linux:

apt-get update && sudo apt-get upgrade && curl -fsSL -o
sh && docker version

Just follow the following steps:

  • Download the following configurations files:
# Download the env file template
wget -O .env
# Download the Docker compose template
wget -O docker-compose.yaml
  • Adjust the .env file and docker-compose.yml - Add a Password for Postres and Redis
  • Execute the following commands to deploy locally.
#add redit and postg pass
docker compose run --rm rails bundle exec rails db:chatwoot_prepare
docker compose up -d

Now you will have ChatWoot available at: localhost:3000 - basically the port you picked in the .yaml

ChatWoot with Cloudflare Tunnels

If you want to expose Chatwoot safely to the internet - You can use Chatwoot together with Cloudflare Tunnels

Make sure to have Cloudflare Tunnel container running - Then just add this to the docker-compose.yml

Check how to expose ChatWoot with Cloudflare πŸ”₯
version: '3'

  base: &base
    image: chatwoot/chatwoot:latest
    env_file: .env ## Change this file for customized env variables
      - /data/storage:/app/storage
    networks: #ADD THIS
      - chatwoot_network

    <<: *base
      - postgres
      - redis
      - ''
      - NODE_ENV=production
      - RAILS_ENV=production
      - INSTALLATION_ENV=docker
    entrypoint: docker/entrypoints/
    command: ['bundle', 'exec', 'rails', 's', '-p', '3000', '-b', '']
    networks: #ADD THIS
      - chatwoot_network
      - cloudflare_tunnel

    <<: *base
      - postgres
      - redis
      - NODE_ENV=production
      - RAILS_ENV=production
      - INSTALLATION_ENV=docker
    command: ['bundle', 'exec', 'sidekiq', '-C', 'config/sidekiq.yml']
    networks: #ADD THIS
      - chatwoot_network

    image: postgres:12
    restart: always
      - ''
      - /data/postgres:/var/lib/postgresql/data
      - POSTGRES_DB=chatwoot
      - POSTGRES_USER=postgres
      # Please provide your own password.
      - POSTGRES_PASSWORD=tecomeco
    networks: #ADD THIS
      - chatwoot_network

    image: redis:alpine
    restart: always
    command: ["sh", "-c", "redis-server --requirepass \"$REDIS_PASSWORD\""]
    env_file: .env
      - /data/redis:/data
      - ''
    networks: #ADD THIS
      - chatwoot_network

networks: #ADD THIS
    external: true

ChatWoot with AI


How to Configure Cloudflare Tunnel with Docker

Check this guide if you are interested to know how to safely deploy services through Cloudflare Zero Trust Tunnels.

What is a Customer Engagement Platform?

  • Focuses on facilitating interactions and engagement with customers across various touchpoints, channels, and stages of the customer journey.
  • Provides tools for communication, support, and collaboration to enable businesses to interact with customers in real-time and nurture relationships.
  • Offers features such as live chat, social media messaging, email marketing, customer support ticketing, and omnichannel communication.
  • Aims to enhance customer satisfaction, retention, and loyalty by providing personalized and responsive interactions.
Similar, but not same as a CRM πŸ‘ˆ
  • Focuses on managing and organizing customer data, interactions, and relationships to improve sales, marketing, and customer service efforts.
  • Centralizes customer information, including contact details, communication history, purchase history, and preferences, in a unified database or platform.
  • Provides features for lead management, sales pipeline tracking, contact management, and customer segmentation.
  • Enables businesses to analyze customer data, track sales opportunities, forecast revenue, and automate sales and marketing processes.
  • Typically used by sales teams to manage customer interactions, track leads, and optimize sales efforts.

F/OSS Alternatives


  • Tiledesk - is an Open Source Live Chat platform with integrated Chatbots written in NodeJs and Express. Build your own customer support with a multi-channel platform for Web, Android and iOS.
  • Chasqkiq - A full featured Live Chat, Support & Marketing platform, alternative to Intercom, Drift, Crisp, etc from


Some Open Sourced CRM’s you can Self-Host πŸ‘ˆ
  • SuiteCRM
  • Odoo



Some AI that can be used together with Chatwoot.

  • EmbedChain
  • Khoj - Your AI second brain. A copilot to search and chat (using RAG) with your knowledge base (pdf, markdown, org). Use powerful, online (e.g gpt4) or private, offline (e.g mistral) LLMs. Self-host locally or have it always accessible on the cloud. Access from Obsidian, Emacs, Desktop app, Web or Whatsapp
  • Open Assistant - OpenAssistant is a chat-based assistant that understands tasks, can interact with third-party systems, and retrieve information dynamically to do so.
  • Copilot Kit
  • Botpress

How to Embed ChatWoot to a Website

Chatwoot + Astro πŸ‘ˆ