Skip to main content

Approve and run Vox actions

Vox never treats a chat confirmation such as “yes” as permission to silently change the workspace. It prepares a visible action card. Nothing changes until an authorized user selects Approve and run.

Action lifecycle​

Prepared --> Pending approval --> Executing --> Succeeded
| |
+--> Rejected +--> Failed
|
+--> Expired

Pending actions expire after 10 minutes. Approval is single-use and bound to the exact user, workspace, capability version, and argument hash shown on the card. The server checks permissions again at execution time and uses an idempotency key to prevent accidental duplicate execution.

Why multiple cards can be correct​

Each independently reversible platform mutation is an action. For example, attaching a function and replacing an agent prompt are separate changes and therefore produce two cards.

Multiple cards are not appropriate when one resource can represent the intended operation. An integration function should contain all selected actions for one provider, such as Google Calendar availability, booking, lookup, cancellation, and rescheduling. Creating five separate integration functions would create five unnecessary approvals.

Review before approval​

Check the target resource, complete replacement prompt, selected provider actions, and every source being ingested. Reject an incorrect card and ask Vox to prepare a corrected action; a pending card cannot be edited in place.

Tool-budget messages​

Vox limits tool rounds and calls per turn. A complex request can end with a message asking you to continue in one more message. This is a per-turn safety and context boundary, not a permanent account limit. Approved actions already shown can still be reviewed unless they expire.