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.
The library
Bureau ships a registry of ready-to-run workflows — bureau workflow list
shows them all. A tour, by family:
Jobs
job-search-report— search LinkedIn postings, read each in full, filter/dedup, deliver a report.job-apply-gated— apply to a shortlist (Easy-Apply only); every application is drafted and gated, never auto-sent.
Prospecting & outreach
social-prospect-scan— search a platform for people matching a query, capture a quick footprint per hit.prospect-kb— build a per-prospect mini knowledge base.prospect-pipeline— enrich prospect seeds via the intel engine and upsert them into a CRM.linkedin-outreach/crm-linkedin-outreach— build a deduplicated contact list from a CSV or a CRM and run a gated outreach pass.creator-discovery— discover content creators across TikTok, X, YouTube.
Social
social-engage— search a platform for posts matching a query, react to each hit.social-media-archive— read a conversation thread, download every attachment.social-cancel-request— withdraw pending connection requests.domain-author— capture one practitioner's public posts and distill them.
Research & reports
deep-research— five-step citation-backed research pipeline.report-plan/report-generate/report-review/report-polish— outline, write, audit, and quality-loop a long-form report.bible-generate— the long-form research-bible pipeline.
Marketplaces & life
house-search-report— search a marketplace, enrich each listing with a door-to-door commute, deliver a shortlist report.lodging-report/lodging-trip-shortlist— search stays over a date range, read each in full, shortlist.vinted-reprice— read a seller's listings, plan a price drop on the stale ones, apply each gated.
Anything that sends, applies, or posts is gated: the workflow drafts, you (or your agent's approval step) release.
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.