Skip to main content
Glama

Run a workflow

run_start
Destructive

Starts a saved Ritoko browser workflow across Excel/CSV rows without an LLM, submits real data, and returns status, counts, and problem items.

Instructions

Runs a saved workflow on its input rows without an LLM, submitting real data to the site. Call only when the user asked to run this workflow (read params with workflow_get first). Never use it to diagnose a breakage or to finish an interrupted run (use run_resume). Done rows are skipped; repeat: true only on explicit user request. Returns status done|partial|stopped|needs_repair, runId, counts and problem items (run_report lists all). On needs_repair: browser_act inspect, step_repair, then run_resume, in the same session. On a timeout or busy error, poll run_report; never call run_start again.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsNo
repeatNo
workflowYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare openWorldHint and destructiveHint, and the description goes well beyond them: real data is submitted, done rows are skipped, return statuses (done|partial|stopped|needs_repair) are enumerated, and both the needs_repair recovery path and the timeout/busy retry policy (poll run_report, never re-call run_start) are disclosed.

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 front-loaded, with the core action first and constraints following. Every sentence carries an instruction or constraint, though the error-handling tail is packed tightly enough that it borders on being a wall of text.

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 what the tool does, its preconditions, its return shape (status, runId, counts, problem items) despite no output schema, and the downstream recovery flows. Nothing an agent needs to invoke it correctly 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 0%, so the description must carry the load, and it does for all three parameters: workflow is a saved workflow, params should be read with workflow_get, and repeat should only be true on explicit request. It does not describe the string-map shape of params, so a small gap remains.

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 ('Runs a saved workflow on its input rows'), plus scope qualifiers (without an LLM, submits real data to the site). It is clearly distinguishable from siblings like run_resume and run_report, which are named directly.

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?

Explicit when-to-use ('Call only when the user asked to run this workflow'), explicit when-not ('Never use it to diagnose a breakage or to finish an interrupted run'), and names the alternative (run_resume). Adds the repeat:true precondition as an explicit user-request gate.

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