Support

Something need a human?

Support is by email. Oneop does not publish a response time — there is no SLA instrument behind one — so the fastest thing you can do is send a complete first message.

Email support@oneop.ioOpen your workspace

Worth including

  • The email you log in with
  • The URL of the screen it happened on
  • What you expected, and what happened instead

Goes somewhere else

Chatbots

A practical guide to grounding a chatbot in your KB

By The Oneop team7 min read

TL;DR

Grounding means the chatbot answers from retrieved passages of your knowledge base instead of the model's general training. Most of the work is unglamorous: KB articles that retrieve well (one question per article, answer first), deterministic flows for the top intents so the model is only called when needed, a synced retrieval index, and an honest 'I don't know' path that hands off to a human.

The difference between a chatbot that customers thank and one they screenshot for ridicule is not model quality. It is whether the bot is grounded — answering from your actual content — or freewheeling on the model’s general training. An ungrounded support bot will, sooner or later, invent a refund policy you do not have.

Grounding is achievable for any SMB. It is also mostly not AI work — it is content work and flow design. Here is the practical sequence, in the order we would do it.

What grounding actually is

A grounded bot answers in three steps: retrieve passages from your knowledge base relevant to the question, generate an answer constrained to those passages, and fall back when retrieval comes up empty. The pattern is usually called RAG — retrieval-augmented generation.

The insight that makes the rest of this guide practical: in that pipeline, retrieval does most of the work. If retrieval hands the model the right passage, almost any modern model phrases a fine answer. If retrieval hands it nothing, or the wrong thing, no model can save you — it will either refuse (good) or improvise (bad). So the leverage is in what gets retrieved, which means the leverage is in your content.

Step 1: Write a KB that retrieves well

Most knowledge bases were written for humans browsing categories, which makes them mediocre retrieval targets. Four rules fix that:

One question per article. A 2,000-word “Shipping, Returns & Warranty Guide” retrieves badly for every specific question inside it — the relevant three sentences are diluted by 1,900 other words. Split it: “How long does delivery take?”, “How do I return an item?”, “What does the warranty cover?” Narrow articles retrieve precisely.

Answer first, context after. Put the direct answer in the first two sentences and elaborate below. Both the retriever and the customer reward this. (You will notice it is how this blog is written; the incentive is identical.)

Use the customer’s words. Your customers type “track my order,” not “shipment status inquiry.” Retrieval matches language; write titles and openings in the vocabulary that actually arrives in chat. Your ticket history is a free corpus of exactly that vocabulary.

Delete what is no longer true. Retrieval has no concept of stale — a 2024 pricing article retrieves as confidently as today’s. An outdated KB does not degrade a grounded bot; it weaponizes it. Prune on a schedule.

In Oneop, knowledge sources per bot take three forms: KB articles, a website crawl, and manual Q&A pairs. Those curated Q&A pairs are underrated — for your twenty highest-volume questions, a hand-written pair is retrieval you control completely.

Step 2: Let flows answer before the model does

Here is the step most “just point AI at your docs” guides skip: a large share of support conversations should never reach the model at all.

“Where is my order?” does not need generation — it needs an order lookup. “I want to return this” needs a returns flow with an order number input. These are transactions, and a deterministic flow answers them with total reliability, zero hallucination risk, and zero model cost.

The architecture that works: flows first, model second. Build explicit flows for your top intents — in Oneop’s chatbot builder these are visual flows drawing on roughly 55 block types, including native actions like order lookup and tracking, stock checks, appointment booking, and creating a contact or ticket — and use the grounded model as the intelligent layer for everything the flows do not catch: the long tail of phrasing, the questions you did not predict, the KB lookups.

This ordering also changes your economics. Every model call in Oneop is metered (a chatbot reply is 1 credit); every flow-handled conversation costs zero credits. A well-designed bot gets cheaper as you convert its most common model-answered questions into flows.

Step 3: Design the “I don’t know” — the most important answer

An honest bot needs a good failure mode more than it needs a clever success mode. When retrieval finds nothing relevant, the correct behavior is: say so, plainly, and offer the human path.

Two mechanics make the human path real rather than decorative. First, the handoff must carry state: in Oneop, a handoff gives the visitor a queue position, or an explicit “no agent available” branch — optionally gated by business hours — instead of a spinner over an empty room. Second, the transcript must travel: both visitor and bot turns persist to one record, so the human picks up mid-conversation and the customer never re-explains.

One capped detail worth copying anywhere: if your bot can act (create tickets, contacts, orders), cap its writes. Oneop enforces a hard limit of five write actions per conversation per ten minutes at the engine level, so a manipulated or looping conversation cannot flood your systems.

Step 4: Keep the index honest

Grounding depends on the retrieval index reflecting the current KB, and here is a detail vendors gloss over: indexes do not necessarily update themselves. In Oneop, the retrieval index refreshes on a manual sync — publish new articles, then sync; we say so rather than implying always-on freshness. Whatever tool you use, find out the equivalent and put it in your publish checklist: edit article → sync index → test the question in the bot.

While you are asking vendors precise questions, ask what retrieval actually runs in a default deployment. “Semantic vector search” on the marketing page is sometimes keyword matching in practice until extra infrastructure is configured — true of many products, including, in a stock deployment, ours: Oneop’s retrieval uses an optional vector sidecar or embedding service when configured, and falls back to keyword search otherwise. Keyword retrieval over well-structured articles (see Step 1) performs far better than its reputation; just know what you are running.

Step 5: Test against the draft, then measure the funnel

Ground truth for a bot is a transcript, not a feeling. Before publishing: run your top 25 real customer questions (pull them from ticket history) against the draft — Oneop’s editor has an in-editor tester for exactly this — and score each answer: correct-and-grounded, correct-but-ungrounded (lucky; fix the KB), wrong (fix retrieval or add a flow), or refused (decide whether it should have been).

After publishing, watch three numbers: containment (conversations resolved without handoff), handoff rate by topic (your roadmap for the next flows and articles), and drop-off points in the flow funnel. Oneop’s per-node analytics show entries, completions and drop-offs per block, and A/B testing between two published versions is built in — with visitors sticky-bucketed so nobody sees both variants. Version history means a bad publish rolls back in one click.

The honest summary

Grounding a chatbot well is 70% writing and pruning content, 20% flow design, 10% model configuration. The good news is that all three are fully within an SMB’s control, none require ML expertise, and the work compounds — every article you sharpen and every flow you add makes the bot better and your human support faster.

If you want to run this playbook on real software, the free plan includes the chatbot builder, one published flow, knowledge base articles and the web chat widget — no credit card. Bring your top 25 questions and an honest willingness to split your shipping guide into nine articles.

Frequently asked questions

What does grounding a chatbot mean?

Grounding means constraining the bot's answers to information retrieved from your own content — knowledge base articles, Q&A pairs, crawled pages — rather than letting the model answer from its general training. The model's job becomes phrasing your facts, not supplying facts of its own.

Does grounding eliminate hallucinations?

It reduces them substantially but does not eliminate them, because retrieval can miss and models can drift beyond the passage. That is why grounding must be paired with an honest fallback: when retrieval finds nothing relevant, the bot should say so and hand off to a human, never improvise.

How should I structure knowledge base articles for a chatbot?

One question per article, the answer in the first two sentences, concrete nouns your customers actually type, and current facts only. Long multi-topic articles retrieve poorly because the relevant passage is diluted by everything around it.

Do I need vector search for a grounded chatbot?

Not necessarily. Deterministic flows plus curated Q&A pairs handle the highest-volume intents with total reliability, and keyword retrieval over well-structured articles covers a long tail. Semantic search widens recall for varied phrasings — treat it as an upgrade, not table stakes, and check what your vendor's retrieval actually does in a default deployment.

Written by

The Oneop team

Writing from the team that builds Oneop — an AI customer platform with web chat and email on top of a real CRM, help desk, ledger and warehouse.

Related reading

Start on the free plan and see the real thing

No credit card. Free plan, 2 seats.

Sign-up opens when the app launches. We will email you once — no marketing list.