Builder Rules
Understanding the builder rules is essential for creating valid and efficient conversational flows. These rules ensure that your flows are structurally correct, can be executed properly, and work seamlessly in a collaborative environment.
Not every rule weighs the same. Some block the publish: the flow stays a draft until you fix them. Others only warn: the flow publishes, and the warning tells you how the conversation will behave if you leave it as is. Saving a draft is never blocked by either.
Rule Categories
The builder enforces several categories of rules:
- Structural Rules - Required structure for valid flows
- Publish Gate - What blocks publishing, what only warns, and how the editor and the engine share the check
- Flow States - Understanding DRAFT, ACTIVE, and ARCHIVED states
- Collaborative Editing - Working in teams with the lock system
- Connection Rules - How nodes can connect to each other
- Variables - Managing flow variables
Quick Validation Reference
| Rule | Description | On publish |
|---|---|---|
| Start node | Exactly one Start node per flow, with at least one outgoing connection | Blocks |
| Incoming connections | Every node needs an incoming connection, except Start, Global Keywords and sticky notes | Blocks |
| Conditional branches | A Conditional needs a true and a false connection | Blocks |
| Outputs connected | Every option, keyword, route or response handler must be connected | Blocks |
| Error handle connected | An unconnected Error handle sends the failing conversation to a human agent | Warns |
| Answer with a destination | Ask Date needs a variable; Ask File needs a variable or a complete entity destination | Blocks |
| File readers | A node that needs one file cannot read a list of files, nor a variable that does not exist | Blocks |
| Extract Information | Named fields, a source, a result variable of the right type | Blocks |
| Node configuration | Required fields present, referenced flows, forms, policies and identities still exist | Blocks |
| Labels | Present and unique within a node | Blocks |
| WhatsApp options | More than 10 interactive options | Blocks |
| WhatsApp options | More than 3 interactive options, labels over 20 or 24 characters | Warns |
| Cycle without a wait | A loop with no node waiting for the customer | Blocks |
| Repeated output ids | The same option id on two nodes, usually a paste | Warns |
| Variables | A variable nobody writes, or a {{name}} that is not declared | Warns |
| Unreachable node | A node the conversation can never reach from Start | Warns |
| Customer Update without identification | No earlier node in the flow identifies the customer | Warns |
| Duplicate connections | The same connection between two nodes cannot exist twice | Rejected on the canvas |
| Self-reference | A node cannot connect to itself | Rejected on the canvas |
The full list, including the rules the engine applies on its side, is in Publish Gate.
Common Validation Errors
When building flows, you may encounter validation errors. Here are the most common ones:
Missing Start Node
Every flow requires exactly one Start node. If you see this error, add a Start node to your canvas.
Disconnected Nodes
Nodes without incoming connections (except allowed exceptions) will trigger validation errors. Connect them to the flow or remove them.
Answer With Nowhere To Go
An Ask Date without a variable, or an Ask File without a variable or entity, asks the customer and discards the answer. Pick where the answer is stored.
Warnings Left Behind
A warning does not stop the publish, but the situation it describes shows up later as a notice on the conversation where it happened. Read them in the Chat notices panel or, grouped by flow and node, in Flow Notices.