Support assistant on a help centre
A customer asks on WhatsApp, the answer comes back from the shop's own help-centre articles with the article named, and anything about money or anger reaches a person.
What you'll have at the end
An n8n workflow that answers WhatsApp questions from six help-centre articles stored in Supabase, names the article it used, hands refunds, complaints and anything it cannot find to two team numbers, and writes one row per message into a support log.
What it proves
Accounts to create
What it costs: Free tiers everywhere, plus a few cents: the OpenAI key is only used to turn text into vectors, and Claude writes the answers.
Have this ready
- A made-up online shop you are answering for, in one line
- Your own phone, which plays the customer and one of the two team numbers
- A second phone number you can verify in Meta, for the other team member
How it fits together
- WhatsApp message: a customer asks in their own words
- n8n WhatsApp Trigger: one run per message
- help_docs in Supabase: the five closest chunks
- Claude: answer, source article, confidence
- Reply with the source: when it is sure and it is not about money
- Hand-over to the team: both numbers get the question
- support_log: one row per message, either way
The steps
1. A database that can hold meaning
A Supabase project with two tables: one that stores help-centre text next to its vector, and one that will hold every conversation. The search function you create here is what n8n will call later by name.
2. The articles become vectors
Six help-centre articles loaded into
help_docs, each one stored with its title, so an answer can always say which article it came from. This is the whole knowledge of the assistant.3. A question from WhatsApp finds its chunks
A second workflow that wakes on every WhatsApp message and turns the question into the five closest pieces of help-centre text. No model has written anything yet.
4. Claude answers, and only from those chunks
An answer that cannot contain a fact the articles do not hold, plus two signals that decide whether a person is needed: a confidence number and a flag the model raises by itself.
5. Two endings, one of them a person
The answer reaches the customer with the article named under it, or two people get the question with the customer's own words. Nothing is silently dropped.
6. Log every message and go live
One row per message whichever ending it took, and the workflow listening on its production URL so it keeps working after you close n8n. The log is what a business reads next month.