Structural Rules
Structural rules ensure every conversational flow has a valid, executable structure. These rules are enforced by the builder and must be satisfied before a flow can be published.
START Node Requirements
Every flow must have exactly one START node. This node serves as the entry point for all conversations.
Rule 1: Exactly One START Node
A flow cannot have zero START nodes or multiple START nodes. The builder will display a validation error if this rule is violated.
Valid:
- One START node in the flow
Invalid:
- No START node (flow has no entry point)
- Multiple START nodes (ambiguous entry point)
Rule 2: START Must Have Outgoing Connections
The START node must connect to at least one other node. A START node without outgoing connections creates a flow that cannot progress.
Node Connection Requirements
General Rule
Every node (with specific exceptions) must have at least one incoming connection. This ensures that every node in the flow can be reached during execution.
Exceptions
The following node types do not require incoming connections:
| Node Type | Reason |
|---|---|
| START | Entry point of the flow, cannot receive connections |
| NOTES | Documentation only, not part of flow execution |
| GLOBAL-KEYWORDS | Triggered by keywords at any point, not by direct connections |
INTERACTIVE Node Restrictions
INTERACTIVE nodes are nodes that require user input (like questions with options, file uploads, etc.). These nodes have a special restriction.
Rule: No Direct INTERACTIVE-to-INTERACTIVE Connections
Two INTERACTIVE nodes cannot be connected directly to each other. You must place a non-interactive node (like a MESSAGE node) between them.
Why this rule exists:
- Ensures proper user experience flow
- Allows the system to process user input before requesting more input
- Prevents overwhelming users with consecutive input requests
Example of valid pattern:
Example of invalid pattern:
Validation Errors
When structural rules are violated, the builder displays specific error messages:
| Error | Cause | Solution |
|---|---|---|
| "Missing START node" | No START node exists | Add a START node to the canvas |
| "Multiple START nodes" | More than one START node | Remove extra START nodes |
| "START has no connections" | START node is not connected | Connect START to another node |
| "Node has no incoming connections" | Node is disconnected from the flow | Connect the node or remove it |
| "Invalid INTERACTIVE connection" | Two INTERACTIVE nodes connected directly | Add a non-interactive node between them |