Teach once, invoke by name.
Reasoning about a page is flexible and costs model calls. For a flow you perform the same way every time, that flexibility is a tax.
- No credit card required
- Free plan to start
Why reasoning every time is wasteful
- The same known flow gets re-derived on every run.
- Model calls cost money and time you don't need to spend.
- You want determinism where the process is fixed.
- Writing a script for it puts you back in selector maintenance.
How procedures work
Demonstrated, then compiled
Record it once in your own browser; the server compiles a parameterised procedure from what it observed.
Replay costs almost nothing
A replay is deterministic — no planning calls for the steps that are already known.
Secrets are never captured
Password, card, and one-time-code fields abort recording entirely. There is no field in the wire format for a typed value.
It fails rather than improvises
A pinned invocation that meets a changed page errors instead of guessing.
How you'd call it
A goal and a schema over HTTP — no selectors to maintain and no browser fleet to run.
“POST /v1/procedures/:id/run with {parameters: {...}} to replay a taught flow with different inputs.”
Questions people ask
What if the site changes?
Read-only drift self-heals; drift on an action escalates or fails, depending on how you invoked it. Nothing improvises through an action it can't verify.
Is a recorded flow shared across my workspace?
Yes — procedures belong to the workspace, and are only used automatically if someone explicitly enables that.
Can it capture my password?
No. Identity fields abort the recording outright, and the client-to-server contract has no field that could carry a typed value.
Related use cases
What will you hand over?
Start with one task. Watch it run, take the wheel whenever you want, and keep the ones that earn their place.
