Deterministic paths
A Flow is a directed graph. Each block does one thing, then continues along a connected output. The same inputs produce the same outputs. That makes Flows ideal for:- Compliance-sensitive scripts
- Menus and FAQs with fixed answers
- Qualification, booking, and checkout steps
- Any process where every branch is known
Contact context
Every run is tied to a Contact. As the Flow executes, it can:- Read system fields (
first_name,phone,channel, …) - Read and write custom user fields
- Apply or remove tags
- Move cards in a Pipeline
Personalization
Insert contact data in messages with double curly braces:Omnichannel vs channel-specific
Prefer Omnichannel message types when the same content should run on multiple channels. Use channel-specific blocks only when you need a capability that does not translate (for example, WhatsApp interactive lists or Messenger cards). Test each target channel. Media formats and button limits differ — see Messages and media and Limits.Draft vs published
Saving edits does not publish them. Always publish after a verified test.
Modular design
Keep Flows small and purposeful. Use Go to Flow to chain a parent orchestrator into specialized child Flows (payment, FAQ, human handoff). This stays under the 250 blocks per Flow limit and keeps ownership clear.Escape hatches
Next
Builder
Learn the canvas controls.
Collect data
Capture answers into custom fields and tags.