Choose the behavior that matches the signal you need:

- **Use auto refresh** when the page must reload on a schedule and you will read it yourself.
- **Use If / Else** when the automation should check a condition once, exactly when it reaches that step.
- **Use Wait Until** when the loaded page may change later and the automation should poll until it does or the timeout ends.
- **Use Send Alert** where reaching that step should create a desktop notification, play a sound, or both.

These are separate steps in Tab Automation. A timer does not inspect content, If / Else does not keep watching, and an alert does not decide when a match occurred.

## Auto refresh: reload on a clock

Add [Refresh Page](/steps/refresh-page), then configure the [Repeat](/steps/repeat) End block. The graph runs, waits, and starts another cycle. This fits a [dashboard](/blog/auto-refresh-dashboard-chrome) or queue that simply needs a fresh page.

Optional **Bypass cache** changes the reload request. It does not add monitoring. If the graph contains only Refresh Page and Repeat, Tab Automation never checks what the page says.

Follow [how to auto refresh a tab in Chrome](/blog/auto-refresh-a-tab-in-chrome) for setup and limits.

## If / Else: a check when the runner arrives

Add [If / Else](/steps/if-else) when the next steps depend on the page's current state. Use **Pick on page** to choose an element, or **Whole page** on a Page operand to use the document body.

The runner evaluates the condition once when it reaches the step. A match follows Then. A non-match follows Else; a missing selected element also follows Else.

If / Else does not remember earlier text and compare it with the current text. It also does not remain active waiting for a future update.

For example, after Refresh Page finishes, If / Else can check whether a queue count is greater than a value. Put the actions for that result in Then or Else.

## Wait Until: poll for a later change

Add [Wait / Delay](/steps/wait-delay), switch it to **Until**, and choose Appears, Disappears, Changes, or Matches when the signal may arrive after the page loads.

Wait Until polls every 250 milliseconds until the condition succeeds or its Fixed or Random range timeout expires. It is polling, not a MutationObserver. A timeout continues the graph.

Enable **Pause when this wait succeeds** when success should stop the automation at that point. The option does not pause on timeout.

## Send Alert: notify at a chosen point

[Send Alert](/steps/send-alert) fires when the runner reaches it. Put it in If Then or Else to notify for that branch. If you place it after Wait Until, it also runs after a timeout because timeout continues the graph.

Desktop notification and sound are separate toggles on the step. Use **Test alert** to check output before relying on a run.

Repeat also offers **Each cycle** and **When it stops** alerts. Both are off until you enable them.

If **Test alert** is silent, follow the [Chrome notifications troubleshooting flow](/blog/chrome-notifications-not-working).

## Common combinations

### Reload and inspect it yourself

Use **Refresh Page → Repeat**. No condition or alert is needed.

### Reload, check once, and notify on a match

Use **Refresh Page → If / Else**, then place **Send Alert** in the matching branch. Repeat controls when the next cycle begins.

### Wait for an in-page update

Use **Wait Until**, followed by the next action. Add **Send Alert** when reaching that point should notify you.

### Check every page in a link list

Put **If / Else** and any branch-specific **Send Alert** inside [For Each Link on Page](/blog/walk-through-links-in-chrome). The condition is evaluated separately when the runner reaches it on each URL.
