Virbe Documentation

Route by Signal

Branches the conversation based on the name of the signal that triggered the current flow activation, enabling signal-driven conditional logic.

The Route by Signal node branches the conversation based on which signal is currently active – that is, which signal triggered the current flow or handler execution. Use it when the same flow handles multiple signal types and needs to behave differently for each.

Available in: Handlers, custom Conversational Flows, and Automations.

Configuration

The node generates one output port per configured signal branch, plus a default "Else" port for unhandled signals.

Adding Signal Branches

Add a branch for each signal you want to handle explicitly. Select the signal from the dropdown list.

Typical Patterns

Signal Flow – Multi-Signal Handler

A Signal flow might handle several different custom signals:

Flow Entrypoint → On Signal ──► Route by Signal
    ├── product-scanned ──► Go to Flow (ProductInfo)
    ├── qr-code-detected ──► Go to Flow (QRLookup)
    ├── checkout-started ──► Go to Flow (Checkout)
    └── default ──► Go to Flow (Agent)

Signal Value

When a signal carries a value (e.g., a product ID sent from the embedding website), that value is accessible as {{message.signalValue}} using the Insert field picker in downstream nodes.

Predefined Signals

The four predefined signals are:

  • conversation-start
  • conversation-stop
  • conversation-language-change
  • face-detected

These can be used as branch conditions in Route by Signal, though they are more commonly handled by their dedicated Handlers.

On this page