Skip to main content
Glama

Approve or reject a paused workflow run

workflows_decide
Destructive

The run after the decision. An agent may decide only a step with allowAgents on, with a write-level key, and only if the key's owner meets the step's approver rule. Otherwise 403: the decision belongs to a person.

POST /api/v1/workflow-runs/{runId}/decide

For multi-space accounts, call auth_verify, ask the user which space to use, and pass targetSpaceId. A workflow run can call webhooks and functions and create, change, or delete records. It acts as this key's owner but never beyond this key's permission level. If the key is revoked, expires, or is lowered while a run waits, the run fails instead of carrying on. Approve or reject only when the user explicitly instructs that decision. Most approval steps are a person's call and answer 403 ('takes a person's decision'): do not look for another way, tell the user the run is waiting for them.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "runId": "<runId>",
      "decision": "<decision>"
    },
    "name": "workflows_decide"
  }
}

Input Schema

NameRequiredDescriptionDefault
runIdYes
decisionYes
targetSpaceIdNoBusabase space id. Call auth_verify first and ask the user which space to use when more than one is returned.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only flag destructiveHint/openWorldHint; the description goes far beyond by disclosing the authorization model, the 403 failure mode, the fact that the run acts at (never above) the key's permission level, and that revocation/expiry/downgrade while a run waits causes the run to fail. It also warns that the run can call webhooks and functions and mutate records — material context for a destructive decision tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The substantive content is dense and useful, but the leading fragment 'The run after the decision' is broken text that delays the point, and the multi-space/auth guidance is buried mid-paragraph rather than front-loaded. Much of the length earns its place; the opening does not.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema, it covers who may decide, what conditions block it, and what happens when the key degrades mid-run. The gap is the success response — what the agent gets back after a decision (run resumes? returns run object?) is unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33%, so the description must compensate, and it partly does: targetSpaceId gets concrete usage guidance (call auth_verify, ask the user which space, then pass it) and `decision` is constrained by the 'explicitly instructs' rule. `runId` is never described beyond the path template, leaving one required parameter reliant on inference.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The tool's action is identifiable: it records an approve/reject decision on a paused workflow run, reinforced by the POST /workflow-runs/{runId}/decide endpoint. The opening sentence ('The run after the decision') is a garbled fragment that muddies the first impression, but the body makes the effect clear and implicitly separates it from workflows_start / workflows_cancel siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit preconditions are stated: the step must have allowAgents on, the key must be write-level, and the key owner must satisfy the step's approver rule. It also gives the when-not case ('Approve or reject only when the user explicitly instructs') and tells the agent what to do on 403 (don't route around it, tell the user the run is waiting for them).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.