Skip to main content
Glama

workflow_update

Edit a workflow's fields or its definition graph: every call re-validates the definition — yours if resent, else the stored one decoded back — against the resulting trigger_type, so a plain rename can fail if that stored graph no longer validates, and flipping to 'schedule' without a schedule block fails here rather than at the scheduler. When trigger_type ends as 'schedule' and is_active as 1, next_run_at recomputes from schedule and now on every call, even one touching neither field; any value you send for it is ignored. Optional expected_updated_at compare-and-set: a stale value refuses CONFLICT — re-read, merge, retry. NEXT: workflow_read to confirm the new next_run_at.

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": {
      "id": "<id>"
    },
    "name": "workflow_update"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesThe workflow id (workflow_list shows them).
nameNo
is_activeNo
role_nameNo
descriptionNo
next_run_atNo
trigger_typeNo
imported_fromNo
definition_jsonNo
expected_updated_atNoOptional compare-and-set guard: the updated_at from a prior workflow_read/workflow_list. Mismatch returns CONFLICT with the current value.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare the write/safety profile, yet the description adds substantial non-obvious behavior: every call re-validates the stored or resent definition against the resulting trigger_type, so even a rename can fail; flipping to 'schedule' without a schedule block fails here; next_run_at is recomputed and any sent value ignored; CONFLICT on stale expected_updated_at. None of this is inferable from annotations.

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?

Dense but each clause carries real behavioral information; the trigger/revalidation caveat is front-loaded and the follow-up is placed last. Some phrasing ('yours if resent, else the stored one decoded back') is compressed at the cost of readability.

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 and complex validation, this covers the failure modes, the ignored-field rule, the concurrency guard, and the recommended next call. It stops short of stating what the tool returns and does not mention permission requirements.

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?

With only 20% schema coverage across 10 parameters, the description compensates well for the important ones: trigger_type interaction with definition_json and schedule, next_run_at being ignored, and expected_updated_at compare-and-set semantics. It leaves role_name, imported_from, and description unexplained, which is a notable but partial gap.

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+resource+scope: 'Edit a workflow's fields or its definition graph'. This immediately separates it from workflow_create, workflow_read, and workflow_delete in the sibling list.

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

Usage Guidelines4/5

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

Gives concrete operational guidance: use expected_updated_at for compare-and-set, and on stale value 're-read, merge, retry'. It also names the follow-up ('NEXT: workflow_read to confirm the new next_run_at'). It does not explicitly state when to prefer workflow_create vs. update, but that distinction is obvious.

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