Human Approval

Confirmation, user input, and external execution in Voyager, Operator, and Builder.

This walkthrough follows Demo OS at the reviewed revision, which pins Agno 2.8.1. Use the application’s checked-in requirements.

Three registered agents demonstrate different human interaction patterns:

AgentPattern
VoyagerExternal execution, structured user input, and booking confirmation
OperatorApproval before applying an infrastructure change plan
BuilderInterview/feedback tools and confirmation for Studio mutations

Voyager: travel interaction

Voyager’s check_live_fare requires external execution. Passenger/email tools request user input, and book_flight requires confirmation. The client must satisfy the pending requirement and continue the run; starting an unrelated run does not resolve it.

Optional live integrations use Duffel and Resend credentials. The demo also has sample flight-search data. Check the configured tool and pending action before confirming a request.

Operator: change approval

Operator produces a structured change plan and gates apply_change with required approval. Its local skills and typed plan provide context for the decision; approval remains an explicit part of the action flow.

Builder: structured questions and confirmations

Builder uses Studio tools to create, edit, delete, and publish components, with confirmation requirements on configured mutations. UserControlFlowTools collects typed user input, while UserFeedbackTools collects feedback. The input tool is not a code-defined branching executor.

Pre-hooks for input safety

Voyager configures input guardrails. Its default PII detector rejects detected configured PII; masking requires an explicit masking configuration. Detection is limited by the configured checks and should not be described as finding all possible sensitive information.

Post-hooks for output safety

Post-run hooks can inspect or transform final output. They do not establish that no earlier streamed text reached the client, and a run that fails before the hook stage may never invoke them.

See it in action

Start Demo OS and choose the agent whose interaction you want to test. Ask Voyager for a sample trip, Operator for a change plan, or Builder to draft a new assistant. Inspect pending requirements and use the client’s approval/input flow before continuing. Use test accounts and sample data for actions you intend to execute.

Next

agents/travel/agent.py · agents/travel/tools.py · agents/infra/tools.py · agents/builder/agent.py

Run Demo OS · Current AgentOS documentation