7–9 min read
Flows
Updated on: 18/12/2025
Route smarter using what you already know
If you just need the essentials, follow this quick path:
- Choose the contact field you want to check
- Add a Split by Contact Field node
- Use a “has data” rule (and keep Other as the empty path)
- Build two clean branches: present vs missing
Done: your flow can skip repeated questions, collect only what’s missing, and stay clean as it grows.
Step-by-Step Process
-
Before building the split, decide:
- Which field you need (example: Name, Email, Location, ID)
- What counts as “complete” (any text, a valid email, a number range, etc.)
[CAPTURE: Flow editor showing a Split Action type dropdown with “Split by Contact Field” visible.]
- Open your flow in the flow editor.
- Add a new split node and select Split by Contact Field.
- In the field selector, choose the contact field you want to evaluate (example: Name).
[CAPTURE: Split by Contact Field configuration showing the field dropdown with “Name” selected.]
-
To check whether a field is filled, a common approach is:
- Response rule: Has some text
- Set the response rule to Has some text.
- Name the “field is filled” category something clear, like Has Name.
- Keep Other as the “field is empty or invalid” path.
[CAPTURE: Split by Contact Field showing rule “Has some text”, category “Has Name”, and catch-all “Other”.]
-
Branch A — Field is present (example: “Has Name”):
- Continue the flow without asking again.
- Optionally personalize the next message using the stored value.
[CAPTURE: “Has Name” branch leading to a Send Message node using a contact variable.]
-
Branch B — Field is missing (Other):
- Ask the contact for the missing value (Send Message).
- Add Wait for Response to collect it.
- Add Update Contact to store the answer in the contact record.
- Continue the flow.
[CAPTURE: “Other” branch showing Ask → Wait for Response → Update Contact flow pattern.]
Common Issues & Quick Fixes
The contact has a value, but they still go through “Other”
Problem: The field looks filled, but the split routes as if it’s empty.
Fix:
- Confirm you selected the correct field in the dropdown (e.g., Name vs First Name).
- If the field contains spaces or unexpected formatting, consider trimming/normalizing the value using an expression-based approach before splitting.
- Check whether the value is stored in a different place (flow result vs contact field). If it’s in @results.*, save it first with Update Contact.
I keep asking the same questions in multiple flows
Problem: Contacts get repeatedly asked for the same info across journeys.
Fix:
- Add a Split by Contact Field at the start of each flow for key profile data (name, location, ID).
- Standardize field names across your workspace so all flows reuse the same fields.
- Save the data once, then always reference it via contact fields.
My flow becomes messy after adding many field checks
Problem: The canvas gets cluttered by repeated split patterns.
Fix:
- Create a short “profile completion” child flow and call it when data is missing.
- Use sticky notes to document the purpose of each check.
- Keep the “Has data” branch straight down and the “Missing data” branch off to the side (consistent layout).
