Procedures

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.”
API keys can invoke procedures directly — no dashboard session needed.

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.

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.