Skip to main content

Loop (Iterate Contacts)

The Loop node goes through contacts in your table one by one, running the downstream flow for each contact. This is essential for schedule-triggered flows that need to process multiple people.

Screenshot placeholder

How It Works

  1. The node loads contacts from your table.
  2. Optionally filters them based on conditions you set.
  3. For each matching contact, it runs the rest of the flow with that contact as the "current contact."
  4. All of that contact's fields become available as {{fieldName}} variables.

Configuration

Filter (Optional)

Only process contacts that match a condition. You set a field, an operator, and a value.

Example: Only loop through contacts where status equals active.

Available Operators

OperatorDescription
equalsExact match
not_equalsDoes not match
containsField contains the value
not_containsField does not contain the value
starts_withField starts with the value
ends_withField ends with the value
greater_thanNumeric or date comparison
less_thanNumeric or date comparison
not_emptyField has a value
is_emptyField is blank
regex_matchMatches a regular expression
in_listField value is in a comma-separated list
betweenValue falls between two bounds
is_trueBoolean field is true
is_falseBoolean field is false

Typical Placement

The Loop node is usually placed right after a Trigger node. A common pattern looks like this:

  1. Schedule Trigger (fires every morning at 9am)
  2. Loop (iterate through contacts where follow_up_due equals today's date)
  3. Get Chat Messages (load recent conversation)
  4. AI Generate Reply (write a follow-up message)
  5. Send Message (deliver it)

Screenshot placeholder

Tips

  • Without a filter, the loop processes every contact in the table. Use filters to avoid sending messages to people who don't need them.
  • Each iteration is independent. If one contact's flow fails, the loop continues with the next contact.
  • Inside the loop, you can use any contact field as a variable. If your table has columns like name, phone, and status, you can use {{name}}, {{phone}}, and {{status}} in downstream nodes.