Skip to main content
Glama

design_workflow_draft

DestructiveIdempotent

Design a workflow graph with AI for an existing workflow (PRO and above). Called with a prompt, it returns a proposed graph, a plain-language readback of what that graph would do, and a diff against the current one, without saving anything. Called with a graph from a previous reply, it saves that graph, and saving always requires acknowledgeChanges, so a person sees the readback before a workflow changes. Without it the reply is a refusal carrying that readback. It edits an existing workflow and cannot create one, and it cannot activate a workflow: a saved draft stays in whatever state the workflow was already in. Unresolved references, such as an approver who is not in the workspace, are listed on the draft and prevent it being saved until a person chooses them. A draft is built for the trigger the workflow already has, returned as trigger with triggerProposed false; it never changes a workflow's trigger or name.

Input Schema

NameRequiredDescriptionDefault
graphNoA graph from a previous generate reply, to SAVE. Omit when generating.
promptNoWhat the workflow should do, in plain words. Used to GENERATE; omit when saving a graph.
workflowIdYesThe workflow to design for. Get one from list_workflows.
acknowledgeChangesNoSet true to save a graph that removes a step or adds one reaching outside Onplana, after reading the diff.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only give destructiveHint/readOnlyHint/idempotentHint; the description adds far more: the dry-run generate path returns graph + readback + diff and saves nothing, saving always requires acknowledgeChanges so a human reviews the diff, a missing acknowledgement produces a refusal carrying the readback, unresolved references (e.g. an approver not in the workspace) block saving until chosen, and the trigger/name are never altered. This is exactly the behavioral detail annotations cannot convey.

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?

The generate-vs-save distinction is front-loaded and nearly every clause carries non-redundant information (guardrails, refusal behavior, trigger immutability). It is a dense single block of prose rather than a structured list, which makes the mode-switching and guardrail clauses slightly harder to scan, but there is little padding.

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?

With no output schema, the description still names the return payloads (proposed graph, plain-language readback, diff), the save/refusal outcomes, and the blocking failure mode (unresolved references). For a mutable, dual-mode tool with a nested graph object, nothing an agent needs to call it safely is missing.

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, but the description meaningfully reinforces semantics: 'graph' is a save payload from a previous reply (omit when generating), 'prompt' drives generation (omit when saving), and acknowledgeChanges is mandatory for saves that remove a step or reach outside Onplana. It adds the mutual-exclusion and the review prerequisite beyond the schema's per-parameter text.

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 ('Design a workflow graph with AI for an existing workflow') plus scope constraints, and contrasts itself with adjacent concepts by declaring it edits an existing workflow and cannot create or activate one. An agent can distinguish it from get_workflow, duplicate_workflow, list_workflows and test_run_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?

Explicitly routes the two usage modes: called with 'prompt' it generates a preview (writes nothing), called with 'graph' from a previous reply it saves. It also states the when-not conditions (cannot create a workflow, cannot activate one, saved draft stays in whatever state the workflow was already in), so the agent knows the boundaries before calling.

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.