Skip to main content
Glama

Runworkflow

runWorkflow

Start a new run for a workflow. The workflow must be runnable via API and the caller must have the Run workflows permission. The scope type must match the workflow filter type. Set workflow variables with initialContext. Returns the run's initial status and run id for polling via getWorkflowRun. The run context is left out unless includeContext=true.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
runAsNoUser's email to run the workflow as
scopeYesScope of the workflow run (e.g., target entities)
contextYes Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
tagOrIdYesEntity identifier - can be a tag or CID
session_idYesSession continuity handle, one of two values: the ses_ ID issued for the task underway, or start. This server cannot link your calls between requests on its own, so session continuity travels in this parameter instead. If you were handed a session_id for this task — for example by the agent that spawned you — send that exact value from your first call. Otherwise send start on your first call; the server will issue an opaque correlation ID in the mcp_session field of the result, or in a text block at the start of the result beginning [session_id issued. Then send that exact ses_ value on every later call and hand it to any subagents working the same task. start always begins a new, unrelated task — never send it mid-task. If you send a value this server does not recognize, the result reports it: mcp_session.status of unrecognized, or a text block beginning [session_id unrecognized; re-send the ID issued for this task, or start if none was issued yet. Never invent a ses_ value.
includeContextNoWhen true, the response includes the run context. Defaults to false for MCP clients and true otherwise.
initialContextNo
notificationRecipientsNoList of email addresses to notify of workflow updates.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / scope / anyOf
      Previous value: -[
      -  {
      -    "allOf": [
      -      {
      -        "description": "Scope of the workflow run (e.g., target entities)",
      -        "properties": {
      -          "type": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "type"
      -        ],
      -        "type": "object"
      -      }
      -    ],
      -    "required": [
      -      "type"
      -    ],
      -    "title": "GLOBAL",
      -    "type": "object"
      -  },
      -  {
      -    "allOf": [
      -      {
      -        "description": "Scope of the workflow run (e.g., target entities)",
      -        "properties": {
      -          "type": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "type"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "properties": {
      -          "entityId": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "entityId"
      -        ],
      -        "type": "object"
      -      }
      -    ],
      -    "required": [
      -      "type"
      -    ],
      -    "title": "ENTITY",
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "allOf": [
      +      {
      +        "description": "Scope of the workflow run (e.g., target entities)",
      +        "properties": {
      +          "type": {
      +            "description": "Must match the workflow filter type: `GLOBAL` for a GLOBAL filter, `ENTITY` for an ENTITY filter",
      +            "enum": [
      +              "GLOBAL",
      +              "ENTITY"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "type": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type"
      +        ],
      +        "type": "object"
      +      }
      +    ],
      +    "required": [
      +      "type"
      +    ],
      +    "title": "GLOBAL",
      +    "type": "object"
      +  },
      +  {
      +    "allOf": [
      +      {
      +        "description": "Scope of the workflow run (e.g., target entities)",
      +        "properties": {
      +          "type": {
      +            "description": "Must match the workflow filter type: `GLOBAL` for a GLOBAL filter, `ENTITY` for an ENTITY filter",
      +            "enum": [
      +              "GLOBAL",
      +              "ENTITY"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "entityId": {
      +            "description": "The tag or CID of the entity to run the workflow on",
      +            "type": "string"
      +          },
      +          "type": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "entityId",
      +          "type"
      +        ],
      +        "type": "object"
      +      }
      +    ],
      +    "required": [
      +      "type"
      +    ],
      +    "title": "ENTITY",
      +    "type": "object"
      +  }
      +]
    • addedInput schema / properties / scope / properties / type / description
      Added value: +"Must match the workflow filter type: `GLOBAL` for a GLOBAL filter, `ENTITY` for an ENTITY filter"
    • addedInput schema / properties / scope / properties / type / enum
      Added value: +[
      +  "GLOBAL",
      +  "ENTITY"
      +]
  2. Added

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and delivers real behavioral content: authorization requirement, the API-runnable constraint, the scope/filter-type matching rule, and the return shape (initial status + run id). It omits side-effect/destructiveness and idempotency details, but the auth and argument-consistency disclosures go well beyond what structured fields provide.

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, then prerequisites, then return/context behavior in five tight sentences with no filler. Slightly dense, but each sentence earns its place and no redundancy with the schema.

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?

Despite 8 parameters, nested scope objects and no output schema, the description covers preconditions, the scope-matching constraint, context handling, and the return values needed for polling. It is essentially complete for correct invocation, with only minor gaps (runAs, notificationRecipients) left to the schema.

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 already high (88%), so the baseline is 3, but the description adds genuine meaning: 'Set workflow variables with initialContext' clarifies the otherwise undocumented object parameter, and the includeContext sentence explains default behavior that the schema only partially states. It adds value beyond the schema for the two most ambiguous arguments.

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 ('Start a new run for a workflow'), which cleanly separates it from read-only siblings like getWorkflow, listWorkflows and listWorkflowRuns. It even names getWorkflowRun as the downstream polling tool, so an agent can place it in the lifecycle 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 Guidelines4/5

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

Gives concrete preconditions for invocation (workflow must be runnable via API, caller needs the 'Run workflows' permission, scope type must match the filter type) and points to getWorkflowRun for follow-up polling. It stops short of explicit when-not-to-use or alternative-tool exclusions, so it is clear context rather than full routing.

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