Press / to search

All documentation
docs▸Teach the agent▸Step reference

Runs onWrit CloudDesktopSelf-hosted

workflows ▸ step reference

Step reference

A workflow is an ordered list of steps. Each step is a small JSON object with a type, and each one can read the output of the steps before it.

There are 30+ step types. They are grouped below by family; open any step for its fields, a working example and its behaviour.

Every step, by family

Navigation

StepJSON typeWhat it does
NavigatenavigateLoad a URL in the live tab and wait for it to settle.
Navigated tonavigated_toRecorded marker: the page itself navigated; replay waits for the expected URL.

Interaction

StepJSON typeWhat it does
ClickclickClick an element identified by a stable selector.
HoverhoverMove the pointer over an element to reveal hover-only UI.
Press keypressPress a keyboard key or shortcut.
FocusfocusMove keyboard focus to an element without clicking it.
FillfillSet a field's value in one operation.
TypetypeEnter text keystroke-by-keystroke.
SelectselectChoose an option from a dropdown.
CheckcheckSet a checkbox or radio to checked.
UncheckuncheckSet a checkbox to unchecked.
ScrollscrollScroll the page, e.g. to load lazy content.
Scroll into viewscroll_into_viewBring a specific element into the viewport.
Upload fileuploadAttach a stored file to a file input or file chooser.

Waiting

StepJSON typeWhat it does
WaitwaitPause for a duration or until a condition holds.
Wait for changewait_for_changeWait until watched page content changes.
Wait for downloadwait_for_downloadWait for a file download to complete and capture the file.

Extraction

StepJSON typeWhat it does
ExtractextractPull structured data out of the page into named fields.
Evaluate (JS)evaluateRun JavaScript in the page and capture its result.
CodegencodegenRun a self-contained generated script against the page.
ScreenshotscreenshotCapture the page as an image, stored with the run.
API callapi_callMake an HTTP request from inside the page session.

Tabs

StepJSON typeWhat it does
Open tabopen_tabOpen a new browser tab, optionally at a URL.
Wait for tabwait_for_tabWait for a new tab to open, then switch to it.
Switch tabswitch_tabMake a different open tab the active one.
Tab closedtab_closedRecorded marker: the active tab closed; replay closes it too.

AI

StepJSON typeWhat it does
AI fillai_fillLet the AI fill a field when a selector is not enough.
AI fill formai_fill_formLet the AI complete a whole form from the available data.
AI continueai_continueLet the AI decide and take the next actions toward a goal.
AI navigateai_navigateLet the AI find and reach a described destination.

Authentication

StepJSON typeWhat it does
Login (request)login_postSign in as a request instead of a DOM form, on your own account.
Two-factor (2FA)twofaComplete a two-factor challenge on your own account.
Verification stepcaptchaComplete an interactive verification on a page you are authorized to use.

Flow

StepJSON typeWhat it does
ReturnreturnEnd the workflow here and return what has been collected.
End pointend_pointMark the workflow's finish line, optionally behind a condition.
AssertassertRequire the page to be in an expected state, or fail the run.

How steps get written

You rarely write these by hand. The recorder emits them while you click through the site, and Scribe emits them from a description in plain words. This page is for reading a workflow someone else built, and for editing one by hand when you need exact control.