Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

How I stopped my n8n WhatsApp bot from inventing prices (the "LLM picks an ID" pattern)

Description and use

The n8n WhatsApp bot no longer invents prices: the LLM selects only FAQ IDs, and answers are sent from a pre‑prepared table.

Problem

An AI WhatsApp bot that directly outputs LLM responses can invent prices, warranties, or opening hours that do not exist, leading to misinformation for small businesses.

Outcome

The bot now never invents prices; the worst case is a human answering, ensuring accurate information.

Workflow

  • 1. Store FAQ in a table (Google Sheet or CSV) with columns id, question, keywords, answer.
  • 2. On customer message, perform keyword scoring against FAQ; if a match is found, reply with the stored answer.
  • 3. If no keyword match, send the question plus the list of FAQ ids and questions to the LLM and request only one id or null.
  • 4. Validate the LLM response; if it is not an exact known id, treat as unknown.
  • 5. If a valid id is returned, reply with the stored answer word‑for‑word.
  • 6. If unknown, null, free text, or an API error occurs, hand off to a human: send a “staff member will reply” message to the customer, alert the owner via WhatsApp, and keep the bot silent until a human resumes the chat.

Evidence

Most "AI WhatsApp bot" tutorials hand the customer's message to an LLM and send back whatever it writes. That works great in a demo and terribly for a real small business: the model will happily quote a price, a warranty, or an opening hour that does not exist.

Source

I built a WhatsApp FAQ bot for small service businesses (the sample data is an aircon‑servicing company) and made one rule: the LLM never writes the reply.

Source

Only when nothing matches, send the question plus the list of FAQ ids and questions to the LLM, and ask for one id or null, nothing else.

Source

Validate: if the response is not exactly a known id, treat it as "unknown".

Source

Send the stored answer for that id, word for word.

Source

The result: the worst case is "a human answers", never "the bot made up a price".

Source

  • Record date: 2026-10-25T14:41:09.419Z