Skip to main content
Glama

Deploy workflow

deploy_workflow
Destructive

Deploy a saved workflow to the user's Cloudflare account, replacing the live version with a server-recompiled graph; returns deployment ID, version, and live URL.

Instructions

Deploy a saved workflow to the user's own Cloudflare account, replacing any live version. The server recompiles the saved graph itself; no code you send is ever deployed. Save and validate first, and call check_setup early so missing connections are fixed in time. Unless the owner allowed this connection to deploy without asking, the call waits up to 90 seconds for the owner to approve it in an open Nodes2Cloud browser tab: tell the user to approve it there. Some protected connections need an extra approval each. Editing the workflow while approval is pending cancels the deploy. If a needed service is not connected and your client supports URL elicitation, you get input_required with a link and a requestState: show the link, wait, then retry with the same workflowId and that requestState. Returns the deployment id, version number and live URL.

Input Schema

NameRequiredDescriptionDefault
workflowIdYesThe workflow's id, from list_workflows or create_workflow.
requestStateNoOnly on a retry: the opaque requestState from a previous `input_required` answer to this same call. Never invent or edit one.

Output Schema

NameRequiredDescriptionDefault
urlNo
cronNo
warningNo
warningsNo
setupGapsNo
resultTypeNo
elicitationNo
deploymentIdNo
requestStateNo
retryGuidanceNo
versionNumberNo
missingProvidersNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.2.0

TDQS

A4.5/5.0
Behavior5/5

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

Adds substantial context beyond the annotations: a 90-second owner-approval wait, that protected connections need an extra approval each, that editing during a pending approval cancels the deploy, and the exact `input_required` elicitation contract. This complements destructiveHint/openWorldHint rather than merely restating them.

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-loads the action and the mechanism, then sequences prerequisites, approval behavior, and error paths in a logical order. It is dense but nearly every sentence carries operational consequence; only the closing return-value sentence is mildly redundant given the output schema.

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 the full complexity of a destructive, human-gated deploy: prerequisites, approval timing, cancellation risk, elicitation recovery, and outcomes. Nothing an agent needs to invoke it correctly or recover from a blocked call 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 both parameters are already documented. The description adds meaning by explaining that requestState is only supplied on a retry after input_required and must be paired with the same workflowId, which clarifies the two-parameter interaction beyond the field-level text.

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?

States a specific verb and resource ("Deploy a saved workflow to the user's own Cloudflare account, replacing any live version") and clarifies the mechanism ("The server recompiles the saved graph itself; no code you send is ever deployed"). It does not name a sibling it is explicitly not, so the distinction from run_workflow or call_deployed_workflow is left implicit, but the scope is 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?

Gives explicit ordering constraints ("Save and validate first, and call check_setup early") that point at specific sibling tools and the condition for using them. It also defines the approval-wait path, the retry-with-requestState path, and the cancellation hazard, so the agent knows both when to call and how to proceed when it stalls.

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