browser_flow
Record verified browser actions, save them as a reusable flow, then replay on a new page with variables to repeat tasks like submitting forms without model calls between steps.
Instructions
Record and replay browser work. Every verified browser_act on a tab is recorded (targets by what they are, not by ref; passwords and other secrets never). After a task succeeds once, action=save turns that tab's recorded steps into a flow; action=run replays it on a tab with no model call between steps, re-finding each element on the live page, so repeating the task (the next job application on the same site, the next record in the same form) takes seconds. Pass start_url for the new page and variables for the values that change; save reports the detected variables. A run stops at the first step it cannot find unambiguously or verify, and says which steps are done and which remain; finish that step yourself, then run again with from_step. The same review and authority apply to a replayed submit as to one you click yourself: run only a flow whose steps the user's request covers.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | save: a short name, e.g. 'Apply on careers.example.com'. | |
| action | Yes | recorded: numbered verified steps on tab_id so far. save: store them (or from_step..to_step) as a flow. list: saved flows. show: one flow's steps and variables. run: replay flow_id on tab_id. delete: remove flow_id. | |
| tab_id | No | recorded, save, run: the tab. | |
| flow_id | No | show, run, delete: from save or list. | |
| to_step | No | save: last recorded step to include (default: the latest). | |
| from_step | No | save: first recorded step to include (default 1). run: step to resume from after finishing a stopped step yourself. | |
| start_url | No | run: page to start on, e.g. the next job's apply page. Omit to start where the flow was recorded, or on the current page when the tab is already there. | |
| variables | No | run: values for this run by variable name, e.g. {"email": "a@b.com"}. Unnamed variables keep the recorded value; an unknown name is an error. |