Skip to main content

Overview

Router graphs use strict connection rules to keep request routing understandable and safe. The editor validates every edge as you draw it and rejects unsupported source-target pairs with a warning.

Valid Topology

Allowed Lanes

LaneWhen to Use
Trigger → SignalEvaluate request inputs or content before routing
Trigger → ProjectionDerive structured routing context
Trigger → DecisionEvaluate routing rules
Decision → AlgorithmSelect endpoints, weights, order, or fallback behavior
Decision → PluginApply extension behavior such as cache, policy, or integrations

Common Invalid Connections

Algorithms must attach to a Decision. Add a Decision node, connect Trigger → Decision, then connect Decision → Algorithm.
Signals are evaluated from the trigger and referenced by Decision rules. Connect Trigger → Signal and reference the signal in the decision configuration.
Projections are also evaluated from the trigger and referenced by name. Connect Trigger → Projection and reference the projection from the Decision.
Decisions do not chain. Model multiple conditions inside one Decision action or use priority inside the decision configuration.
Algorithms and plugins are leaf nodes. They do not have outgoing connections.
Use this repeatable pattern for most routers:
  1. Add Signals for request facts you need to evaluate.
  2. Add Projections for derived or normalized context.
  3. Add one Decision that references those inputs.
  4. Attach one or more Algorithm or Plugin leaf nodes from the Decision.

Troubleshooting Edge Warnings

If the editor blocks an edge:
  1. Check the source and target action categories.
  2. Confirm the target belongs in one of the allowed lanes.
  3. If an action appears in the wrong category, refresh the page to reload /routers/actions metadata.
  4. If the action type is custom, ensure its prefix or API category resolves to Signal, Decision, Projection, Algorithm, or Plugin.