The flow graph
Nodes, the start block, and arrows — the mental model behind every bot.
A dev>nulll bot is a graph: blocks (nodes) connected by arrows (edges). When a message arrives, the bot finds a matching trigger and walks the arrows from there, running each block in turn.
Nodes
Each node is one block — a trigger, a message, a condition, an API call, etc. You add nodes by dragging them from the palette onto the canvas, and configure them in the property panel on the right. See the Blocks reference for every block.
The start block
A trigger is a graph entry point — it has no incoming arrow. Your graph can have several
triggers (e.g. /start, a text rule, a button). One trigger is marked Start; it’s just
the one highlighted as the primary entry. A conversation begins at whichever trigger matches
the incoming update.
Arrows = “what next”
An arrow from block A to block B means “after A, do B”. Most blocks fire immediately and
follow their single outgoing arrow. Some blocks branch (multiple labelled arrows like
ok / error), and some wait for the user to reply before continuing. See
Outcomes & branching.
Per-user execution
The graph is the same for everyone, but it runs independently per user. Each user has their own position in the flow and their own variables and saved data.