approveAgentAction
Approve or decline a change an agent proposed (a pending approval from askAgent, delegateToAgent or getAgentRun). Only the people it was sent to may decide it (the person who asked for the job; for a duty, its owner and backup approvers), and only while they can read what the job read: anyone els...
This record as markdown: /tools/io-stablebaseline-sb/approveagentaction.md
What approveAgentAction does on Stable Baseline
AI agents use approveAgentAction to create or update resources in Stable Baseline, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Stable Baseline environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
digest | string | — | Optional, plan approvals only. The plan's SHA-256 digest from getAgentRun `plan.digest`; the decision is refused with plan_digest_mismatch when it differs. |
reason | string | — | Optional reason, recorded with the decision (shown when declining). |
decision | string | Yes | Your decision. |
approvalId | string | Yes | The pending approval id. |
Parameters from the server's own tool schema.
Why approveAgentAction is rated Medium
An AI agent can call approveAgentAction faster than any human can review: one bad instruction and it creates or modifies resources in Stable Baseline by the hundred, each call as confident as the last.
Risk signalsBulk/mass operation — affects multiple targets
Attacks that exploit this kind of access
The rule that runs approveAgentAction safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Stable Baseline, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For approveAgentAction, this is the rule to start with:
approveAgentAction stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Stable Baseline, apply this rule, and every approveAgentAction call is checked against it from then on.
Questions about approveAgentAction
Approve or decline a change an agent proposed (a pending approval from askAgent, delegateToAgent or getAgentRun). Only the people it was sent to may decide it (the person who asked for the job; for a duty, its owner and backup approvers), and only while they can read what the job read: anyone else on its list is refused, and an approval they may not review comes without its content (mayReview false). Approving lets the job continue: this call waits up to 20 seconds and answers with the job's outcome and receipt if it settles in time, or its progress to follow with getAgentRun. Through a connection that reaches less than you do, the outcome comes back only for a job started through that same connection; any other approval it may decide is answered with the decision alone. The change runs as the agent, still within the rights of the person who started the job. Declining cancels the job with your reason. A plan approval (kind: plan) approves or declines the whole plan at once; only someone who can see every step's item may decide it, it expires after 24 hours and it is used once. Pass the plan's digest (getAgentRun plan.digest) to be sure you approve the plan you reviewed: a different digest is refused and nothing is decided. It is categorised as a Write tool in the Stable Baseline MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
approveAgentAction accepts 4 parameters: digest, reason, decision, approvalId. Required: decision, approvalId. The full parameter table on this page comes from the server's own tool schema.
Register the Stable Baseline MCP server in PolicyLayer and add a rule for approveAgentAction: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Stable Baseline. Nothing to install.
approveAgentAction is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the approveAgentAction rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for approveAgentAction. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
approveAgentAction is provided by the Stable Baseline MCP server (https://api.stablebaseline.io/functions/v1/cloud-serve/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Stable Baseline, and thousands of servers like it.
This server
Across the catalogue