Build · Intermediate · A weekend
Build an AI customer support bot that answers from your own documents
An AI agent answers customers on your website, email or Telegram from your own help docs, and hands hard questions to a person.
Instead of paying for ChatGPT Plus, Intercom, Zapier or Make.
What you'll build
A support assistant that has read your manuals, policies and FAQs. Customers ask on your site's chat widget, by email or in Telegram; the AI answers from your documents and says when it doesn't know, and anything it can't handle lands in a shared inbox for a person. It is the job Intercom's Fin charges for per resolution, and the job the Grok + n8n support template does with a Google Doc. Here the documents, the model and the inbox all run on your own server.
Blueprint
AnythingLLM holds your documents and answers questions from them using Ollama. Chatwoot runs the website widget and the shared inbox; its webhooks send each new customer message to Activepieces, which asks AnythingLLM and posts the reply back or assigns the conversation to a person.
- You Your manuals, policies and FAQs AnythingLLM
- Chatwoot A new customer message (webhook) Activepieces
- Activepieces The question AnythingLLM
- AnythingLLM The question with matching passages Ollama
- Ollama A draft answer AnythingLLM
- AnythingLLM The answer and its sources Activepieces
- Activepieces The reply, or a hand-off to a person Chatwoot
The repos
- 01 · Answer from your docs AnythingLLM
All-in-one desktop or Docker app to chat with your documents using local or cloud LLMs, with agents and a built-in vector database.
- Setup
- Easy; desktop installer, or Docker for multi-user source
- Hardware
- Recommended 16GB RAM, 8-core CPU; GPU recommended on Windows; storage varies by model source
- Paid extras
- None required; local LLM, embedder and vector DB by default; cloud optional
- 02 · Run the model Ollama
Local model runner that downloads and serves open LLMs (Gemma, Qwen, DeepSeek, gpt-oss and more) with a CLI and local API.
- Setup
- Easy; one-line install script or installer, then ollama run source
- Hardware
- Apple M-series or x86 (CPU only) on Mac; 4GB for Windows binary; RAM not stated source
- Paid extras
- None for local use; Ollama Cloud plans optional (Pro $20/month)
- 03 · Inbox and chat widget Chatwoot
Self-hosted customer support inbox with website live chat, email and social channels, a help center and an optional AI agent (Captain).
- Setup
- Medium; install script on an Ubuntu server or Docker Compose, then set environment variables (mail, storage, domain) source
- Hardware
- Minimum 2 CPU cores, 4 GB RAM and 20 GB SSD; 4+ cores and 8 GB+ RAM recommended for production source
- Paid extras
- The core inbox is free to self-host; the Captain AI agent needs a paid Premium or Enterprise self-hosted licence and your own OpenAI key (an OpenAI-compatible endpoint for a self-hosted model is optional)
- 04 · Connect the steps Activepieces
Self-hostable no-code automation builder with 280+ TypeScript integrations ("pieces") that are also exposed as MCP servers.
- Setup
- Medium, install script or a single docker run with embedded database source
- Hardware
- Production sizing: app 1 vCPU / 1 GB per ten workers; each worker 0.5 vCPU / 1 GB; Postgres 2 vCPU / 4 GB; Redis 1 vCPU / 1 GB source
- Paid extras
- None required; enterprise licence and Activepieces Cloud are optional
Step by step
Install commands change, so each step links to the repo's own docs for the exact commands.
-
Load your documents into AnythingLLM
Install AnythingLLM, create a workspace for support and upload your help articles, policies and product manuals. Ask it twenty real customer questions and fix the documents where its answers are wrong or vague.
Uses AnythingLLM · its docs
-
Connect them with Activepieces
Add a webhook in Chatwoot that fires on new messages and points at an Activepieces flow. The flow sends the question to AnythingLLM's API, posts the answer back through Chatwoot's API, and assigns the conversation to a person when the answer says it can't help.
Uses Activepieces · its docs
-
Run it on last month's tickets first
Replay real questions and compare its answers with what your team sent. Only switch it on for customers once it is right most of the time and always hands off the rest.
Watch out
Test it on old tickets before it talks to customers, and always offer a human. Chatwoot's own AI agent, Captain, is not in the free Community Edition, which is why AnythingLLM answers here.
Take it further
- Add a Telegram channel in Chatwoot so the same bot answers there.
- Write new help articles from the questions the bot couldn't answer.
- Send a weekly summary of top questions to the team.
Questions
Can I use Grok instead of a local model?
Yes. AnythingLLM can use hosted model APIs as well as Ollama, so you can choose Grok through xAI's paid API. Customer messages are then sent to xAI.
Will it make things up?
It can. Tell it to answer only from your documents, show the source passages to your team, and keep a person on call for anything about money, refunds or safety.
Every repo here is open source, still maintained and checked against its own documentation. How we check →