Approval Workflows
When a policy’s enforcement isrequire_approval, the operation pauses and enters a human-in-the-loop workflow. The agent stops, an approval request is generated, notifications are delivered, and the agent resumes only when a human resolves it.
How Approvals Work
- An agent invokes a tool that matches a
require_approvalpolicy - The policy engine generates an A2UI spec describing what needs approval
- The message transitions to
input-required - Notifications are delivered through all channels linked to the policy
- A human reviews and resolves — approve, deny, or provide structured input
- The agent receives the resolution and resumes execution
Resolution Surfaces
Humans can approve from any connected surface:
If the same approval is resolved from multiple surfaces simultaneously, the first resolution wins. Subsequent attempts receive
409 Conflict.
Approval Types
ADK Tool Confirmation
ADK’srequire_confirmation and request_confirmation() are mapped to the same approval pipeline. An ADK tool with require_confirmation: true produces an A2UI form with approve/deny actions. The resolution is translated back to an ADK FunctionResponse with confirmed: true/false.
This means ADK tools get the full benefit of Svantic’s notification channels — a tool confirmation can be approved from Slack, the dashboard, or any other connected surface.
Approval API
Further Reading
- Policy Architecture — how policies are structured and evaluated
- Approvals Guide — step-by-step walkthrough with code examples
- A2UI — the structured format for approval forms
- Notifications — how approval notifications are delivered
