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
- ChatWoot Official Site
- The ChatWoot Code at Github
- License: MIT 鉂わ笍
The base branch is develop. If you are looking for a stable version, please use the master or tags labelled as v1.x.x.
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.
-
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.
-
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.
-
Automation: Chatwoot provides automation features such as chatbots and canned responses to streamline customer interactions and provide timely responses.
-
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.
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 https://get.docker.com -o get-docker.sh
sh get-docker.sh && docker version
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 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'
services:
base: &base
image: chatwoot/chatwoot:latest
env_file: .env ## Change this file for customized env variables
volumes:
- /data/storage:/app/storage
networks: #ADD THIS
- chatwoot_network
rails:
<<: *base
depends_on:
- postgres
- redis
ports:
- '127.0.0.1:3000:3000'
environment:
- NODE_ENV=production
- RAILS_ENV=production
- INSTALLATION_ENV=docker
entrypoint: docker/entrypoints/rails.sh
command: ['bundle', 'exec', 'rails', 's', '-p', '3000', '-b', '0.0.0.0']
networks: #ADD THIS
- chatwoot_network
- cloudflare_tunnel
sidekiq:
<<: *base
depends_on:
- postgres
- redis
environment:
- NODE_ENV=production
- RAILS_ENV=production
- INSTALLATION_ENV=docker
command: ['bundle', 'exec', 'sidekiq', '-C', 'config/sidekiq.yml']
networks: #ADD THIS
- chatwoot_network
postgres:
image: postgres:12
restart: always
ports:
- '127.0.0.1:5432:5432'
volumes:
- /data/postgres:/var/lib/postgresql/data
environment:
- POSTGRES_DB=chatwoot
- POSTGRES_USER=postgres
# Please provide your own password.
- POSTGRES_PASSWORD=tecomeco
networks: #ADD THIS
- chatwoot_network
redis:
image: redis:alpine
restart: always
command: ["sh", "-c", "redis-server --requirepass \"$REDIS_PASSWORD\""]
env_file: .env
volumes:
- /data/redis:/data
ports:
- '127.0.0.1:6379:6379'
networks: #ADD THIS
- chatwoot_network
networks: #ADD THIS
chatwoot_network:
cloudflare_tunnel:
external: true
ChatWoot with AI
- Use it together with Flowise AI
- Use it together with Ollama
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.
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
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
CRM’s
Some Open Sourced CRM’s you can Self-Host 馃憟
- SuiteCRM
- Odoo
- ESPOCRM
ERP’s
AI
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
- https://docs.khoj.dev/get-started/setup -
- You can also index Github Repositories!
- Open Assistant - OpenAssistant is a chat-based assistant that understands tasks, can interact with third-party systems, and retrieve information dynamically to do so.
- ChatWoot Official Sitehttps://www.youtube.com/watch?v=gqtmUHhaplo
- Copilot Kit
- Botpress
How to Embed ChatWoot to a Website
Chatwoot + Astro 馃憟
- https://www.chatwoot.com/docs/product/channels/live-chat/create-website-channel
- Then, copy the Configuration Messenger script (adapt the :3000 or the one you chose port, if needed)
- Find base-layout.astro - Include it before
- Then, copy the Configuration Messenger script (adapt the :3000 or the one you chose port, if needed)