Build your agent
Strict Knowledge Mode
Strict Knowledge Mode is a per-agent guarantee of grounded honesty: the agent never invents services, products, prices, or policies β every claim has to come from your own knowledge. It does not mean the agent refuses everything it can't quote. It stays conversational, and only falls back to a fixed "I can't confirm that" message when a question is genuinely in your domain but your knowledge base doesn't cover it.
How to enable
Open the agent's settings page (/app/agents/{id}/settings),
find the Strict Knowledge Mode section, and toggle
Only answer from my knowledge. The change takes effect
immediately β there's no separate publish step.
Strict mode is on by default: every agent that existed when this shipped was switched on, and the "create agent" form defaults the toggle on for new agents. You can turn it off per agent at any time.
The three ways it responds
On every question the agent picks exactly one of three behaviours:
- Answer β the sources contain the answer, so it answers directly.
- Decline & redirect β the question is clearly outside what your business does ("do you sell steaks?" / "do you rent boats?" on a self-storage site). The agent leads with a plain "no" about the specific thing asked, then briefly points the visitor to what you do offer, using only your sources: "No, we don't rent boats β Alles Opslaan Meppel specializes in storage units and boxesβ¦" It deliberately does not deflect into a generic "book now" / "contact us" message in place of answering (even when the question shares a verb like "rent" with what you offer). This keeps the conversation moving and is not a knowledge gap β there's nothing missing to add β and it never invents the thing it pivots to.
- Defer β the question is plausibly about your business but your sources don't cover it (a missing price, policy, location, or detail). Rather than guess, the agent replies with the fixed fallback message verbatim, and that question is logged as a content gap β the backlog of knowledge worth adding. When it's unsure whether a question is out-of-scope or a real gap, it errs toward deferring. A deferral is deliberately quiet: it shows no booking/CTA button β "I can't confirm that, contact the company" shouldn't be paired with a "book now" nudge. (The lead-capture prompt still appears, since an unanswered question is a good moment to take the visitor's email.)
So only case 3 creates a content gap. Out-of-scope questions (case 2) stay out of the gaps queue on purpose β you're never going to add "we sell steaks" to your knowledge base, so it would just be noise.
A safety net sits underneath: if retrieval returns nothing at all (an empty or very sparse knowledge base, no live page snapshot), the agent defers without calling the model and logs the gap. A live page snapshot counts as grounding, so the agent answers from it normally. Curated answers, workflows, and the "talk to a human" shortcut all run before strict mode, so none are blocked by it.
Page-grounded answering has one deliberate limit: when the knowledge base contributed zero passing sources to a turn, the reply may still be written from the page snapshot, but it renders without product, pricing, or case-study cards. Prose can hedge; a card reads as a confident product pitch, and a pitch resting on no knowledge-base evidence is exactly how invented product claims reach visitors. The card returns as soon as any source passes the threshold again.
The same zero-source turn also narrows what the prose may claim. The snapshot proves what is printed on the page the visitor is standing on β a title, a price, a description β and answers about that stay normal. It proves nothing about the rest of the catalogue, so on such a turn the agent is instructed not to confirm a property for a product the snapshot doesn't describe, not to name products as examples of a property, and not to state what the assortment as a whole does or doesn't include. Live failure this closes: a shop whose knowledge base documented no patterns was asked "do you have socks with a pattern or print?", retrieved nothing, and answered "yes" while listing product names lifted off the page β including a plain sock. It now says it can't confirm that from its product information.
Where a product register is in play, one further rule applies whenever register facts accompany a turn: a property no register line records is not a property the agent can confirm for any product, and it must say so rather than nominate examples. Strict agents are additionally told that any alternative they offer has to be named from the sources β a reply that ends on "we may be able to offer you other options" leads the visitor into a dead end on the next question.
An instruction alone turned out not to be enough here, which is worth knowing if you tune prompts yourself: the first version of this rule was measurably present in the prompt and the model produced the same invented answer anyway. Two things fixed it. First position β the rule now sits last in the system prompt, after the vertical and owner instructions, where a small model actually applies it. Second data instead of prohibition: on a turn that retrieved nothing, an agent with a product register also receives the register's closed world β the complete product list plus the exhaustive set of attributes the register records. "Do you have socks with a pattern?" then becomes a lookup that comes back empty rather than a blank the model fills in from product names it can see on the page. The catalogue is attached only on zero-source turns, and the agent is told to use it to decide what exists, never to recite it.
The fallback message
You can set a custom fallback per agent in the settings field. When it's left blank, the agent resolves a default in this order:
- The agent's own
strict_fallback_message, if set. - A built-in default in the agent's default language (e.g. Dutch for a
nlagent). - The global English default: "I can't confirm that based on the available information. Please contact the company for more information."
Keep it warm and forward-looking β point the visitor at a contact route (email, phone, or the "talk to a human" button) so a deferral still moves the conversation forward.
Deferrals feed the self-improvement loop
Every strict-mode deferral is recorded as a content gap β the visitor's exact question, clustered and counted. The most frequently deferred questions rise to the top of the gaps list, so strict mode doubles as a backlog of the knowledge your agent is missing. Answer a gap once and that question stops deferring.