One of several options
Choice
βWhich team should take this request?β
Which team should take this request, is the evidence enough to answer, should this go to a person: make the decisions you take hundreds of times a day consistent. Your rules look first; with no rule, a fast decision model estimates probabilities, the agent's language model steps in when needed, and anything below the threshold goes to a human. Why each decision was made stays on record.
No credit card required.
1Request
Invoice portalThe VAT amount on last month's invoice looks wrong. Could you send a corrected invoice?
Which team should take it?
Input sent to the decision
2Cascade
3Outcome
Calibrated confidence
Execute1.00
Where the flow continues
billing
The same confidence turns into a different action under a different risk class. Demo: runs on fictional requests and doesn't call a real model. Confidence values are examples.
01Decision types
Not open-ended chat: bounded questions whose answers are defined up front.
A decision model doesn't write text, it makes a choice. You define the options, what each one means and a short instruction; the decision model says which option is right and how likely.
One of several options
βWhich team should take this request?β
An ordered level, 2β10 steps
βHow urgent is this complaint?β
A probabilistic true or false
βIs the evidence enough to answer this?β
02Cascade
Each stage steps in only where the previous one couldn't be sure.
If you have a firm business rule, the model is never called. Without one, the decision model estimates probabilities in milliseconds. If confidence sits just below the auto threshold, the agent's language model is asked. What remains uncertain goes to a human, or the flow continues from its "Uncertain" port.
First rule whose conditions all hold
Confidence 1.00. No model is called.
When no rule matches
Laya, a multilingual classifier running on our own infrastructure, returns probabilities and calibrated confidence.
When confidence falls short of auto
The agent's own model answers in strict JSON; its self-reported confidence counts for at most 0.95.
Below the threshold, or high risk
A Decision review opens in My tasks; the chosen answer is recorded.
A hosted decision model (Jev) can join the cascade too. It is hosted abroad, so it switches on only after a contract and data processing consent are recorded.
Pick the ordering: local first, lowest cost, lowest latency or a custom cascade. A provider that fails three times in a row is taken out for 30 seconds and the cascade moves to the next one.
03Rules
Rules are evaluated in order; the first one whose conditions all hold wins.
If you have a firm rule such as "everything from the invoice portal goes to billing", don't try to teach it to a model, write it down. Rules are part of the decision definition and ship with its version. No free-form code runs; only defined comparisons are allowed.
channel = invoice_portalβ§amount > 0β billinginvoice portalMatchedsubject contains "quote"β§customer_type β {dealer, enterprise}β salesenterprise quoteerror_code existsβ technicalhas an error codeA matching rule answers before the model, with certainty and no cost.
For R3 and R4 decisions, the human review rule wins even when a rule matches.
Regular expressions run with a 100 ms timeout; they can't lock up the rule engine.
04Thresholds
The same 90% confidence runs automatically at low risk and goes to a human at high risk.
Every decision has a risk class. As risk rises, the auto threshold rises and the failure behaviour gets stricter. Confidence isn't the provider's raw number; it's calibrated against measurements.
Ignoring the decision and carrying on after a failure is forbidden for R3 and R4.
05Decision step
Every option is a port, plus an "Uncertain" port for when nobody can be sure.
Add a Decision step in the workflow designer and list the options; each option connects to its own branch. Yes/No decisions come with two ports. The confidence percentage can be used in later conditions. Describe the flow in plain language and the AI draft builds classification steps as Decision steps.
Define the decision inside the step or call a registered decision key; inline definitions are versioned automatically too.
A decision sent to a human pauses the flow, then continues down the chosen branch.
When testing a flow, give the Decision step a sample answer and try each branch in turn.
06Human review
The reviewer sees the model's suggestion, its confidence and its source; the choice is recorded.
When a decision goes to a human, a Decision review lands in that person's My tasks. They accept the model's suggestion or pick another option. That choice is recorded as an override and can be added to evaluation datasets. Models don't retrain themselves; your team decides what changes.
A person accepts or changes the suggestion.
Suggestion, choice and reviewer are recorded.
Records are collected as evaluation examples.
The team measures and, if needed, publishes a new version.
When the real outcome is known later (say the request actually belonged to sales), it is added to the decision's record too.
07Versions and tests
Every version is immutable; it is measured in shadow and published once it passes the gate.
Each version of a decision definition is locked by a content fingerprint. Try a new version in the test console without publishing it, then measure it in shadow mode on real traffic without changing behaviour. Medium and high-risk decisions can't go live until they pass the measurement gate. Rolling back means re-publishing an older version.
Measurement gateR2 and above: at least 30 examples, accuracy at least 0.80
At which confidence threshold how much traffic runs automatically, and how accurately.
How well confidence matches real accuracy (ECE); a 10-bucket calibration profile.
Which option gets mistaken for which, and macro F1.
p50, p95 and p99 per provider, compared on the same dataset.
08Decision trace
Which version, which provider, what confidence, which action, and why.
Every execution leaves a trace: version and source, the providers tried and their outcomes, raw and calibrated confidence, the policy action and its reason code, latency and cost. A fingerprint of the input is kept instead of the input itself; you choose how much to store.
Execution trace6f0cβ¦
Attempts
Fields such as password, token, API key, CVV and IBAN are always stripped from the input.
Emails and phone numbers are masked before reaching a decision provider.
Store no input, only a fingerprint, a redacted copy or the full input.
09API
Make the same decision outside a workflow, from your own application.
Call a registered decision through the API: one at a time, in a batch, or test an unpublished version. Use an idempotency key so a repeated request isn't processed twice. Rules, thresholds and versions are part of the decision definition and are managed through the API.
POST /api/v1/tenants/{tenantId}/decisions/execute
{
"decisionKey": "support.route",
"version": "production",
"state": {
"channel": "email",
"message": "The license key is rejectedβ¦"
},
"context": { "idempotencyKey": "ticket-1001" }
}{
"executionId": "6f0cβ¦",
"result": {
"type": "choice",
"value": "technical",
"rawConfidence": 0.74,
"calibratedConfidence": 0.71
},
"provider": { "name": "laya" },
"policy": {
"action": "HumanReview",
"reason": "insufficient_confidence"
}
}10Inside the platform
The small decisions in every chat turn go through the same cascade, with the same trace.
Which agent answers, whether a search is needed, whether the evidence is enough to answer: these are defined in the decision layer too. The mode is kept per organisation and managed by our platform team; shadow is the default. If the decision layer has a problem, chat carries on with its usual behaviour.
Mode per organisation
Chat decisions fall back safely: if the decision layer doesn't answer, chat works just as it does today.
The most common questions about decision models and the decision layer.
All FAQsA decision model doesn't generate text; it chooses among defined options and returns a probability for each. That makes it fast, cheap and measurable. The language model only steps in where the decision model isn't sure.
Start free; add a Decision step to your workflow and leave the uncertain calls to your team.