Human-in-the-Loop Control
Approval routing that pauses a high-risk action and puts the right human in the loop, with full context.
When an agent action crosses a risk threshold, Prefactor automatically pauses execution and routes it to the right approver — with full context about what the agent is trying to do, why, and what triggered the escalation. Human-in-the-loop, without slowing down everything else.
When a policy flags an action for escalation, Prefactor pauses execution and routes it to the right approver with full context — what the agent was trying to do, why, and its recent history — so a human decides in seconds, not by digging through logs.
How approval routing works
An agent attempts an action a runtime policy flags for escalation rather than an outright block. Execution pauses, and an approval request goes out with the full context a reviewer needs to make a fast decision: what the agent was trying to do, which policy or risk category triggered the escalation, and the agent's recent history. The approver reviews and decides through Slack, Teams, or email — wherever the team already works — and the decision is logged and the paused action either proceeds or is cancelled.
Because the request carries full context up front, an approver rarely needs to go digging through logs to understand what they're being asked to approve.
Configuring approval rules
Approval thresholds are configured the same way runtime policies are — by action type, data sensitivity, spending amount, or an agent's current trust level. A rule might route any action touching a production database to an engineering lead, while a spending threshold routes budget overages to a team's manager. Routing rules determine which approver — or which team's queue — receives each request, so escalations land with someone positioned to actually decide.
Avoiding approval fatigue
Human-in-the-loop only helps if the human isn't drowning in requests for things that don't need a person. Risk-based thresholds mean only genuinely high-risk actions escalate in the first place, similar actions can be batched into a single approval instead of one request per action, and an agent that consistently passes review can earn a higher trust level that raises its own escalation threshold over time.
Pausing without a full approval workflow
Not every hold needs a routed approval request behind it. A custom span can pause a conversation directly — a checkpoint rather than a kill, and lighter-weight than a full approval workflow — for the moments you want execution to stop and wait rather than either continue or terminate outright.
See it in action
Frequently asked questions
How does human-in-the-loop approval work in Prefactor?
How do I configure which actions need approval?
How do you avoid approval fatigue?
Related glossary terms
Drop this into what you already run
TypeScript and Python SDKs, plus OpenTelemetry ingest — native for LangChain, Claude, Vercel AI, OpenClaw and LiveKit, with 15 framework integrations covered out of the box.
$ prefactor init
See it on your own agents
Book a demo and we'll walk through human-in-the-loop control on a fleet like yours — real frameworks, real traces.
Unified performance platform for agents, authentication, and risk management