Skip to content

Approvals

Operate › Approvals is the inbox for tool calls held for a person. When an agent asks for a tool that needs approval, the call does not run: the run stops, the call waits here, and an Admin or Reviewer decides. Approve and run runs the tool and lets the agent carry on. Reject records why and runs nothing. A call nobody answers within 24 hours expires and never runs.

For the idea behind this, see Human approval.

  1. A Builder or Admin marks a tool as Held until a person approves under Which tools need approval, in the agent’s Limits & approvals step. Tools left at Runs without asking run when the model calls them. See Create and edit an agent.
  2. During a run, the model asks for a held tool. Olympusx AI does not call it. It records one approval per held call, with the tool, the agent, who asked and when, and stops the run with the outcome Waiting on approval.
  3. The person who asked sees that the answer is waiting: an assistant’s chat says Waiting for an approval before this can be answered. and updates when someone answers; an agent’s preview says the conversation continues there when a reviewer answers.
  4. Every Admin and Reviewer in the tenant receives a notification, An agent is waiting for approval, which says the request expires in 24 hours. The Approvals row in the rail shows how many calls are waiting.
Role Sees the inbox Sees the call’s arguments Approves or rejects
Admin Yes Yes Yes
Reviewer Yes Yes Yes
Auditor Yes No No
Platform admin Yes, in every tenant Yes Yes
Builder, End user No No No

The count in the rail is shown only to the roles that can answer.

  1. The page header, with the tenant picker.
  2. The Waiting on a human table, with a search field (Search approvals) and a Show filter: Waiting (the default), Approved, Rejected, Expired or Everything.
Column What it shows
Agent The agent that asked, as a link to it.
Waiting on The tool it wants to call.
Asked by The person whose request the agent was working on.
When When the call was held.
Expires For a waiting call, when it expires. It reads Closing soon in the last two hours, and Expired once past. For an answered call, its state.
Actions Review, which opens the call.

When nothing is waiting, the page says Nothing is waiting for approval. When another filter matches nothing, it offers Show what is waiting.

Select Review to open one. The title says what is being asked: <agent> wants to run <tool> (or asked to run, once it is closed), with who asked and when, and a tag with its state.

The request:

  • Tool, Agent, Asked by.
  • Waiting (how long, and since when) and Expires, while it is open. Decided (who, when and their reason) or Expired, once it is closed.
  • For an Admin or Auditor: Run, a link to the run that asked; Conversation, a link to every run in that conversation; and Ran as, a link to the run an approval resumed.
  • Arguments: the arguments of the call, read from the conversation as the tool would receive them, with Copy and Show more. Only an Admin or Reviewer sees them; an Auditor sees a line saying seeing the arguments takes one of those roles.

This tool’s history: the earlier requests from the same agent to run the same tool, how they were answered (a count per state), and the five newest with who answered and when. The first request says so.

What led here, for an Admin or Auditor: the run’s steps up to the held call, with the held step selected. See Runs for how to read it.

The decision bar, pinned to the bottom of the window while the call is open, for an Admin or Reviewer: how long it has waited and when it expires, a Reason (required to reject) field, Reject, and Approve and run.

  1. Open the call and read its arguments. Approve and run is offered only once the arguments are on screen.
  2. Select Approve and run.
  3. The dialog Approve and run <tool>? says the agent runs it now, on the conversation that asked, as a new run for the person who asked, and that your name is recorded. Select Approve and run to confirm.

Olympusx AI then:

  • records your decision and writes it to the audit trail with your name;
  • runs the tool, and lets the agent carry on in the conversation that asked, as a new run linked to the first. The new run acts for the person who asked, not for you, under the agent’s own limits;
  • shows Approved — the tool ran, with the agent’s answer or how the resumed run ended, and View the run the approval resumed;
  • updates the notification to say the call was approved.
  1. Open the call.
  2. Type why in Reason (required to reject). If you select Reject with no reason, the field asks for one: the reason goes back to the conversation.
  3. Select Reject.

Olympusx AI records the decision and your reason in the audit trail, does not run the tool, and ends the run as Rejected. On an assistant conversation, your reason becomes the assistant’s reply to the person who asked, which ends their wait. The notification updates to say the call was rejected.

If the conversation that asked was erased, or has passed its retention, the held call went with it. The decision bar says This call can no longer run and offers only Reject. Reject it, with a reason, to close it.

Set Show to Approved, Rejected, Expired or Everything.

A held call waits 24 hours from the moment it was held. Then it is Expired:

  • it cannot be approved or rejected, even from a page left open;
  • the tool never runs;
  • the person who asked sees The approval window closed without an answer. Ask again.

Olympusx AI decides expiry when it reads the call, so a call is never approved by default, even if the platform was stopped while it waited.

What happens What you see
Someone else answered first The call reads This approval is <state>. Nothing more to decide.
The arguments could not be read Approve waits for the arguments, which could not be read. Use Try again in the request.
The conversation, agent or run disappeared at the moment you approved Approved, but the call did not run, with the reason. Your decision stands.
You hold Auditor only The page ends with Answering an approval takes the Admin or Reviewer role.
Limit Value
Time to answer 24 hours from the request
Arguments shown The first 16 kB; the page says when they were cut
Calls listed The 200 newest for the chosen state
Reason to reject Required
Rail count refresh Every minute

The arguments are read from the conversation each time the page opens. They are not copied into the approval, the notification, the audit trail or any log, so they are kept and erased with the conversation. See Data retention and Erasure.