docs ▸ Teach the agent ▸ Step reference Runs on Writ Cloud Desktop Self-hosted
On this page 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 Step JSON type What it does Navigate navigateLoad a URL in the live tab and wait for it to settle. Navigated to navigated_toRecorded marker: the page itself navigated; replay waits for the expected URL.
Interaction Step JSON type What it does Click clickClick an element identified by a stable selector. Hover hoverMove the pointer over an element to reveal hover-only UI. Press key pressPress a keyboard key or shortcut. Focus focusMove keyboard focus to an element without clicking it. Fill fillSet a field's value in one operation. Type typeEnter text keystroke-by-keystroke. Select selectChoose an option from a dropdown. Check checkSet a checkbox or radio to checked. Uncheck uncheckSet a checkbox to unchecked. Scroll scrollScroll the page, e.g. to load lazy content. Scroll into view scroll_into_viewBring a specific element into the viewport. Upload file uploadAttach a stored file to a file input or file chooser.
Waiting Step JSON type What it does Wait waitPause for a duration or until a condition holds. Wait for change wait_for_changeWait until watched page content changes. Wait for download wait_for_downloadWait for a file download to complete and capture the file.
Extraction Step JSON type What it does Extract extractPull structured data out of the page into named fields. Evaluate (JS) evaluateRun JavaScript in the page and capture its result. Codegen codegenRun a self-contained generated script against the page. Screenshot screenshotCapture the page as an image, stored with the run. API call api_callMake an HTTP request from inside the page session.
Tabs Step JSON type What it does Open tab open_tabOpen a new browser tab, optionally at a URL. Wait for tab wait_for_tabWait for a new tab to open, then switch to it. Switch tab switch_tabMake a different open tab the active one. Tab closed tab_closedRecorded marker: the active tab closed; replay closes it too.
AI Step JSON type What it does AI fill ai_fillLet the AI fill a field when a selector is not enough. AI fill form ai_fill_formLet the AI complete a whole form from the available data. AI continue ai_continueLet the AI decide and take the next actions toward a goal. AI navigate ai_navigateLet the AI find and reach a described destination.
Authentication Step JSON type What 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 step captchaComplete an interactive verification on a page you are authorized to use.
Flow Step JSON type What it does Return returnEnd the workflow here and return what has been collected. End point end_pointMark the workflow's finish line, optionally behind a condition. Assert assertRequire 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.