-
Notifications
You must be signed in to change notification settings - Fork 0
Workflows
A workflow is a browser task you recorded once and can replay forever. Recording uses AI to understand the page; replay never does — it executes the saved step list on your own machine, so run 10,000 costs exactly what run 1 did.
Workflows → New → Record the steps. Give it a name and an entry URL, pick an agent (or leave it on Auto), and Continue.
A live browser opens inside the wizard. Click, type and navigate as you normally would; each action is captured as a step, with a selector generated for it. The panel on the right fills in as you go.
Two modes:
| One-shot | Run it, get a result, stop. Right for a scrape, a form submit, a data pull — most workflows. |
| Live session | The browser stays open across calls. For conversational or multi-turn use, and what the OpenAI-compatible API drives. |
While recording you can also:
- Extract — click the button, then click an element to capture it as data. The generated selector is shown as you hover.
- Record waits — the toggle captures the pauses you take, so replay does not outrun a slow page.
- Ask AI — describe what you want in the bar at the bottom instead of clicking it yourself.
Press Done recording to save.
A recording is an editable list, not an opaque blob. Open a workflow and use Steps → Edit to reorder, disable, delete or retype a step, fix a selector that has drifted, or add a wait.
Step types include navigate, click, fill, wait, extract, screenshot, API call and evaluate. Related steps can be grouped into a reusable function.
Press Run. The coordinator dispatches to an agent with free capacity and streams progress back. Results land in the workflow's dataset — see Datasets.
If a site has genuinely changed, the run fails loudly and names the step that broke, rather than improvising something different.
Schedule → on, then choose:
- Interval — every N minutes/hours
- Daily — a wall-clock time
- Weekly — a time plus weekdays
Scheduled runs respect MAX_CONCURRENT_RUNS and the per-host rate limit, so a
burst of schedules cannot hammer one target.
A step value written as {{name}} becomes a runtime input. Callers supply it
when they run the workflow — through the UI, the REST API or an
MCP tool. Credentials should come from a persona or secret
rather than being typed into a step.
A saved workflow can be handed to other software three ways:
- as an HTTP endpoint — REST API
- as a tool for an AI assistant — MCP
- as an OpenAI-compatible model — OpenAI-compatible API
Runs lists every execution with status, duration, the agent that ran it and
the data produced. Records are purged after RUN_RETENTION_DAYS (default 90).
usewrit/writ · AGPL-3.0-only · Issues · Discussions · Report a vulnerability
Getting started
Using it
Integrations
Operations
Reference