Flow Control Nodes
Flow control nodes manage how your flow runs — asking questions, looping, and controlling the conversation pace.
Asking Questions
Ask Question (Simple)
Asks a question and waits for the user's answer
This is the heart of interactive bots!
| Setting | What It Does |
|---|---|
| Question | The text to send |
| Save to Variable | Where to store the answer |
How It Works:
- Sends the question to the user
- Pauses the flow and waits
- User replies with their answer
- Saves the answer and continues the flow
Outputs:
- ⚡ NEXT — Continue after answer received
- 📝 Answer — The user's response
Ask (Advanced)
More powerful question node with validation
| Setting | What It Does |
|---|---|
| Question | What to ask |
| Expect | Type of answer (text, number, photo, choice) |
| Validation | Optional pattern/rule |
| Error Message | If validation fails |
Answer Types:
| Type | What It Expects |
|---|---|
text | Any text |
number | Numbers only |
photo | A photo |
choice | Button selection |
Loops
For Each
Runs actions for each item in a list
Perfect for:
- Sending multiple messages
- Processing a list of users
- Going through products
| Setting | What It Does |
|---|---|
| Array | The list to loop through |
Outputs:
- ⚡ Each — Runs for every item
- 📦 Item — Current item
- 🔢 Index — Position (0, 1, 2...)
- ⚡ Done — After all items processed
Iterate (Rate-Limited)
Like For Each, but with delay between items
Use for:
- Broadcasting to many users (avoid rate limits)
- Processing large batches
| Setting | What It Does |
|---|---|
| Array | The list |
| Delay | Milliseconds between items |
Multi-Step Forms
Form
Collects multiple pieces of information in sequence
Instead of chaining many Ask Question nodes, use Form:
| Setting | What It Does |
|---|---|
| Fields | List of questions/fields |
Form Fields Configuration:
- Label — Field name (for storage)
- Question — What to ask
- Type — text, number, photo, etc.
- Required — Must answer?
Subflows (Reusable Pieces)
Call Subflow
Runs a reusable flow and returns
Think of it like calling a helper function:
| Setting | What It Does |
|---|---|
| Subflow | Which subflow to run |
| Inputs | Data to pass in |
Learn more in Subflows →
Other Control Nodes
Guard
Blocks access based on a condition
Put at the start of protected flows:
| Setting | What It Does |
|---|---|
| Expression | Who can proceed |
| Block Message | What to say if blocked |
Delay
Pauses for a set time
| Setting | What It Does |
|---|---|
| Duration (ms) | How long to wait |
Use Cases:
- Build suspense
- Space out messages
- Rate limiting
Long delays tie up resources. For scheduled actions, use external schedulers.
Counter
Tracks a count that persists
| Mode | What It Does |
|---|---|
| Read | Get current value |
| Increment | Add 1 |
| Reset | Set back to 0 |
Great for:
- Counting uses
- Tracking attempts
- Leaderboards
Common Patterns
Registration Flow
Confirmation Dialog
Retry Logic
Tips
Consider what happens if a user never replies. You might want to set a timeout or reminder.
Long forms have high drop-off rates. Ask only what you need!
Next Steps
- Data Nodes → — Work with the answers you collect
- Subflows → — Create reusable flows
- Forms Guide → — Deep dive on forms