TUTORIALS 11 min read

AI Agent Approval Workflows: Put Humans at the Right Control Points

Human approval can make an agent safer—or merely slower. Design checkpoints around irreversible actions, changing risk, and evidence people can actually review.

By EgoistAI ·
AI Agent Approval Workflows: Put Humans at the Right Control Points

Your agent does not need approval before every tool call. It needs approval before the calls that can ruin your afternoon.

That distinction is the foundation of useful AI agent approval workflows. A popup on every step produces alert fatigue. Zero checkpoints turns a model mistake into an external incident. The right design lets software explore, calculate, draft, and validate freely while reserving human authority for actions that are costly, public, security-sensitive, or hard to reverse.

Define the Boundary Before Writing Code

Start with an action inventory. List every tool the agent can call and classify its effects.

Risk classExamplesDefault control
Read-onlySearch docs, inspect logs, query inventoryAutomatic
Reversible writeCreate draft, open branch, add labelAutomatic with audit log
External communicationSend email, publish post, message customerApproval
Financial or securityRefund, purchase, rotate credential, change accessStrong approval
DestructiveDelete data, terminate service, overwrite productionStrong approval plus narrow scope

Do not classify by tool name alone. database.query can be read-only or destructive depending on the statement. email.createDraft is not the same as email.send. Split broad tools into narrow capabilities so policy can reason about the actual effect.

Build an Approval Envelope

An approval request should contain enough evidence for a fast decision:

{
  "action": "send_email",
  "target": "customer-1842",
  "summary": "Confirm the replacement shipment",
  "preview": "Rendered email body",
  "reason": "Customer accepted replacement in ticket #7712",
  "risk": "external_communication",
  "expires_at": "2026-08-10T06:00:00Z",
  "idempotency_key": "ticket-7712-replacement-confirmation"
}

The human should see the destination, exact payload, source evidence, expected effect, and rollback path. “Agent wants to use Gmail” is useless. “Send this exact message to this exact recipient” is reviewable.

Bind approval to the payload hash. If the message, amount, recipient, command, or target changes after approval, the authorization must become invalid. Otherwise the agent can receive approval for a harmless plan and execute a materially different one.

Separate Planning From Execution

Use a state machine instead of a loose chat loop:

type State =
  | { kind: "planning" }
  | { kind: "awaiting_approval"; requestId: string; payloadHash: string }
  | { kind: "executing"; approvalId: string }
  | { kind: "verifying" }
  | { kind: "complete" }
  | { kind: "failed"; reason: string };

The model proposes. A deterministic policy service evaluates. The approval store records a decision. A separate executor verifies the signed or server-side approval token before calling the tool.

Never let the model declare that approval occurred. The statement “the user approved this earlier” is untrusted text. Approval must come from an authenticated interface and durable record.

Add Risk That Changes With Context

A $5 refund and a $5,000 refund should not share a policy. Neither should sending an internal note and emailing a regulator.

Use factors such as:

  • Financial amount and cumulative daily amount
  • Number of affected records
  • Internal versus external destination
  • Data sensitivity
  • Reversibility
  • Confidence in target resolution
  • Whether the action was explicitly requested in the current task

Encode thresholds in policy, not prompts. Prompts can explain policy to a model; they should not be the enforcement layer.

Prevent Stale and Replayed Approvals

Approvals need expiration, single-use semantics, and idempotency. If a human approves a refund and the network times out, the retry must not create a second refund. If the underlying ticket changes, the old approval may no longer be valid.

Record:

  • Request ID and payload hash
  • Approver identity and authentication level
  • Decision, timestamp, and expiry
  • Tool result and verification evidence
  • Whether the authorization was consumed

For high-risk actions, use step-up authentication. A logged-in dashboard session may be enough to publish a draft; changing bank details should require stronger confirmation.

Design the Human Experience

Approval queues fail when they become inboxes of mystery. Group related low-risk actions, highlight anomalies, and make the default safe. Provide approve, reject, and edit paths. A rejection should return structured feedback so the agent can revise rather than repeatedly proposing the same bad action.

Avoid dark patterns. The approve button should not be huge while reject is hidden. Show uncertainty and conflicts clearly. If the agent could not verify the recipient, say so.

Test the Failure Paths

Your happy-path demo proves almost nothing. Test:

  1. Payload changes after approval.
  2. Approval expires during execution.
  3. Executor retries after a timeout.
  4. Two approvers act on the same request.
  5. A prompt-injection message claims prior authorization.
  6. The target resolves to a symlink, alias, or different account.
  7. Verification shows the external action partly succeeded.

The expected result is boring: no execution without valid authority, no duplicate side effect, and enough evidence to recover.

The Takeaway

Good AI agent approval workflows do not ask humans to supervise every thought. They put authenticated, payload-bound checkpoints in front of the few actions where authority matters.

Inventory effects, split tools into narrow capabilities, enforce policy outside the model, bind approval to an exact payload, and verify the result. That gives the agent room to be useful without pretending probabilistic software should hold unlimited authority.

Share this article

> Want more like this?

Get the best AI insights delivered weekly.

> Related Articles

Tags

AI agentshuman in the loopapproval workflowsagent safetyautomationauthorization

> Stay in the loop

Weekly AI tools & insights.