Signal Collective
Hong Kong Book a call
Signal Collective The Library Support
We find where your growth is · Then we build it

Support · Tickets triaged, replies drafted, the recurring ones found. · a tool

Every customer conversation in one inbox you run yourself

The open-source project chatwoot, by chatwoot

“Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc” — the project's own words, on GitHub

What it does
You get one inbox for every place a customer can reach you: the chat bubble on your website, your support email, WhatsApp, Instagram, Facebook, Telegram and SMS, all landing in the same queue so nothing sits unread in an app nobody checks. Your team can leave private notes on a conversation, tag it, save canned answers to the questions that keep coming back, and route new chats to whoever is free. It also publishes a help centre so customers can find answers themselves. It runs on a server you control, so your customer conversations and contact history stay on your own machine rather than a vendor's.
Replaces
a per-agent support desk subscription
For
A founder whose customer questions arrive through five different apps and who wants them, and the history behind them, in one place the whole team can see.
Not for
Not for someone with a handful of emails a week and no server to put it on, it needs a Linux machine with at least 4GB of RAM running a web app, a database, a cache and a background worker, which is a lot of plumbing for a small inbox.
Setup
45 min · Claude Code, Kimi, Gemini CLI or Codex · docker, docker compose, a Linux server with at least 4GB of RAM, a domain pointed at that server if your team will reach it from outside
Tickets, all at once Sorted by kind Drafts, and one for you how do I a bug a refund to a person

Get it running

Paste this into the AI that runs on your computer. It does the install, checks it works, and tells you what to type first. If anything fails, paste the error back to it.

Paste into Claude Code
Install chatwoot (https://github.com/chatwoot/chatwoot) on this computer and get it working for me. I am not a developer; explain each step in one line as you go and never skip one. You are Claude Code, running on my machine.

1. Check what this machine already has (git, Python or Node as the project needs, Docker if the README says so). Tell me anything missing and install it, asking me before anything that needs my password.
2. Download .env.example as .env and docker-compose.production.yaml as docker-compose.yaml from the repo into ~/tools/chatwoot, as the Docker deployment guide describes, and change the image tag from latest to latest-ce so only the community edition is installed.
3. Configure it. If it needs an API key or a login, stop and ask me for it; never guess one and never store it anywhere except where the README says.
   Tool-specific notes: Install only the community edition: use the chatwoot/chatwoot:latest-ce image tag in docker-compose.yaml, and never enable an enterprise-only feature or enter a licence key; the enterprise folder of the repo is under its own terms, everything else is MIT.
In .env set SECRET_KEY_BASE to a long random alphanumeric string, FRONTEND_URL to the address people will actually use, and real values for POSTGRES_PASSWORD and REDIS_PASSWORD; the Postgres password must be identical in .env and docker-compose.yaml, a mismatch is why the first start usually fails.
Prepare the database first with docker compose run --rm rails bundle exec rails db:chatwoot_prepare; running db:migrate instead errors on a fresh install.
Start it with docker compose up -d; it listens on port 3000 bound to 127.0.0.1 only, so smoke-test with curl -I localhost:3000/api and expect a 200.
Fill in the SMTP_* values in .env so it can send its own email; the template's defaults point at a development mail catcher on port 1025 and will not deliver anything.
To reach it from another machine put a reverse proxy with HTTPS in front rather than exposing port 3000, and run the db:chatwoot_prepare command again after every image update.
4. Run the smallest test the README gives, and show me the output.
5. When it works, tell me what to type first, in one line, for this job: Put the chat bubble on your site.
If anything fails, show me the exact error and fix it before going on.

What to point it at first

1

Put the chat bubble on your site

Create a Website inbox, paste its widget snippet onto one page of your site, then message yourself from another browser and watch it land in the inbox with the visitor's page and details attached.

2

Connect your support email

Add your support address as an email inbox and answer one real test message from inside the tool, then check the reply arrives in the customer's mailbox from the right address with the thread intact, that is what a good day looks like.

3

Save the five answers you keep typing

Turn your five most repeated replies into canned responses and use each once on a real conversation, reading the sent version before the team leans on them, so a stale detail or a wrong link is caught by you, not a customer.

What it must never do unattended

  • It drafts. It never replies to a customer.
  • Anything about money, a refund or a legal word goes to a person.
  • Never enable an enterprise-only feature or enter a licence key. Install the community edition only; everything under the repo's enterprise folder is under separate terms, the rest is MIT.
  • Never drop the 127.0.0.1 binding to open port 3000 to the internet; put a reverse proxy with HTTPS in front.

Who made it

chatwoot/chatwoot on GitHub, under the MIT licence. GitHub lists the licence as unspecified because the repo's enterprise folder carries its own terms; the LICENSE file puts everything outside that folder under MIT, and the brief installs only that community edition. 36,679 stars, checked 11 September 2026. Last change 10 September 2026. We did not write it; we checked it, and wrote this page so you can use it.

Also in Support

What's in the library is how we work.

If you're launching or growing a brand across Asia and the West, a call is where we work out whether it's a fit.