Skip to main content
Glama

Run workflow

run_workflow
Destructive

Run a workflow now and return the outcome: status, content_type, the workflow's output (decoded as a string; read it per content_type), and a trace_summary of which steps ran. Pass version= to test an unpublished draft (the number returned by create_workflow_version); omit for the published version. For per-block detail when debugging, call get_workflow_run_traces with the returned run_id. A workflow that runs as a chain (continuation) answers with its first run and returns chain: the rest of the job runs in the background as further runs, and its chain_id is this run_id; follow it with list_runs(chain_id) until a run says continues false.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugNothe workflow slug to run (provide this or workflow_id)
inputNoJSON bound as the workflow's $input for this run
versionNoexplicit version to run; 0 (default) runs the last published version. To test a draft you just created but have not published, pass the version number returned by create_workflow or create_workflow_version
datafileNooptional: a datafile slug to bind as the workflow's host context ($datafile / $data) for this run — mirroring how a dynamic endpoint binds one, so you can test a workflow that reads $datafile without wrapping it in an endpoint. Binds the datafile's current stored content (its JSON must be an object). A trailing @latest/@published is ignored.
workflow_idNothe workflow id to run (provide this or slug)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
chainNopresent only when this run started (or continued) a chain: more runs of this workflow are queued and run in the background
errorNo
outputNo
run_idYes
statusYes
messageNo
content_typeYes
trace_summaryNo
trace_truncatedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / chain
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "present only when this run started (or continued) a chain: more runs of this workflow are queued and run in the background",
      +  "properties": {
      +    "chain_id": {
      +      "description": "the chain's id: the run_id of its first run",
      +      "type": "string"
      +    },
      +    "continues": {
      +      "description": "true if another run of the chain was queued after this one; false on the last run, when the chain has finished",
      +      "type": "boolean"
      +    },
      +    "link_index": {
      +      "description": "this run's place in the chain, 0 for the first",
      +      "maximum": 2147483647,
      +      "minimum": -2147483648,
      +      "type": "integer"
      +    },
      +    "origin": {
      +      "description": "what started the chain when it was not a schedule: mcp, schedule_manual",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "chain_id",
      +    "link_index",
      +    "continues"
      +  ],
      +  "type": [
      +    "null",
      +    "object"
      +  ]
      +}
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations mark destructive=true and openWorld=true, and the description adds real context beyond them: it explains return shape, that a chain returns only its first run with background continuation, and how to follow it. This discloses runtime behavior the annotations can't express.

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

Conciseness4/5

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

Front-loaded with the core action and return fields, then secondary guidance. A dense but well-structured paragraph where each clause carries useful routing information; only slightly long.

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

Completeness5/5

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

Covers invocation, return interpretation, draft testing, debugging handoff to traces, and the tricky chain/continuation follow-up. With an output schema present, this is complete enough for an agent to call and consume results correctly.

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 100%, so the baseline is 3; the description adds value by explaining the version-to-draft-testing workflow and the chain_id follow-up, though it doesn't clarify the slug/workflow_id exclusivity beyond what the schema states.

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

Purpose5/5

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

Opens with a specific verb and resource ('Run a workflow now') and immediately distinguishes itself from creation/versioning siblings by describing the execution outcome. It also names the returned fields, making the execution semantics unambiguous.

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?

Explicitly states when to pass version to test a draft versus omitting for published, and routes debuggers to get_workflow_run_traces and chain consumers to list_runs(chain_id). When-to-use alternatives are named directly.

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.

Resources