Blog
Saved0

Human-in-the-loop approval for AI agents: why a click isn't enough

The vice president approved a $480,000 renewal. The system signed a $620,000 one. How to make human sign-off bind to the exact proposal, survive waits, and stay meaningful at volume.

LinkedIn
On this page
  1. The manager approved one proposal. The system executed another.
  2. A click is an interaction. An approval is durable state.
  3. Define approvals before they happen
  4. Approval isn't a boolean
  5. The reviewer's authority has to be current
  6. What the reviewer saw is part of what they approved
  7. When does a change require re-approval?
  8. More than one approver
  9. Approve an action, not a case
  10. How do you avoid approval fatigue?
  11. Common anti-patterns
  12. Ten rules for human-in-the-loop approval
  13. The result: judgment that survives the workflow
  14. Frequently asked questions
  15. How Frozion delivers the decision
  16. Sources
The short answer

A human approval for an AI agent should authorize one exact proposal, not a whole case. Record what the reviewer saw, their authority at the time, any conditions and an expiry, and bind the sign-off to the specific action it allows. If the amount, counterparty, terms or evidence change before the action runs, the approval no longer applies and a person decides again.

The manager approved one proposal. The system executed another.

An agent reviews a supplier renewal: the contract, usage history, pricing schedule, security assessment and privacy addendum. It proposes a three-year renewal worth $480,000 for a European legal entity, with an EU-only data-residency commitment that has already passed privacy review.

The responsible vice president can approve up to $500,000. She reviews the proposal, its terms, evidence and risk summary, and approves it.

The case then waits for the supplier to countersign. The supplier sends back a revised agreement: the value rises to $620,000 and the residency language changes in a way that needs a new privacy review. The system re-reads the document, updates the contract and recalculates the purchase order.

One value doesn't change: approved = true.

A background worker resumes the case, sees an approved case, generates the final agreement and sends it for signature. The contract takes effect at $620,000, above the approver's limit and with a residency clause she never saw.

Approved proposal at 480,000 dollars drifting to an executed 620,000-dollar contract while the approved flag stays true
The approval stayed true while the proposal changed underneath it.

Every component can explain itself. The model extracted the new terms. The manager genuinely approved. The workflow resumed correctly. The failure is architectural: the system treated the existence of a human decision as ongoing permission for a proposal that kept changing.

A click is an interaction. An approval is durable state.

Process standards already treat human work as a lifecycle: tasks are created, assigned, claimed, delegated, completed, escalated or made obsolete, with owners and deadlines. That's the foundation. Agent systems need one more step, because a task lifecycle tells you who did the work. It doesn't prove that the decision still applies to the exact proposal and action that happen later.

ArtifactWhat it answersWhy it isn't enough alone
Approval taskWho should review, who owns it, the deadline, the outcome.Doesn't bind the decision to the exact proposal, evidence or effect.
Approval interactionWhich button, comment or sign-in event happened.A genuine click can be followed by a changed proposal.
Durable approval stateWhat was decided, by whom, from which evidence, under which authority, conditions and versions.Still needs rechecking before a delayed or consequential action.
Business effectWhat actually changed in the world: payment, contract, entitlement.Must be linked back to the approval through the record.

The goal isn't to make every approval a ceremony. It's to make consequential approvals part of the system's state instead of a passing interface event.

Define approvals before they happen

Approval requirements belong in the workflow definition, not in a notification template or a custom callback. Decide up front:

DimensionWhat to defineWhy
TriggerAmount, risk, uncertainty, policy obligation, exception type.Makes the need for review explicit and testable.
Authorized reviewersRoles, legal entity, expertise, authority limits, exclusions.Stops any signed-in user from becoming an approver.
What the reviewer seesThe proposal, material fields, evidence, uncertainty and changes.Defines what the reviewer must actually understand.
OutcomesApprove, approve with conditions, reject, request changes, escalate.Avoids collapsing judgment into one boolean.
Separation of dutiesRequester, preparer, reviewer, releaser.Keeps control independent where policy requires it.
ValidityExpiry, session freshness, authority freshness, record version.Stops a stale approval becoming permanent permission.
Material changesAmount, beneficiary, entity, terms, evidence.Defines when re-approval is mandatory.
Allowed effectThe exact action, with a ceiling and an operation identity.Binds approval to what may happen next.

Approval isn't a boolean

A boolean can't tell approval from conditional approval, expiry, withdrawal, reassignment or invalidation. Durable execution needs typed outcomes. An approval moves from REQUIRED to IN_REVIEW to a decision, and then to PENDING_COMMIT, which ends as COMMITTED, EXPIRED, INVALIDATED or REAPPROVAL_REQUIRED.

StateWhat it means at runtime
ApprovedThe exact proposal may proceed, subject to validity and checks at commit time.
Approved with conditionsEffective only once the stated conditions are met and recorded.
RejectedThe proposal can't proceed; a changed proposal needs a new decision.
ExpiredThe validity window, or the required sign-in freshness, ended first.
InvalidatedA material change broke the link to what was reviewed.
Reassignment requiredThe reviewer is no longer authorized; someone else must decide.
Re-approval requiredA new or changed proposal needs a new human decision.

Typed states also help operations. A queue backlog, an absent reviewer, an expired approval and a policy denial have different owners and different fixes. They shouldn't all surface as a generic timeout.

State diagram of a durable approval from required to committed, expired, invalidated or re-approval required
Approval is a lifecycle, not a boolean.

The reviewer's authority has to be current

A reviewer can be authorized when a task is assigned and not when it's decided. Roles change, delegations expire, and limits vary by amount, entity and purpose. Separation-of-duty conflicts appear when the same person touched the case earlier.

So check reviewer authority at assignment, at decision and, where policy requires it, again at commit. A task appearing in someone's inbox is not proof they could still approve it.

For high-consequence decisions, require fresh, deliberate authentication at the moment of sign-off. NIST's identity guidance distinguishes holding a session from actively taking part in an authentication event. An approval from an old or unattended session shouldn't carry the same weight as one confirmed with a passkey just now.

What the reviewer saw is part of what they approved

What you show the reviewer is part of the decision, not decoration. A useful review package includes:

  • the proposal and its material fields: amount, counterparty, terms, record and intended effect
  • the supporting evidence and where it came from
  • the model's uncertainty, disagreement or known limits
  • the policy obligations and why a person is being asked
  • what changed since any earlier version
  • the conditions, the deadline and the action approval will allow

An AI-generated summary can help a reviewer navigate a large case. It shouldn't be the only thing they see when omitted detail could change the decision. The exact payload that will be executed must stay inspectable.

When does a change require re-approval?

When it changes the proposal, the risk, the authority, the obligations, the evidence or the effect. Not every technical change counts. A logging update doesn't. A new beneficiary does. Declare the rules in advance instead of deciding after an incident:

ChangeDefault effectWhy
Amount crosses the reviewer's limitInvalidate; route to an authorized reviewer.The original authority no longer covers it.
Beneficiary, account, record or legal entity changesInvalidate.The approval was for a different target.
Contract, residency, liability or disclosure terms changeSpecialist review or re-approval.The governing obligations changed.
Evidence goes staleRecheck; re-approve if the basis materially changed.The reviewer relied on facts that no longer hold.
Model or retrieval version changes, proposal unchangedRecord it; invalidate only if declared material.A version change isn't always a business change.
The payload to be executed changesInvalidate.The system is no longer executing what was reviewed.
Presentation-only changeUsually keep.The proposal and the basis are the same.

More than one approver

Some decisions need finance and legal, two independent approvers, a quorum or a veto. Separation of duties isn't only a role assignment. It's a relationship between actions over time: the person who started a proposal shouldn't become its "independent" second approver because the task was reassigned. Keep the full history of assignment, claim, delegation and decision with the approval.

Approve an action, not a case

An approval should authorize one declared action, not a whole case in the abstract. A payment approval authorizes one payment, to one beneficiary, up to a stated amount. A contract approval authorizes signature of one document version. An access approval authorizes one set of entitlements for one resource and time window.

This matters most during retries and recovery. A technical retry of the same unchanged operation can rely on the same approval. A changed payload, a new operation or a compensating action can't inherit it silently. (See retries and idempotency for AI agents.)

How do you avoid approval fatigue?

Send fewer, better cases: let rules decide which actions need a person, and put the whole case in front of them when one does. Adding a person to the loop doesn't automatically create oversight. Reviewers may get an incomplete summary, lack authority to change the outcome, face too many requests, or approve a proposal whose real effect is hidden. Gartner warns that human approval weakens under time pressure and approval fatigue. Deloitte finds that most organizations lack clear boundaries for which decisions need a person at all.

Meaningful review requires that the person:

  • is authorized and accountable for this decision
  • sees the proposal, evidence, uncertainty and policy context
  • understands exactly which action approval will allow
  • can approve, reject, add conditions, request changes or escalate
  • isn't bypassed by a timeout, retry, fallback or an agent changing its plan
  • isn't asked to make up for missing validation or missing policy

The answer to approval fatigue is fewer, better approvals. Rules decide which actions need a person. Routine actions go straight through, and the cases that matter arrive complete. Agents can prepare the case, compare versions and flag missing evidence. They can't decide that required review is unnecessary.

Common anti-patterns

Anti-patternWhy it failsWhat to do instead
approved = trueCan't say what, who, under which conditions or for how long.Durable approval state bound to the proposal.
Approve a summary, execute a hidden payloadReviewer and runtime act on different proposals.Bind what was reviewed to the exact payload.
Approval survives any editThe decision becomes reusable permission.Declare material changes; invalidate on them.
Role checked only at assignmentThe reviewer may lose authority before deciding.Recheck authority at decision and commit.
No response means approvedSilence becomes authority.Explicit expiry, escalation or denial.
Same person requests, approves and releasesIndependent control collapses.Enforce separation of duties with action history.
Retry reuses old approval for a changed actionStale permission covers a new effect.Bind approval to one operation identity.
Agent skips required reviewThe agent redefines the control.Keep approval requirements in policy, outside the agent.

Ten rules for human-in-the-loop approval

  1. Define approvals in the workflow, not in a notification convention.
  2. Bind the decision to the exact proposal, material fields and evidence.
  3. Check reviewer authority and separation of duties at decision time.
  4. Use typed outcomes: approved, conditional, expired, invalidated, re-approval required.
  5. Record the versions that shaped what was reviewed.
  6. Recheck for material change before resuming or committing after a wait.
  7. Bind approval to one action, with a ceiling and an operation identity.
  8. Don't let retries, replanning, replay or fallbacks bypass or reuse approval.
  9. Keep a record linking every approval to the effect it allowed.
  10. Treat human judgment as accountable state, not as a substitute for deterministic controls.

The result: judgment that survives the workflow

Human approval matters because some decisions need accountable judgment that rules can't capture and agents shouldn't own. That value disappears when the system only records that someone clicked. A durable design keeps what the person actually decided, notices when the world changes, asks again when it must, and links the decision to the outcome it produced.

That doesn't make work slower. It lets you use human review selectively and with confidence, because you can say exactly what each approval covers and prove it was honored.


Frequently asked questions

What is human-in-the-loop approval for AI agents?

It's a control where an agent's proposed action pauses for an accountable person to approve, reject, condition or escalate it before the action runs. Done well, the approval is recorded as durable state bound to the exact proposal and the action it permits.

Won't human review slow our agents down?

Only rule-selected decisions need a person. Policy sends routine, low-risk actions straight through and routes only the consequential ones for review, with the whole case in front of the reviewer. Review gets rarer and better, not slower.

When does an approval need to be given again?

When something material changes before the action runs: the amount crosses the reviewer's limit, the beneficiary, record or legal entity changes, a contract or disclosure term changes, or the payload that will be executed is no longer the one reviewed.

How does this work for agents we already run?

Route the agent's consequential tool calls through a governed runtime. Policy decides which calls need a person; the case goes to an authorized reviewer with full context, and the work resumes on its own once they decide.

With Frozion

How Frozion delivers the decision

Only the decisions your rules select reach the HITL Inbox. The reviewer sees the whole case, with a live thread to discuss it, and signs off with step-up authentication: one-time codes, authenticator apps or FIDO2 passkeys, with passkeys for high-risk approvals. The approval is bound to the exact revision reviewed. If the proposal changes, it goes back for review. When the decision is made, the work resumes on its own, and Frozion rechecks authority before the change.


Sources

  1. OASIS WS-HumanTask 1.1Human task lifecycle, assignment, delegation, deadlines and escalation.
  2. NIST SP 800-53 Rev. 5Separation of duties, least privilege, re-authentication and audit records.
  3. OASIS XACML 3.0 CorePolicy decision and enforcement points; obligations.
  4. NIST SP 800-63B-4Session binding, re-authentication and authentication intent.
  5. NIST AI Risk Management Framework 1.0Clearly defined human roles and evaluating oversight effectiveness.
  6. OWASP Top 10 for LLM Applications 2025: Excessive AgencyHuman approval for high-impact actions.
  7. Gartner on graded agent governance (via ITPro), May 2026Human approval weakens under time pressure and approval fatigue.
  8. Deloitte, AI agents are scaling faster than governance (2026)Most organizations lack clear boundaries for which decisions need human approval.
More in Human decisions

Human decisions

Approvals 1
Escalation & autonomy 2

Other topics

Pick up where you left off: