Guardrails vs. auto-approve rules: who wins
Auto-approve rules release routine drafts. Guardrails hold risky ones. When both match the same draft, the guardrail always wins. Here's why, and how to design the two together.
Product team3 min read
Mokanata has two kinds of rule that decide whether a draft goes out without a person. They pull in opposite directions, and people often ask what happens when they disagree. The short answer: a guardrail can never be overridden by an auto-approve rule. The longer answer is worth knowing, because it changes how you write both.
Two rules, two jobs
Auto-approve rules exist to save time. Each one names an agent, a confidence floor, the channels it covers, a deal-value limit and whether to skip drafts that touch legal terms. A draft that matches is released, either right away or after a review window of 5 minutes, 30 minutes or 2 hours.
Guardrails exist to prevent mistakes. They're written as expressions on an agent, such as a check that a quoted price stays at or above 85% of the tier's floor, and each one either blocks the draft or warns and lets it send. When a blocking guardrail fails, you choose what happens next:
- route it to a person for approval;
- route it to a person to take over;
- block it and log it;
- auto-revise the draft.
The order of evaluation
When an agent produces a draft, the checks run in a fixed order:
- Guardrails first. If any blocking guardrail fails, the draft is held and its failure action runs. Nothing after this step can release it.
- Auto-approve rules second. Only drafts that passed every guardrail are matched against the rules.
- Everything else goes to the queue. A draft that no rule matches waits for a person.
Note
The same holds for bulk approval. "Approve N with confidence 0.90 or higher" skips drafts a rule is holding, such as legal terms or deals above $100k, even if their confidence is high.
The hard limits in the create-agent wizard work the same way. Pricing below the approved band, delivery promises, contract changes, refunds and roadmap promises apply at every autonomy level, including autonomous.
Why not let a rule override a guardrail?
It's tempting to want an exception: "this agent is very accurate, let it send discounts without review." But the whole value of a guardrail is that you never have to remember the exceptions. If a high enough confidence score could unlock a refund, a single overconfident draft would be enough to issue one.
Keeping guardrails absolute also makes them easy to reason about. When you read an agent's guardrails, you know exactly what it can never do, no matter how its rules are configured or who configured them later.
Designing the two together
Write guardrails for outcomes, and auto-approve rules for volume.
Guardrails: things that must never happen unreviewed
Start from the mistakes you'd have to apologise for:
- a price outside the approved band;
- a promise about delivery dates or the roadmap;
- a change to contract terms;
- a refund or credit;
- a reply outside WhatsApp's 24-hour window.
Each one becomes a guardrail with a clear failure action. Most teams route pricing and contract issues to a person for approval, and route anything involving an upset customer to a person who takes over.
Auto-approve rules: the routine work
Then look at the approval queue and find the drafts you approve without edits, over and over. Order-status questions, opening hours, booking confirmations. Those are your first rules.
| Rule setting | A cautious start |
|---|---|
| Confidence floor | 0.90 |
| Channels | One channel you know well |
| Deal-value limit | Low, raised as trust grows |
| Legal terms | Skipped |
| When it sends | After a 30-minute review window |
The live preview in the rule editor shows which items in the current queue a rule would match, so you can check it against real drafts before you save it.
Testing the combination
Before relying on a new rule, check two things:
- Does the preview match only what you expect? If it picks up a draft you'd have edited, tighten the floor or narrow the channels.
- Does every risky case still hit a guardrail? Look at the guardrail's runs in the agent's runs tab, filtered by outcome. Held, handed off and blocked runs show you what the guardrail is catching.
The rule of thumb
Auto-approve rules decide how much a person has to read. Guardrails decide what a person must always read. Keep the second list short, specific and absolute, and you can be generous with the first.