> For the complete documentation index, see [llms.txt](https://docs.flowstem.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flowstem.app/commands.md).

# Command reference

Commands are the individual actions that make up a Flowstem workflow. This reference follows the same categories and order as the **Add Command** menu.

## Command categories

* [Page interactions](/commands/page-interactions.md) click, type, scroll, and work with page controls.
* [Data extraction](/commands/data-extraction.md) capture page values or save files.
* [Navigation](/commands/navigation.md) open pages and manage browser tabs.
* [Control flow](/commands/control-flow.md) repeat, branch, and reuse workflow steps.
* [Basic utilities](/commands/basic-utilities.md) wait, validate, log, and document a workflow.
* [Advanced utilities](/commands/advanced-utilities.md) transform values, call APIs, use AI, and run JavaScript.
* [Apps](/commands/apps.md) connect workflows to services such as Google Sheets.

## Values and variables

Most text fields accept literal text and Flowstem variables. A variable name starts with `$`, such as `$customer_name`. Insert a saved variable into a later field to reuse its value. Commands that produce values show their output field in this reference.

Variables exist for the current run. Loop and Sub-Workflow commands can make additional values available while their enclosed commands are running.

## Selectors

A selector identifies an element on the page. Use Flowstem's visual selector whenever it is available, or enter a CSS selector manually. A command can target:

* **Visible** elements only, which is the safest choice for clicks and typing.
* **Present** elements, including elements that exist in the page but are not visible.

## Settings shared by commands

Most executable commands include these reliability settings:

* **Timeout** is the maximum time allowed for one attempt.
* **Retries** controls how many additional attempts Flowstem makes after a failure.
* **Continue on failure** records the error and moves to the next command instead of stopping the workflow.
* **Disabled** keeps the command in the workflow but skips it during a run.

Timeouts and retries still count toward the Free plan's one-minute run limit.

## Test before running

Use a command's test control while building. Testing confirms selectors, permissions, variables, and connected services before the complete workflow runs. Commands that depend on earlier variables may need those values entered or created first.

{% hint style="info" %}
Sub-Workflow is available on the Desktop plan. All other commands in this reference are available on Free and Desktop, subject to the Free plan's one-minute limit per run.
{% endhint %}
