7–10 min read
Flows
Updated on: 18/12/2025
Break long journeys into reusable flows (clean handoffs)
If you just need the essentials, follow this quick path:
- Confirm you actually need to move into another flow (modularity vs one long flow)
- Build or select the child flow (the next “module”)
- Collect and save the data you’ll reuse (named results)
- Add Enter Another Flow at the exact handoff point
- Reference parent values in the child flow using @parent
- Test the handoff end-to-end in the Simulator
This approach keeps complex automations readable, reusable, and easier to troubleshoot over time.
Step-by-Step Process
Use Enter Another Flow when you want to:
- Split a large process into multiple flows (registration → onboarding → follow-up)
- Reuse the same “child” flow from different places (shared verification flow, shared FAQ flow)
- Keep complex logic readable and easier to debug
- Go to Flows.
- Create the destination flow, or choose an existing one.
- Ensure the child flow contains the next steps your contact should receive.
[CAPTURE: Flows list showing the destination flow that will be used as the “child flow”.]
In the parent flow, collect information using nodes like:
- Wait for Response (save results like name, phone, case_id, etc.)
Make sure each captured value is saved as a named result (example: @results.name, @results.phone).
[CAPTURE: Parent flow showing a Wait for Response saving “name” and “phone” as results.]
- In your parent flow, create a new node where the handoff should happen.
- Choose Enter Another Flow (or “Start another Flow”, depending on UI label).
- Select the destination flow (the child flow).
- Save your changes.
[CAPTURE: Node editor showing the Enter Another Flow action with the child flow selected.]
In the child flow, use the @parent prefix to reuse values collected in the parent flow session.
Examples:
- Parent result
@results.name→ Child reference@parent.results.name - Parent result
@results.phone→ Child reference@parent.results.phone - Parent result
@results.case_id→ Child reference@parent.results.case_id
[CAPTURE: Child flow Send Message node using @parent.results.name and @parent.results.phone.]
@parent variables are available when a contact starts the child flow through Enter Another Flow or Start Somebody Else in a Flow.- Open the Simulator in the parent flow.
- Run through the steps until the contact reaches Enter Another Flow.
- Confirm the contact starts the child flow and that
@parent.*variables render correctly.
[CAPTURE: Simulator showing the contact leaving the parent flow and starting the child flow.]
Common Issues & Quick Fixes
The contact doesn’t continue after the handoff
Problem: You expected the contact to keep going in the parent flow after Enter Another Flow.
Fix:
- This is expected behavior: Enter Another Flow ends the parent flow run.
- Make sure the child flow actually contains a next message/action.
- Confirm the child flow is saved/published and accessible in the workspace.
@parent variables show blank in the child flow
Problem: The child flow starts, but values like name/phone are empty.
Fix:
- Confirm the data was collected before the Enter Another Flow node.
- Ensure the result names are correct (example:
@results.namein parent →@parent.results.namein child). - Confirm the child flow is started via Enter Another Flow or Start Somebody Else in a Flow (a keyword/manual start won’t provide @parent context).
I expected the child flow to message someone else (not the active contact)
Problem: You want to notify a third party or start a different contact, but the child flow messages the current contact.
Fix:
- If the goal is to message a third party, use Send Message to Third Party.
- If the goal is to start a different contact or group, use Start Somebody Else in a Flow.
