Build your first flow
Journeys message customers when something happens in Shopify. Flows decide what happens when a customer messages you. Without a published flow, every inbound message waits for a human.
Open Flow Builder, start from the seeded welcome flow, give it a greeting with three or four buttons for your most common questions, add a live-chat handover path, test it in the simulator, then publish. Publishing replaces the live graph for the next inbound message — saving a draft changes nothing.
Before you start
- WhatsApp connected with the messages webhook subscribed.
- A list of the four or five questions customers actually ask you most.
- A second phone to test from.
Decide the menu before you build it
The hard part is not the canvas, it is choosing what to offer. Open your inbox, read the last fifty inbound messages, and count. Build for the top four. Everything else should fall through to a human rather than into a dead end.
| Common ask | What the flow should do |
|---|---|
| Where is my order? | Look up the latest order and reply with its status and tracking link. |
| What is your return policy? | Answer directly, in two sentences, with a link. |
| Is this in stock / what size? | Answer if you can, otherwise hand to an agent. |
| I want to talk to someone | Hand over to Live Chat immediately — do not make them work for it. |
Build it on the canvas
- Open the welcome flow Flow Builder → open the seeded welcome flow, or duplicate it so you always have a working version to fall back to.
- Write the greeting One line of who you are, one line of what they can do. Keep it under two lines — WhatsApp truncates long messages behind a Read more.
- Add a buttons node Three buttons maximum per node. If you need more options, use a list node instead, which supports up to ten rows.
- Connect each option to a reply Drag from each output handle to the node that answers it. Every handle must lead somewhere, or publish will block.
- Add a live-chat handover A live-chat node pauses the bot and puts the thread in the inbox. Always give customers this exit.
- Test in the simulator The toolbar simulator walks buttons and lists without messaging a real customer. Follow every branch, including the ones you expect nobody to take.
- Fix the publish errors The publish check lists disconnected handles and template nodes with no approved template selected. Each error links to the node.
- Publish, then message yourself Publish replaces the live graph for the next inbound message. Message your business number from a personal phone and walk the menu for real.
The nodes you will actually use
| Node | What it does |
|---|---|
| Message | Plain text or media. The building block. |
| Buttons | Up to three quick replies. Best for a short menu. |
| List | Up to ten rows behind a single tap. Best for categories. |
| Capture | Stores the customer’s reply in a variable for later nodes. |
| Condition | Branches on a keyword, a tag or a stored field. |
| Template | Sends an approved template — needed outside the 24-hour window. |
| Live chat | Hands over to a human and pauses the bot until released. |
| Shopify | Looks up an order or a product mid-conversation. |
How to check it worked
- The simulator completes every branch without an error.
- Publish succeeds with zero validation errors.
- A real inbound message from your own phone returns the menu.
- Every button leads to a real answer, not a dead end.
- The handover option puts the thread in Live Chat and stops the bot.
If the bot is silent
- Customer messages but gets no reply
- The flow is saved but not Published. Publishing is a separate action.
- The messages webhook field is not subscribed — see Connect WhatsApp.
- An agent has taken control of the thread in Live Chat. Release it back to the bot.
- Test your trigger keywords in the simulator first.
- Publish is blocked on disconnected nodes
- Every output handle needs an edge to a downstream node or an explicit end.
- Template nodes need an Approved template selected in their properties.
- The publish panel links to each offending node — work the list top to bottom.
- The bot replies with the old menu after you edited it
- Publish again. The live graph is a frozen snapshot taken at publish time.
- A conversation already in progress may finish on the previous graph.
- Flow Builder reference — Every node and setting.
- Train your AI brain — Answer questions a menu cannot.
- Shared inbox and handover — What happens after handover.
- Flow Builder feature page — What it looks like in the product.
Frequently asked questions
What is the difference between Flow Builder and Journeys?
Flow Builder handles inbound conversations — what the bot says when a customer messages you, including menus, FAQ answers and handover to an agent. Journeys handle outbound automation triggered by Shopify events such as an order being placed or a cart being abandoned.
How many buttons can a WhatsApp message have?
Three quick-reply buttons per message. If you need more options, use a list node instead, which presents up to ten rows behind a single tap and reads better than two stacked button messages.
Why does my flow still show the old menu after I edited it?
Because the live bot runs a snapshot frozen at publish time. Saving the canvas updates the draft only. Publish again to replace the live graph, which takes effect from the next inbound message.
Updated 2026-10-04