run_flow - kubed-io/selenium-flow GitHub Wiki
Run a saved flow.
| MCP tool | run_flow |
| HTTP | POST /flows/{name}/runs |
Every step, in order, server-side, against this workspace's browser. Stops at the first failing step unless that step says onError: continue, and reports which step stopped it and what page the browser was on. Returns a line per step; pass verbose for every step's full result.
| Name | Type | Required | Default | Notes |
|---|---|---|---|---|
name |
string | yes | — | |
params |
object | no | — | The values this flow declares. |
verbose |
boolean | no | false |
Every call names its workspace: an X-Workspace header, or
?workspace=<name>. Sending both is refused. See Workspaces.
| Field | Type | Notes |
|---|---|---|
flow |
string | |
workspace |
string | |
status |
string | |
hint |
object | On a failed run: where to read about this kind of failure and which prompt repairs it. read is absent when the skill is not being served. |
steps_run |
integer | |
steps_total |
integer | |
steps |
array | |
url |
string | |
title |
string | |
url_redacted |
boolean | Present, and true, only when the page the run ended on carried a value typed from a secret: url is scrubbed, is not a real address, and must not be navigated back to. |
site_data |
object | Present only when site data was restored, skipped or forgotten in this call. |
page |
object | Present only when this browser was opened with capture=true and the page reported a failure while the call ran: what it caused, and where to read it. |
| Status | Means |
|---|---|
400 |
The request cannot succeed as sent — an unusable name, a flow that does not exist, a document that would not run, or a write aimed at the read-only shared library. Do not retry it unchanged. |
401 |
Missing or wrong bearer token. |
413 |
The body is over its cap: 1 MiB of JSON, 64 MiB of upload, 1 MiB of flow YAML. Send less; retrying it unchanged will fail again. |
500 |
Something failed that this server did not expect. |
Over MCP the same failures arrive as a tool error.
MCP
run_flow(name="…")
HTTP
curl -X POST $SELENIUM_FLOW/flows/my-flow/runs \
-H "Authorization: Bearer $TOKEN" \
-H "X-Workspace: $WORKSPACE"