Branching by rules without cluttering the canvas
The Router (action_router) sends the flow down different branches based on rules over request-context fields (channel, status, priority, subject, tags, and so on). Instead of many small check nodes, you define conditions in one place.
Limitation: in the Node Inspector, Field is a closed list of context fields. You cannot enter an arbitrary scenario variable (
user_choice, API response, etc.) into Router. To branch on a scenario constant, use Actionswitch— see Built-in actions. For button menus — separate MessageKeyboard edges.
How modes work
- first_match — the first matching rule wins; execution follows that branch.
- all_match — several rules may apply (see the UI and router parameters).
Rules and the canvas
Rules in the inspector map to outputs on the node: each rule connects to its next node. You can add a default branch if nothing matches.
Example uses
- Different paths by channel (Telegram, Widget, Email).
- Different logic by request status or priority.
- Branching by subject or client / request tags.
- «If channel A — path X, if B — path Y» without custom code.
Add a router
- Add Router from logic / templates.
- Choose mode (first_match / all_match).
- Add rules with conditions and branch ids.
- Enable default_branch if needed.
- Wire outputs on the canvas.
Field details: Router parameters.