Skip to main content
Glama

Workflows: publish

workflows_publish
Destructive

Publishes a neonloops workflow so it runs on its own (schedule, webhook or app event). Pick with action:

  • publish (the default): the current draft becomes a new live version;

  • rollback: an earlier version (version_id) goes live again;

  • unpublish: it goes off live; versions and draft stay. Each takes two calls: the first changes nothing and returns what would happen with a confirmation_token (with the view permission a publish shows its checks and a refused draft gets no token; without it the token comes unchecked); the second, with the same arguments plus that token within 5 minutes, does it and runs the checks, so it can still be refused. Try a draft with runs_test_draft first. Deleting a workflow cannot be undone, so it is deliberately left to a person, in the app or on the full connection (/api/mcp/full).

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": "workflows_publish"
  }
}

Input Schema

NameRequiredDescriptionDefault
actionNoDefaults to publish, which makes the current draft live as a new version. With rollback, an earlier version goes live again (needs version_id). With unpublish, the workflow goes off live and its schedule and app-event subscriptions stop.publish
version_idNoFor rollback only: the version to make live. Versions and their ids are in workflows_get.
workflow_idYesThe workflow; workflows_list gives the ids.
confirmation_tokenNoOmit to PREVIEW: nothing is changed and a confirmation token is returned. Call again with that token, and the identical arguments, to perform the action.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / action
      Added value: +{
      +  "default": "publish",
      +  "description": "Defaults to publish, which makes the current draft live as a new version. With rollback, an earlier version goes live again (needs version_id). With unpublish, the workflow goes off live and its schedule and app-event subscriptions stop.",
      +  "enum": [
      +    "publish",
      +    "rollback",
      +    "unpublish"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / confirmation_token
      Added value: +{
      +  "description": "Omit to PREVIEW: nothing is changed and a confirmation token is returned. Call again with that token, and the identical arguments, to perform the action.",
      +  "type": "string"
      +}
    • addedInput schema / properties / version_id
      Added value: +{
      +  "description": "For rollback only: the version to make live. Versions and their ids are in workflows_get.",
      +  "format": "uuid",
      +  "type": "string"
      +}
    • addedInput schema / properties / workflow_id / description
      Added value: +"The workflow; workflows_list gives the ids."
  2. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only mark it non-readonly, destructive, and open-world; the description goes far beyond by disclosing the two-call preview/confirm protocol, the 5-minute token window, permission-dependent token issuance, that the second call still runs checks and can be refused, and that unpublish retains versions and draft while stopping schedule and app-event subscriptions.

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 purpose and organized as a bulleted action list followed by the two-call protocol. It is dense and heavy with parentheticals, which makes it slightly harder to parse than necessary, but nearly every clause carries operational information.

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?

For a mutation tool with no output schema, the description covers the confirmation flow, failure modes (refused draft, checks failing), token lifetime, permission variance, and irreversible-operation boundaries. Nothing an agent needs to invoke 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 adds semantics not in the schema: the 5-minute expiry on confirmation_token, the effect of the view permission on whether a token is returned, and the requirement that the second call use identical arguments. It largely restates the action enum, which the schema already documents, so it falls short of 5.

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 ('Publishes a neonloops workflow so it runs on its own') and immediately enumerates the three action variants with the default called out. It also distinguishes itself from adjacent operations by naming runs_test_draft and explicitly excluding deletion.

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 routing ('Try a draft with runs_test_draft first') and a when-not-to-use boundary ('Deleting a workflow cannot be undone, so it is deliberately left to a person, in the app or on the full connection'). Action selection guidance is spelled out per enum value.

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