Skip to main content
Glama

get_workflow

Read-onlyIdempotent
Read-only. Returns one workflow template by `workflow_id`: its name, description, status (Active / Inactive), ordered steps, declared inputs, allowed_tools and tags, plus its triggers (including the schedule, if any) and its latest run, and a `run_state` sentence saying what will and won't run. Call it before update_workflow to see the current values: steps, inputs and allowed_tools are replaced outright when updated.

Input roles:
- workflow_id: UUID string of the workflow to fetch.

Usage patterns:
- Before update_workflow: call get_workflow, read the current `steps` / `allowed_tools` / `inputs`, then construct your update payload with those existing values preserved for any field you aren't changing.
- To say whether it runs, and how: read `run_state` and follow it. It states both switches — the workflow's `status` (Active / Inactive) and its schedule (On / Paused / none) — and what that means will and won't run. `schedule` is the read-back of its schedule (`is_enabled`, a plain-language `summary`), present only when it has one.
- Two switches, two vocabularies: the workflow is Active or Inactive; the schedule is On or Paused. Never mix them, and never call a workflow Active without saying whether its schedule is On, Paused or absent — it runs on its own only when it is Active AND its schedule is On.
- To show last run outcome: inspect `_latest_run.status` + `_latest_run.completed_at`.

**Links:** present `link_url` to the user exactly as returned — copy it character for character. Never retype, shorten, or rebuild a link or the IDs inside it.

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": {
      "workflow_id": "<workflow_id>"
    },
    "name": "get_workflow"
  }
}

Input Schema

NameRequiredDescriptionDefault
workflow_idYesUUID of the workflow to fetch, as returned by `list_workflows` or `create_workflow`. The workflow must belong to the user's current team; a workflow owned by another team is refused. Fetch this before any `update_workflow` call so you can preserve the fields you are not changing.

Output Schema

NameRequiredDescriptionDefault
workflowYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so safety is covered; the description goes further by disclosing the replacement semantics of update_workflow and the two-switch vocabulary (workflow status vs. schedule) that governs whether anything actually runs. It doesn't cover error behavior for a foreign-team workflow beyond what the schema says, which keeps it off a 5.

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?

Front-loaded well with "Read-only. Returns one workflow template...", but the pre-update guidance appears twice (opening paragraph and again under Usage patterns), and the single-parameter "Input roles" block duplicates the schema. The run_state vocabulary rules and link-copying rule earn their space; the repetition 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?

Even though an output schema exists, the description usefully explains the semantics of non-obvious return fields (`run_state`, `schedule.is_enabled`/`summary`, `_latest_run`), which the schema likely doesn't convey. Combined with the update-safety guidance, an agent has everything needed to call and interpret it; only minor redundancy keeps it from a 5.

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

Parameters3/5

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

Schema coverage is 100% and the schema itself already explains that workflow_id is a UUID from list_workflows/create_workflow and must belong to the current team. The description's "Input roles" bullet merely restates the type, adding no new syntax or format detail beyond the schema — the baseline 3 applies.

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?

States a specific verb and resource ("Returns one workflow template by `workflow_id`") and enumerates exactly what comes back — name, description, status, ordered steps, inputs, allowed_tools, tags, triggers, latest run, run_state. This is clearly distinguishable from siblings like list_workflows, get_workflow_runs and update_workflow without opening any schema.

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?

Gives explicit when-to-use instructions tied to a sibling: "Call it before update_workflow to see the current values" because steps/inputs/allowed_tools are replaced outright. It also prescribes how to answer run questions (read `run_state`, never mix Active/Inactive with On/Paused) and how to report last-run outcome via `_latest_run.status` + `_latest_run.completed_at`.

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