## Logic flow

The **Compare** block compares two values and routes the flow based on whether the comparison evaluates to true or false.

The **Switch** block routes the flow to the first matching case based on an input value, with a dedicated No match path if nothing matches.

The **Loop** block creates an explicit loop that iterates from a start value to an end value using a step, and exposes a completion path when the loop finishes.

The **Break Iteration** block breaks out of a loop iteration (and can also break out of nested loops, depending on scope).

The **Wait** block pauses execution for a specified number of seconds before continuing.

## Change values

The **Calculate** block adds, subtracts, multiplies, or divides two numbers and can apply rounding.

The **Change Text** block manipulates text by applying operations such as substring and concatenate.

The **Regular Expression** block applies regex logic to text (for example match, split, or replace) and outputs the resulting value.

The **Offset Area** and **Offset Position** blocks adjust areas and positions by adding or subtracting values to their coordinates.

The **Offset Date/Time** block adds or subtracts time units (such as days, months, and hours) to a date/time value and returns the adjusted result.

## Utilities and custom logic

The **Get Clipboard** and **Set Clipboard** blocks read from and write to the system clipboard so you can pass values via copy and paste when needed.

The **Close Windows** block closes or minimizes all open windows (based on the action you select).

The **C# Code** block lets you run custom C# for advanced logic and data handling, with dedicated error handling when execution fails.
