Case study · Chat & Support
A WhatsApp support agent that answers from your own policies and hands hard cases to a person
It answers customers from the business's knowledge base, scores its own confidence, and passes refunds, complaints and anything it does not know to a person on Slack with the full context.
The problem
Small businesses get the same WhatsApp questions all day: shipping times, return policy, delivery costs. Answering them by hand takes hours, and messages that arrive after closing wait until morning.
The usual fix is a basic chatbot. It either shows canned menu buttons or makes things up. Both lose customers. A wrong answer about a refund is worse than no answer.
How it works
The agent has two parts. The first loads the store's policies into a knowledge base. The second handles each incoming message.

Loading the knowledge base
One manual step loads the shipping and returns rules, turns them into embeddings so they can be searched by meaning, and stores them. When a policy changes, we run it again. No code changes.
Handling a message
A customer texts the WhatsApp number. The agent searches the knowledge base for the right policy and writes a reply. With the reply it returns a confidence level and a yes or no on whether a person is needed.
If it is confident and the question is routine, it replies at once and logs the conversation. If not, it posts an alert to Slack with the customer's number, the confidence level and a draft reply, and tells the customer a person will follow up.

A routine question
A customer asked how much express shipping costs. The agent searched the knowledge base and replied that express shipping costs $15 and arrives in 1 to 2 business days, and that orders over $50 ship free. Confidence was high and no person was needed. The numbers came from the store's policy, not from the model.

A refund request
A customer wrote that their order arrived broken and they wanted a refund. The agent treated it as a dispute it should not handle on its own. Confidence was low and it flagged the message for a person. It posted the alert to Slack and told the customer someone would get back to them shortly.


Every exchange is written to a Google Sheet.

What a person still handles
- Refunds, complaints and disputes. The agent drafts a reply, a person decides.
- Anything the knowledge base does not cover. The agent says so instead of guessing.
- Keeping the policies current. When a rule changes, someone updates the documents and reloads them.
Built with
- n8n
- OpenAI
- RAG
- Twilio
- Slack
- Google Sheets
n8n for the automation, OpenAI GPT-4o-mini for the agent, a vector store for the knowledge base, Twilio for WhatsApp, Slack for the handoff and Google Sheets for the log. This build keeps the knowledge base in memory. For a live deployment we would move it to a persistent vector database such as Pinecone or Supabase, so it survives restarts and can hold a full catalog. The rest stays the same.
Your build starts with the arithmetic.
Bring a week of real examples to the free audit. We come back with the three worth doing first, what each is worth, and a fixed price. If a cheaper tool already covers it, we say so.
Book the free audit →