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

FieldTypeRequiredDescription
Condition fieldFX formulaYesThe value to check each iteration
Condition operatorSelectYesHow to compare (see operators below)
Condition valueFX formulaConditionalThe target value (not needed for unary operators)
Max iterationsIntegerNoSafety cap; stops even if condition isn't met. Default: 100.

Operators

OperatorNeeds value?Example
equalsYes{{status}} equals "complete"
not_equalsYes{{status}} not_equals "pending"
greater_thanYes{{count}} greater_than 10
less_thanYes{{retry_count}} less_than 5
is_trueNo{{is_ready}} is_true
is_falseNo{{has_error}} is_false
existsNo{{result}} exists
not_existsNo{{error}} not_exists
containsYes{{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
Warning

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.

Tip

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.