Tool approvals

Pause a run before the agent sends something and wait for your sign-off before it continues.

What it is

By default, every tool an agent is allowed to use runs automatically. Approval mode adds a human checkpoint: the agent pauses mid-run, shows you exactly what it is about to do, and only proceeds once you approve - or stops if you reject.

This is useful for actions with real-world consequences - sending an email, firing an SMS, forwarding a message - where you want to stay in the loop without writing the messages yourself.

Enabling approval for a tool

Open the agent, go to the Agent tab, and find the connector section. Each tool is shown as a pill. Click a pill to cycle through three states:

StateAppearanceMeaning
OnBlueTool runs automatically - no interruption.
Requires approvalAmber + shield iconAgent pauses and waits for your decision before running this tool.
OffStrikethroughTool is disabled entirely - the agent cannot call it.

The same three-state pills are available in the create agent flow, so you can configure approval gates from the very beginning.

What happens during a run

  1. The agent runs normally - reading emails, reasoning, building a response.
  2. When it reaches an approval-gated tool, it pauses. The session status changes toWaiting for approval and the run stays open.
  3. The Approvals page (sidebar) gets a badge showing the number of pending requests.
  4. You review the card: it shows which agent wants to act, a plain-English summary of the action, and the full arguments the model passed.
  5. You approve or reject. Optionally add a note.
  6. If approved, the tool runs for real and the agent continues. If rejected, the agent receives your reason, summarises what it could not do, and stops cleanly.

The Approvals page

Go to Approvals in the sidebar. Pending requests are shown at the top. Each card contains:

  • Which agent triggered it and when.
  • A one-line summary of the action (e.g. "Send email to alice@... - subject: Invoice").
  • A collapsible view of the raw tool arguments - useful for verifying recipient addresses or message content.
  • A countdown showing how long until the request auto-expires.
  • Approve and Reject buttons. Reject lets you type a reason.

Resolved requests (approved, rejected, or expired) are accessible via Show resolved history at the bottom of the page.

Auto-expiry

Approval requests expire after 24 hours if you do not respond. The agent is automatically rejected with the message "No response within 24 hours" and the session closes. The items the agent read are released so the next scheduled run can re-evaluate them.

If the agent runs on a schedule, a pending approval blocks that specific run - it does not block the next scheduled tick. A new run will start at the next interval and re-read the same data (unless you approved the previous one first).

How items avoid being re-processed

When an agent reads an email (or Telegram message) and then pauses for approval, that item is immediately reserved in the idempotency ledger. Other runs skip it while the approval is pending - they will not send a duplicate notification asking you to approve the same thing twice.

The reservation is resolved in one of three ways:

  • Approved and run succeeds - reservation is confirmed permanently. The item never appears again.
  • Rejected - reservation is released. The item comes back on the next scheduled run so the agent can re-evaluate it (in case circumstances changed).
  • Expired (24 h timeout) - same as rejected: reservation released, item returns next run.

Dry runs and approval

Test runs (the Run button in the agent builder) skip all approval gates. The point of a test run is to see the full agent behaviour uninterrupted; approval-gated tools are simulated just like any other tool.

Limitations

  • Only one pending approval per session. If the agent wants to make two approval-gated calls in one turn, it will be paused on the first one. The second is handled after resumption.
  • Approval cards poll every 15 seconds. There may be a short lag between approving and the agent resuming.
  • The agent resumes on the next worker tick (default every 20 seconds) after you approve.
  • There is no mobile push notification yet - you need to check the Approvals page manually.
NextConversations and media →