AppsEvaluations

Response checks · Autessa Evaluations

Fact grounding check

The fact grounding check is hallucination detection that runs before a reply is sent. It pulls every fact out of an agent reply (numbers, amounts, dates, links, email addresses, phone numbers, IDs and quoted phrases) and makes sure each one came from somewhere real: the customer, a tool, retrieved knowledge or the agent instructions. It is a rule, not a model, so it answers instantly and gives the same answer every time.

Goes beyond a typical eval tool
Start free
Response checks · before the reply is sentSAMPLE
DRAFT REPLY
Your order A-88213 for $45.00 ships Friday.
↓ all checks run at the same time ↓
No made-up prices or order numbers
Facts must come from the conversation
$45.00 not found
Sensitive data
Sensitive data detectors
Passed
No competitors
Script rule
Passed
Policy review
AI review
Passed
Action: Retry, then blockRETRIED
SENT TO CUSTOMER
Your order A-88213 for $42.50 ships Friday.

The problem

The most expensive wrong answers are specific ones

An agent that says "Your order A-88213 for $45.00 ships Friday" sounds confident and helpful. If the tool actually returned $42.50, that confident sentence becomes a refund dispute, a complaint or a compliance problem. General LLM guardrails rarely catch a single wrong number, because the sentence reads perfectly well. The fact grounding check looks at the facts themselves and asks one plain question about each: where did this come from?

What you get

  • Autessa checks numbers and amounts, dates, links, email addresses, phone numbers, IDs such as order or account numbers, and quoted phrases of three words or more.
  • A fact counts as supported if it appears in what the customer said, in a tool request or result, in retrieved knowledge, or in the agent instructions and prompt variables.
  • Matching ignores formatting: $1,200.00 matches 1200, March 4, 2026 matches 2026-03-04, and (555) 010-2030 matches 5550102030.
  • Single digits and list numbers ("1.", "2.") are ignored, so ordinary numbered steps never trip the check.
  • You can limit the check to some kinds of facts, for example only numbers and IDs when the agent paraphrases quotes on purpose.
  • Allowed values cover facts the agent may always state, like your support phone number, your website or "30 days" from your return policy.
  • It runs in parallel with every other check and never calls a model.

How it works

How does fact grounding check work in Autessa Evaluations?

  1. Add the check

    Open a Simple agent, scroll to Response checks, click Add check and pick "Facts must come from the conversation". Give it a name you will recognize in history, such as "No made-up prices".

  2. Choose the fact types

    Keep every type on, or narrow it to the facts that matter for this agent, such as numbers and IDs.

  3. List allowed values

    Add the facts the agent may always state even though they are not in the conversation: a phone number, a URL, a policy period.

  4. Pick the action

    Start on Flag only to see what it catches, then switch to remove, block or retry once you trust it.

  5. Test, then publish

    Paste a sample reply and sample sources into Test checks, try it in the Test window, then publish the version so customers get it.

Every option

Fact grounding check options

OptionWhat it does
NameHow the check appears in the check list and in the Response checks card in history.
Fact typesNumbers and amounts, dates, links, email addresses, phone numbers, IDs, and quoted phrases of three or more words. Check all or a subset.
Allowed valuesFacts the agent may always state, even when they never appeared in the conversation.
ActionFlag only, Remove the matched text, Block the reply, Retry then block, or Retry then send.
On / offEach check has its own switch in the Response checks card.

From code

Do it from the CLI or API

Run `autessa <command> help` for the full list of arguments.

CLI documentation →
A grounding check in the agent config (Agents API)
{
  "checkType": "GROUNDING",
  "id": "3f1c9a52-7d4e-4b8a-9c11-2e6f0a7b5d93",
  "name": "No made-up prices or order numbers",
  "action": "BLOCK",
  "factTypes": ["NUMBERS", "IDENTIFIERS"],
  "allowedValues": ["1-800-555-0100"]
}

Permissions

Who can do what?

WhoCan
Agent editor (WRITE)Add, edit and switch off checks on the draft, and use the Test checks panel.
Publisher (PUBLISH)Publish the version that carries the checks, so customers get them, and roll back.
Viewer (READ)View the agent and its checks and test-run it.
CustomerOnly ever receives the released reply. Check results are never shown to them.

Connected

How it connects to the rest of Evaluations

FAQ

Questions about fact grounding check

How does Autessa catch hallucinated numbers in agent replies?

It compares every fact in the reply against the conversation. Any number, date, link, email, phone number, ID or quote that did not appear in what the customer said, a tool result, retrieved knowledge or the instructions fails the check.

Does formatting cause false alarms?

No. Matching is format-aware, so $1,200.00 matches 1200 and March 4, 2026 matches 2026-03-04. Single digits and list numbers are ignored.

What if the agent is allowed to state something that is not in the conversation?

Add it to allowed values. Your support number, your website and policy terms like "30 days" are typical examples.

Does the grounding check use a model?

No. It is a rule that runs instantly and gives the same answer every time, which is why it suits facts better than an AI review does.

Try fact grounding check in Autessa Evaluations

The fact grounding check pulls every fact out of a reply and blocks or flags any that did not come from the customer, a tool, retrieved knowledge or the instructions.

Start free

Test sets · simulated users · four-dimension scoring · response checks · grading API

100% customizable, code and all

Make Autessa Evaluations fully your own.

Use it out of the box, then change anything. Ask Autobot, Autessa’s AI builder, for a new field, screen, report, workflow or agent and it builds it into your copy of the app. Or open the code and edit it yourself. Nothing is locked: the app, its data and its code are yours.

Start free and make it yours