Home/Help Center/Flow Builder

Automation

Build Chatbot Flows: Nodes, Triggers and Testing

A working guide to VGraple CRM's Flow Builder: adding nodes, wiring branches, picking a trigger, activating a flow, and testing it safely on your own number.

By Chirag Darji · Updated 27 Aug 2026 · 8 min read

On this page
  1. Before you start
  2. Steps
  3. What you will see
  4. Settings and options
  5. Troubleshooting
  6. Related reading
VGraple CRM flow builder canvas with chatbot nodes for messages, templates and AI responses

Flow Builder is the drag-and-drop canvas where you wire together an automated WhatsApp conversation: a trigger that starts it, a chain of nodes that send messages, branch on a customer's answer, wait, call an API, or bring in a human, and edges that connect them. This article covers how to actually build and test a flow, once you already understand what a single node does; for the field-by-field reference of every node type, see the flow node reference.

Flow Builder: first 5 of 8 steps

  1. 1Open Flow Builder and start a flow
  2. 2Configure the trigger node
  3. 3Drag nodes onto the canvas
  4. 4Connect nodes with edges
  5. 5Fill in each node's settings
The steps on this page, in order.

Before you start

  • Any Owner or Admin can create and edit flows by default; the permission is "Create flows," and most custom roles that include it can too.
  • Flow Builder has no plan gate and no cap on the number of flows or nodes. What is plan-gated elsewhere is volume: agent seats, contacts, and conversations per month.
  • Testing a flow on a real customer channel requires a connected WhatsApp number. You can build and save a draft flow without one, but the "message yourself" test step needs a live connection.
  • The AI Response node needs at least one AI provider key configured in Settings, then AI & Flows. Groq's key is free, so this works on every plan without a purchase.
  • Decide your trigger before you start placing nodes. A flow with no trigger set still saves, but it never fires until you configure one; see flow triggers for the six trigger categories.

Steps

  1. Open Flow Builder and start a flow. From the main navigation, click Flow Builder, then New Flow. Give it a name that describes what it does rather than when you built it ("Price enquiry auto-reply" reads better six months from now than "Flow 3").

Automation flows in VGraple CRM with their trigger type, status and how many times each one has run

  1. Configure the trigger node. Every new flow starts with a trigger node set to Keyword / Inbound Message. Click it and either type one or more comma-separated keywords, or leave the field blank so the flow catches any inbound message that no keyword flow claimed first. Switch the Trigger Type dropdown if you want a different trigger category: Contact enters a Segment, Contact receives a Tag, Appointment Booked, Appointment Reminder, Appointment Completed, or Form Submitted.

  2. Drag nodes onto the canvas. The node palette on the side lists all 16 working node types: Send Message, Send Template, CTA Button, Image Carousel, Wait for Reply, Quick Replies, Request Location, Contact Card, WhatsApp Form, Send Product, Condition, Delay, Human Handoff, API Call, AI Response and Action. Drop a node anywhere on the canvas; it appears as a box you can drag into position.

  3. Connect nodes with edges. Drag from the small handle on the right edge of one node to the left edge of the next to wire them together. A Condition node exposes two handles, labeled true and false, so you can connect a different next step to each outcome; a Quick Replies node with more than one button exposes one handle per button.

  4. Fill in each node's settings. Click any node to open its properties panel. A Send Message node needs body text; a Send Template node needs a template name, language and variable mapping; a Delay node needs a duration or a relative-to-appointment offset; an AI Response node needs a system prompt and, optionally, a knowledge base. Use {{name}} and {{phone}} to personalize any message with the contact's own details, or {{variable_name}} for a variable set earlier in the flow (by a Quick Replies choice, an API Call response, or a Set Variable-style Action node).

  5. Save and activate. Flip the flow's status from Draft to Active on the Flow Builder list or from inside the editor. Only Active flows respond to real inbound messages or events; Draft flows exist but never fire.

  6. Test it on your own connected number. Message your own WhatsApp number with the trigger keyword (or trigger the event another way, such as booking a test appointment). There is no separate sandbox environment for flows; the live number is the test environment, so you exercise the exact node graph a real customer will run.

  7. Watch the run counter and refine. Each flow's list entry shows how many times it has executed. Open it again to tighten a reply, add a branch, or connect a Human Handoff node once you have seen it run for real; every change applies to executions that start after you save.

What you will see

An active flow with a keyword or catch-all trigger answers a matching WhatsApp message within seconds of it arriving, day or night, without anyone on your team touching a keyboard. The flow's run counter on the Flow Builder list increases by one for every execution, whether it started from your own test message or a real customer's. Inside the conversation thread, every message a flow sends is visible exactly like a message an agent sent manually, including a logged entry when a free-form node could not send because the 24-hour window was closed.

Settings and options

Setting or fieldWhat it doesDefault
Flow statusDraft, Active, Paused or Archived; only Active flows respond to real triggersDraft
Trigger typeKeyword / Inbound Message, Contact enters a Segment, Contact receives a Tag, Appointment Booked, Appointment Reminder, Appointment Completed, or Form SubmittedKeyword / Inbound Message
KeywordsComma-separated list; leave blank to catch any message no keyword flow claims firstBlank
Run counterHow many times the flow has started an execution0
24-hour window guardApplies automatically to every free-form send node; template nodes are unaffectedAlways on, not configurable
Opt-out and block checkRuns before every node in the graph, including on resume after a waitAlways on, not configurable
Version historyNot available; duplicate a flow before a risky edit to keep a fallback copyNot saved

Troubleshooting

SymptomLikely causeFix
Nothing happens when I message the trigger keywordThe flow is still in Draft statusToggle the flow to Active from the list or the editor
Two nodes seem connected but the flow skips oneThe edge was dragged to the wrong handle, commonly on a Condition or Quick Replies node with several handlesDelete the edge and reconnect it from the exact labeled handle (true, false, or the specific button)
A scheduled message never arrives after a multi-day DelayA free-form node hit the closed 24-hour service window and logged a failed message instead of sendingOpen the conversation to confirm, then switch that step to a Send Template node, which is unaffected by the window
The flow ran once for a contact and never againOnly one active execution of a given flow per contact is allowed at a time; a second trigger while one is still running or waiting is a no-opThis is expected behavior; if you want repeatable triggers, check whether the earlier execution finished or is still waiting on a Wait for Reply or Delay step
An edit to a live flow does not seem to change what customers seeAn execution already in progress runs on the version of the flow it started withTest the change again on your own number; only new executions pick up the update
The AI Response node returns a generic fallback answerNo AI provider key is configured, or the key saved on the node has since been removedAdd a key in Settings, then AI & Flows; the node falls back to any other available key automatically, but at least one must exist

Once your nodes are in place, check flow triggers for every way a flow can start, and the flow node reference for the exact fields each node type takes. If this is your very first flow, the shorter build your first flow walkthrough covers the same ground with fewer moving parts.

Frequently asked questions

What is the difference between Flow Builder and the AI chatbot?
Flow Builder is the canvas where you wire together a scripted conversation from 16 node types, including an AI Response node for open-ended turns. The AI chatbot is one of those nodes, or a separate chat widget on your website; Flow Builder is the tool you use to place it inside a larger, more predictable conversation.
Can I edit a flow that is already active and being used by customers?
Yes. Edits save immediately and apply to any execution that starts after you save. An execution already in progress keeps running on the version of the flow it started with, so changing a node mid-conversation does not retroactively alter a chat that is already underway.
How many nodes can one flow have?
There is no node-count limit in the product. In practice, flows with dozens of nodes get harder to read on the canvas, so most businesses split a genuinely large conversation into two flows connected by a Human Handoff or a shared tag rather than building one enormous graph.
Does Flow Builder have undo or version history?
Not yet. There is no saved history of past versions and no rollback button; a flow only has draft, active, paused and archived states. Duplicate a flow before making a risky change so you have a working copy to fall back on.
Why does my flow only reply once and then stop?
Most likely the flow ends after one Send Message node with nothing connected after it, which is valid but leaves the conversation with nowhere to go. Add a Quick Replies node, a Condition node, or a Human Handoff node after the first reply so the conversation has a next step.
Can two flows run for the same contact at the same time?
A contact can only have one active execution of any single flow running or waiting at once; starting the same flow again while one is in progress is a no-op. Different flows (for example a keyword flow and a sequence) can run in parallel for the same contact, since each is tracked as its own execution.
What happens to a flow execution if the contact opts out mid-conversation?
The executor checks the contact's opt-out and blocked status before running every node, not just at the start. A STOP received while a flow is mid-run, including while it is sitting in a Delay or Wait for Reply step, cancels the execution the moment it would otherwise resume.

Run your WhatsApp on VGraple CRM

Free forever plan, official Meta WhatsApp Business API, set up in 15 minutes. No card needed.