Overview
By default, agent runs complete and send a webhook immediately (modeauto). When you set confirmation_mode: "confirm" on an agent, each proposed action requires explicit human validation (confirm or reject) before you execute it.
This is useful when:
- Actions have real-world consequences (refunds, bookings, cancellations)
- You want a human to review AI decisions before execution
- Compliance requires an approval step
How it works
Setup
Enable confirmation mode on an agent:Deciding actions
Via API
Via SDK
Timeout
Unconfirmed actions automatically expire afterconfirmation_timeout_minutes (default: 30 minutes, max: 1440 / 24h). Expired actions are not dispatched.
Webhook: agent_run.actioned
When all actions on a run have been decided (confirmed, rejected, or expired), aagent_run.actioned webhook is sent:
Embed widget
When an agent usesconfirm mode, the widget automatically shows Accept/Reject buttons for each proposed action instead of read-only chips. No widget configuration needed — the behavior is driven by the agent’s confirmation_mode.
Backward compatibility
- Default mode is
auto— zero changes for existing setups action_statusesisnullin auto modedispatch(registry)withoutaction_statusesdispatches all actions (unchanged behavior)

