Building Your First Flow¶
This tutorial walks you through building a complete, working WhatsApp assistant flow from scratch. By the end, you'll have a flow that greets customers, presents a menu, answers common questions, and hands off to a human agent when needed.
What You'll Build¶
flowchart TD
A["🚀 Entry Point"] --> B["💬 Welcome Message"]
B --> C["📋 Main Menu"]
C -->|"About Us"| D["💬 About Us"]
C -->|"Our Services"| E["💬 Services"]
C -->|"Talk to Agent"| F["👤 Human Handoff"]
D --> C
E --> C
style A fill:#dcfce7,stroke:#22c55e,stroke-width:2px
style B fill:#dbeafe,stroke:#60a5fa,stroke-width:2px
style C fill:#ede9fe,stroke:#8b5cf6,stroke-width:2px
style D fill:#dbeafe,stroke:#60a5fa,stroke-width:2px
style E fill:#dbeafe,stroke:#60a5fa,stroke-width:2px
style F fill:#ffe4e6,stroke:#f43f5e,stroke-width:2px
Step 1: Add the Entry Point¶
- Open the Menu Designer.
- From the Node Palette, click 🚀 Entry Point.
- In the Inspector, set:
- Trigger:
Any incoming message
- Trigger:
This means any time a customer messages your WhatsApp number, the flow begins.
Keyword Triggers
If you want the flow to start only when someone types "hi" or "start", choose Specific keyword and enter your keywords separated by commas.
Step 2: Add a Welcome Message¶
- Click 💬 Message in the palette to add it.
- In the Inspector, set:
- Title:
Welcome Message - Message Body:
👋 Hi there! Welcome to AcmeCorp. I'm your virtual assistant and I'm here to help.
- Title:
- Connect the Entry Point to the Welcome Message by dragging from the Entry Point's output (bottom circle) to the Message's input (top circle).
Step 3: Create the Main Menu¶
- Click 📋 Menu in the palette.
- In the Inspector, configure:
- Title:
Main Menu - Prompt Text:
What would you like to know? - Menu Type:
List Message(up to 10 options, best for most menus)
- Title:
- Add three options by clicking "Add Option":
- Option 1:
About Us - Option 2:
Our Services - Option 3:
Talk to an Agent
- Option 1:
- Connect the Welcome Message to the Main Menu.
Menu Type Limits
| Type | Max Options | Max Label Length |
|---|---|---|
| Quick Reply Buttons | 3 | 20 characters |
| List Message | 10 | 24 characters |
| Numbered Menu | 10 | 60 characters |
Choose Quick Reply Buttons for 2–3 simple choices. Use List Message for longer menus.
Step 4: Add Response Messages¶
Now connect each menu option to a response:
"About Us" Response¶
- Add a 💬 Message node.
- Set Title to
About Usand Message Body to:🏢 AcmeCorp was founded in 2020 and serves over 10,000 businesses worldwide. We specialise in AI-powered customer engagement solutions. Type "menu" to go back to the main menu. - Connect the Menu's "About Us" option to this message — drag from the small purple circle next to "About Us" in the Menu node.
"Our Services" Response¶
- Add another 💬 Message node.
- Set Title to
Our Servicesand Message Body to your services description. - Connect the Menu's "Our Services" option to this message.
Loop Back to Menu¶
- Connect both response messages back to the Main Menu — drag from the output (bottom) of each message back to the input (top) of the Main Menu.
This creates a loop so customers can keep browsing.
Step 5: Add Human Handoff¶
- Click 👤 Human Handoff in the palette.
- In the Inspector, set:
- Title:
Transfer to Agent - Handoff Message:
Let me connect you with a team member. Please hold — someone will be with you shortly! 🙏
- Title:
- Connect the Menu's "Talk to an Agent" option to this node.
Terminal Node
Human Handoff is a terminal node — it has no outgoing connections. Once a customer is transferred, the bot conversation ends.
Step 6: Review Your Flow¶
Your complete flow should now look like this:
flowchart TD
A["🚀 Entry Point<br/><em>Any incoming message</em>"] --> B["💬 Welcome Message<br/><em>Hi there! Welcome...</em>"]
B --> C["📋 Main Menu<br/><em>What would you like to know?</em>"]
C -->|"1. About Us"| D["💬 About Us<br/><em>AcmeCorp was founded...</em>"]
C -->|"2. Our Services"| E["💬 Our Services<br/><em>We offer...</em>"]
C -->|"3. Talk to Agent"| F["👤 Human Handoff<br/><em>Connecting you...</em>"]
D -->|"continue"| C
E -->|"continue"| C
style A fill:#dcfce7,stroke:#22c55e,stroke-width:2px
style B fill:#dbeafe,stroke:#60a5fa,stroke-width:2px
style C fill:#ede9fe,stroke:#8b5cf6,stroke-width:2px
style D fill:#dbeafe,stroke:#60a5fa,stroke-width:2px
style E fill:#dbeafe,stroke:#60a5fa,stroke-width:2px
style F fill:#ffe4e6,stroke:#f43f5e,stroke-width:2px
Step 7: Check the Readiness Score¶
Look at the Readiness Score at the top of the designer. It should show 100% if everything is connected correctly. The score checks:
| Check | Points | Required? |
|---|---|---|
| Entry point defined | 20 | ✅ Yes |
| Entry point connected | 15 | ✅ Yes |
| Welcome message configured | 10 | No |
| All menu options have routes | 25 | ✅ Yes |
| No unreachable nodes | 15 | No |
| Fallback / handoff configured | 10 | No |
| AI Chat connected | 5 | No |
See Validation Rules for the full list of checks.
Step 8: Test in the Emulator¶
- Open the WhatsApp Emulator (preview pane).
- Type any message (e.g., "hi") to trigger the entry point.
- Verify you see the welcome message followed by the menu.
- Tap each menu option and confirm the correct response appears.
- Test the "Talk to Agent" option to confirm the handoff message.
Step 9: Publish¶
Once you're satisfied with testing:
- Click Publish in the top-right corner.
- Review any validation warnings.
- Confirm to deploy.
Your flow is now live — customers messaging your WhatsApp number will experience the flow you just built!
What's Next?¶
Now that you've built a basic flow, explore these more advanced topics:
- Add AI-powered answers — AI Chat Node to answer questions from your Knowledge Base
- Collect customer information — Question Node to capture names, emails, phone numbers
- Send files and images — Document and Image nodes
- Add smart routing — Condition Node to create personalised paths
- Browse complete examples — Common Flow Patterns