AGENTFLOW · ASK

Ask what changed. Find out why.

A correct answer with its proof attached: where it came from, how fresh it is, and how sure AgentFlow is. When it isn't sure, it says so.

PROJECT · COMMERCE MARGINsemantic layer bound
What changed in order margin this week?
Order margin is 23.4%, down 2.1 points. Freight explains 1.6 of them: expedited shipments in the Northeast tripled after the carrier change on June 1. Deeper promo discounts on two SKUs explain the rest.
DRIVERS · CHANGE IN MARGIN
fulfillment cost−1.6 pts
net revenue per order−0.5 pts
cost of goods0.0
returns0.0
measures: order_margin, fulfillment_cost_per_order · tables: orders, shipments, carrier_invoices · fresh 14 min · confidence 0.93
Which lanes?Show it by dayWhat would rerouting save?
ANATOMY OF AN ANSWER

Every answer shows its work.

An answer you can't check is an opinion. So every reply comes back with the same six things, in the same order, whether the question took two seconds or twenty.

  1. 01
    The answer

    First, in a sentence. Exact, because the arithmetic runs as code, not in a model's head.

  2. 02
    The cause

    It walks the metric down through what drives it and shows how much of the change each driver explains.

  3. 03
    The sources

    Which governed measures it used, which tables they read, and the SQL if you want it.

  4. 04
    The freshness

    How old the data was when it answered. Eleven minutes and eleven hours are different answers.

  5. 05
    The confidence

    How well the evidence supports the answer. You can set thresholds on it.

  6. 06
    What to ask next

    The follow-ups worth asking, so one good question leads to the next.

WHEN IT ISN'T SURE

It declines out loud.

A model left alone will always produce something. AgentFlow declines when it can't answer honestly, and gives the reason in words and as a code your team can act on.

And margin by sales rep?
I can't answer that one honestly. Margin isn't defined by sales rep in your semantic layer, and I won't guess at the join. The closest governed cut is by region. Want that?
MEASURE_NOT_DEFINED declined, with the reason

It won't invent a definition.

If your data team has not defined it, AgentFlow can't ask for it. It offers the nearest thing that is defined.

What's freight cost per order so far this week?
$11.84 through Wednesday. carrier_invoices last loaded 31 hours ago, so Thursday's freight isn't in this yet. Confidence 0.71, below your 0.85 line.
BELOW_CONFIDENCE_THRESHOLD declined, with the reason

It tells you when the data is thin.

You still get what it found, and exactly why it won't stand behind it yet.

How many active customers do we have?
Two governed measures fit: active by login in the last 30 days, and active by paid subscription. They differ by 8%. Which do you mean?
AMBIGUOUS_MEASURE declined, with the reason

It asks before it assumes.

When a question has two honest readings, it shows both and lets you choose.

Illustrative. Reason codes and thresholds are yours to set per project.

WHY THE ANSWERS ARE RIGHT

It asks for measures, not tables.

Most chat-with-your-data tools let a model write SQL against whatever it can find. Two people get two answers, and both look right. AgentFlow takes that freedom away on purpose.

ONE DEFINITION

Your metrics, not its guesses.

Point a project at your semantic layer and the raw-SQL and catalog-browsing tools leave the toolset. What AgentFlow can ask for is what the layer defines. Revenue means what your data team says it means.

NO HAND-WRITTEN SQL

The layer writes the query.

The joins, the grain and the metric logic come from the semantic layer you already govern for BI. You don't have to read generated SQL to trust the number, though it is there if you want it.

YOUR PERMISSIONS

It sees what you're allowed to see.

Policies scope each person to their data, and the agent works inside them. A check on the response can reject an answer that contains fields you have disallowed.

IN PRODUCTION

Graded by the customer, not by us.

From a live chat deployment, evaluated on 719 cases and scored by the customer's own LLM judge. Accuracy and speed are tracked build over build.

94.7%accuracy on the 719-case evaluation setagainst a bar of 90%
7.81smedian response, 9.39s at p90down from 33.1s four weeks earlier
719cases in the evaluation setscored by the customer's own LLM judge
WHAT TO ASK

Any question your semantic layer can answer.

There is nothing to set up per question and no use case to define. If the measure exists, you can ask about it, and you can ask why it moved.

Finance

What changed in order margin this week?

Which accounts moved more than 250k since last close?

Supply chain

Which suppliers missed their SLA twice this quarter?

Where is on-time in-full heading this month, and why?

Quality

Which lines ran under 95% first-pass yield yesterday?

What do the last five deviations on line 3 have in common?

Revenue

Which accounts fell below 60% seat use this month?

What is driving contraction in the mid-market?

Questions about Ask

How do you stop it from querying the wrong thing?

Point the project at your semantic layer and the raw-SQL and catalog-browsing tools leave the toolset. The agent can ask only for the measures and dimensions the layer defines, and the layer resolves the joins and writes the SQL.

How accurate is it in practice?

On a production chat deployment evaluated against 719 cases and scored by the customer's own LLM judge, the current build passes 94.7% against a bar of 90%. Median response time is 7.81 seconds, 9.39 at p90, down from 33.1 seconds four weeks earlier.

What does the confidence score mean?

Every answer carries a confidence score alongside its sources and their freshness. You can set thresholds on it, so a thin answer is treated differently from a solid one.

Can it show someone data they shouldn't see?

Several independent layers prevent that: sign-in at the product level; policies that scope each person to particular data through the semantic layer; operational sources registered read-only unless you say otherwise; and a check on the response that can reject an answer containing fields you have disallowed.

TALK TO US

Ask it something hard.

Bring a question your team argues about. We will show you how AgentFlow would answer it, and where every number would come from.

Read the docs

An actual person replies, usually within one working day.