Build Your First Flow
Create a branching WhatsApp automation with a trigger, interactive menu, condition, and user input
This guide builds a small support menu. It greets users, lets them choose Sales or Support, captures a short message, and ends cleanly.
Flow shape
Trigger
-> Send Interactive
-> Condition
-> Sales reply
-> User Input
-> Support confirmation
-> Default reply1. Create a flow
Open /flows, create a flow, and assign it to the WhatsApp client you want to use. Open the editor.
2. Configure the trigger
Add a Trigger node.
| Field | Value |
|---|---|
| Mode | Keyword |
| Keyword | menu, help, start |
Keyword mode converts comma-separated values into a case-insensitive match pattern.
3. Send an interactive menu
Add a Send Interactive node and connect Trigger to it.
Use a list with one section:
{
"sections": [
{
"title": "How can we help?",
"rows": [
{ "id": "sales", "title": "Talk to Sales" },
{ "id": "support", "title": "Get Support" }
]
}
]
}Set the body text to:
Welcome. Choose an option and we will route you.The Send Interactive node is a parking node. It can wait for the user's selection without needing a separate Wait node.
4. Branch on the selection
Add a Condition node and connect Send Interactive to it.
Create two branches:
| Branch | Rule |
|---|---|
| Sales | Match selected row ID sales |
| Support | Match selected row ID support |
Connect the Sales branch to a Send Message node:
Thanks. A sales teammate will follow up shortly.Connect the Support branch to a User Input node.
5. Capture support details
Configure the User Input node:
| Field | Value |
|---|---|
| Prompt | Please describe the issue in one message. |
| Variable name | supportIssue |
| Timeout | 300 |
Connect User Input to a Send Message node:
Thanks. We captured: {{variables.supportIssue}}If the timeout edge is available in the editor, connect it to a separate Send Message node:
No problem. Send "help" when you are ready to continue.6. Add a default path
Connect the Condition default branch to a Send Message node:
I did not recognize that option. Send "menu" to try again.Default paths matter in production. They prevent users from getting stuck when WhatsApp sends unexpected text or an old list selection.
7. Publish and test
Click Publish. Then send menu or help to the connected WhatsApp number.
Expected behavior:
| Test | Expected reply |
|---|---|
Send menu | Interactive menu appears |
| Choose Sales | Sales follow-up message appears |
| Choose Support | Bot asks for issue details |
| Send issue text | Bot echoes the captured variable |
Published flows react to real incoming messages. Use a test number until you are satisfied with the routing and copy.
Common improvements
| Improvement | Node to use |
|---|---|
| Save a reusable value | Set Variable |
| Call your CRM | HTTP Request |
| Send a product image | Media |
| Pause before follow-up | Delay |
| Jump back to the menu | Go To |
| Stop and clear context | End |