Why support chatbots hallucinate
A general-purpose AI model answers from patterns in its training data. Asked "what's your refund policy?", it knows what refund policies usually say, and without anything better to go on, it will produce a plausible one. That's the root of most support hallucinations: the bot was asked something its sources don't cover, and nothing stopped it from filling the gap.
The second cause is bad source material: two articles that disagree, a policy stated without its exceptions, an outdated promotion still live. Here the bot isn't inventing anything β it's faithfully quoting something wrong.
1. Answer only from your own material
The single most important control is grounding: the chatbot retrieves from your connected help centre, docs and past tickets at the moment of the question, and answers from what it retrieved β not from general knowledge. If nothing relevant is retrieved, there should be no answer. This is also why an article edit fixes an answer immediately: there's no model to retrain.
2. Cite the source on every answer
Requiring a citation on every answer does two things. Customers can check the answer against the article it came from, and your team can trace any wrong answer to the exact article that caused it. An answer that can't point to a source is a warning sign in itself.
3. Let it say "I don't know"
Every answer should carry a confidence score, with a threshold below which the chatbot declines and hands off rather than answering anyway. This is the setting that separates an occasionally unhelpful bot from an occasionally wrong one β and a wrong answer about money costs more than the ticket it saved.
4. Be stricter where mistakes are expensive
One global threshold is too blunt. Set per-topic thresholds: strict for billing, refunds, contracts and anything with legal weight; looser for opening hours or how-to questions. For topics where judgment matters more than facts β cancellations, safety complaints, legal questions β use never-automate rules that send the conversation straight to a person regardless of confidence.
5. Hand off with the full context
When the bot stops, the handoff should carry the transcript, the customer record, what the bot already tried and why it escalated. If handoff is painful, teams are tempted to loosen thresholds to avoid it β which brings the hallucinations back. Customers who ask for a person should get one immediately.
6. Close the loop on what it couldn't answer
The questions your chatbot declined are a ranked list of what your knowledge base is missing. Review it weekly and write the missing articles; each recurring gap you close is one fewer place the bot could be tempted to guess. And clean up the source problems that cause faithful-but-wrong answers:
- Merge or delete duplicate articles that disagree on details.
- State conditions in the same sentence as the answer ("β¦unless you paid by bank transfer").
- Write troubleshooting articles as the working fix first, not a story of what was tried.
- Remove expired promotions and dated announcements from connected sources.
A quick test before you go live
Ask your chatbot five questions your docs deliberately don't answer β a policy you don't have, a feature you don't offer, a made-up discount code. A well-configured bot should decline all five and offer a person. If it answers any of them, tighten the threshold for that topic or check which source it cited.
