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.

SelfHosting ChatWoot

We are going to get ChatWoot working like so:

Chatwoot UI

ChatWoot with Docker

We will use the ChatWoot Docker Image.

Just follow the following steps:

  • Download the following configurations files:
# Download the env file template
wget -O .env https://raw.githubusercontent.com/chatwoot/chatwoot/develop/.env.example
# Download the Docker compose template
wget -O docker-compose.yaml https://raw.githubusercontent.com/chatwoot/chatwoot/develop/docker-compose.production.yaml
  • Adjust the .env file and docker-compose.yml
    • Add Passwords 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 - the port you picked in .yml

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

ChatWoot with AI


Conclusions

We have seen how to use Chatwoot with Docker (Officially supported for x86).

ChatWoot ARM64

If you want to SelfHost ChatWoot in a SBC like the raspberry, you will need the ARM64 IMAGE.


FAQ

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.

F/OSS Alternatives to ChatWoot

Open-source customer engagement. Automate transactional and marketing messages across email, SMS, mobile push, WhatsApp, Slack, and more 📨

CEP’s

  • 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 cience.com

AI

Some AI Tools 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