Loop Until
The Loop Until node repeats a block of actions until a condition becomes true. It checks the condition after each iteration and stops when it's met (or when the safety cap is reached).
Type: LOOP_UNTIL
Color: Violet (#7C3AED)
Paired node: Automatically creates a Loop End node
Credits: None
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Condition field | FX formula | Yes | The value to check each iteration |
| Condition operator | Select | Yes | How to compare (see operators below) |
| Condition value | FX formula | Conditional | The target value (not needed for unary operators) |
| Max iterations | Integer | No | Safety cap; stops even if condition isn't met. Default: 100. |
Operators
| Operator | Needs value? | Example |
|---|---|---|
equals | Yes | {{status}} equals "complete" |
not_equals | Yes | {{status}} not_equals "pending" |
greater_than | Yes | {{count}} greater_than 10 |
less_than | Yes | {{retry_count}} less_than 5 |
is_true | No | {{is_ready}} is_true |
is_false | No | {{has_error}} is_false |
exists | No | {{result}} exists |
not_exists | No | {{error}} not_exists |
contains | Yes | {{response}} contains "success" |
How it works
[Loop Until (status === "complete")] →
HTTP Request (check status) → Delay (5s) →
[Loop End]
→ Continue workflow (status is now "complete")
Each iteration: check status → if not complete, wait 5 seconds → check again. When status becomes "complete", exit the loop.
Common patterns
Poll until ready
Loop Until ({{api.status}} equals "complete") →
HTTP Request (GET /status) → Delay (10 seconds) →
Loop End →
HTTP Request (GET /results)
Retry until success
Loop Until ({{http.status}} equals 200, max: 5) →
HTTP Request (POST /submit) → Delay (2 seconds) →
Loop End →
If-Else (check if it actually succeeded)
Wait for approval
Loop Until ({{approval}} exists, max: 720) →
HTTP Request (check approval status) → Delay (60 seconds) →
Loop End
Always set a max iterations cap. Without it, a condition that's never met creates an infinite loop that runs until the workflow times out. The default cap of 100 is safe for most cases.
Combine Loop Until with Delay for polling patterns. Without a delay, the loop runs as fast as possible, which can hit API rate limits and consume unnecessary resources.