Approval gates let you pause a hosted agent before it executes a specific tool and require a human to approve or reject the call. Use them for high-stakes operations — sending emails, writing to a database, making payments — where you want a human in the loop before the action runs.
When the agent reaches that tool during a run, execution pauses and an in-app notification is sent to workspace members.
Go to the Approvals page (or click the notification) to see pending approval requests. Each request shows:
Approve — the agent continues and the tool call executes with the shown arguments.
Reject — the agent receives an error response for the tool call. How it handles rejection depends on the agent's prompt (it may retry, skip, or fail the run).
Each approval request expires after 24 hours. If no decision is made before the deadline, the tool call is treated as rejected and the run continues or fails depending on the agent's logic.
You can approve or reject programmatically using a workspace key.
# List pending approvals
curl https://agentos-ai.dev/api/v1/approvals \
-H "Authorization: Bearer aos_ws_..."
# Decide
curl -X POST https://agentos-ai.dev/api/v1/approvals/<approvalId>/decide \
-H "Authorization: Bearer aos_ws_..." \
-H "Content-Type: application/json" \
-d '{ "decision": "approve" }'
decision options: "approve" | "reject"
When a gate fires, an in-app notification is sent to all workspace members with developer role or above. If you have an email channel configured on an alert rule for this agent, email notifications are sent too.