Workflows
List and run declarative WORKFLOW.md automations from the registry — from the CLI or as MCP tools.
A workflow is a declarative WORKFLOW.md automation: a named, parameterized
sequence that composes Bureau's capabilities (navigate, scrape, social, act)
into a repeatable job. Workflows come from the registry; you can also save a
pre-configured binding (a workflow with its session + standing inputs
pre-filled).
From the CLI
bureau workflow list # registered + bound workflows
bureau workflow run <id> [options] # run one
bureau workflow bind <id> # save a reusable, pre-configured handle
bureau workflow unbind <id> # remove a bindingbureau workflow run options include --session <id> (run as a saved
identity), --offline (a canned payload, no browser), --send (perform any
delivery step), and --out <path>. Bindings live under
~/.agentproto/bureau/bindings (override with BUREAU_BINDINGS_DIR).
As MCP tools
Two tools mirror the CLI so an agent can discover and run workflows:
bureau_workflow_list— lists what this Bureau can run: id, name, what it does, required inputs, and which live capabilities it needs. A binding showsboundFrom+sessionAttachedand only asks for inputs it hasn't pre-filled. Call this first to discover ids and inputs.bureau_workflow_run— runs a workflow or binding by id and returns its structured output. Passinputsper the list, and when a session is needed, exactly one of:offline(canned payload, no browser),session(a saved logged-in identity), orliveUrl(an anonymous live Camofox tab). Any delivery is captured and returned, not sent externally.
Authoring
A workflow is authored as a WORKFLOW.md in the registry. It declares its id,
inputs, and the capabilities it needs; bureau_workflow_list reflects those so
callers know what to pass. Bind one with bureau workflow bind <id> to freeze a
session and standing inputs into a reusable handle — anything passed at run time
overrides the bound values.