Use **If / Else** to choose the next steps from a check of the page, URL, literal text, or a declared saved name. A match runs **Then**; otherwise it runs **Else**.

It evaluates once when the runner reaches the step. That is a match at that moment — not “the text changed since last reload.” A missing element is Else, not a failed wait. An empty Else continues after the If.

Alerts are not a property of If. Place [Send Alert](/steps/send-alert) in Then or Else.

## How to add it

**Add Step** → **If / Else**. **Pick on page** writes the first Page operand. **Whole page** on a Page operand sets that selector to `body`. The **Saved** operand picks a name from the sheet [Values](/steps/values) list.

All match / Any match appears once there are two or more clauses.

For a later text change, or to block until something appears, use [Wait / Delay](/steps/wait-delay) Until. The card suffix **· Watch** means a Wait Until exists, not an If toggle.

## Not this step

Is not Wait Until (blocking poll). Is not [Save value](/steps/save-value). Is not Send Alert.

## Related guides

[Compare auto refresh with page monitoring](/blog/auto-refresh-vs-page-monitor) to choose between a timer, a check at this step, and Wait Until. [Troubleshoot silent Chrome notifications](/blog/chrome-notifications-not-working) when an alert branch runs without a banner.
