Intent Route
The Intent Route node classifies the customer’s reply against a list of intents and routes the flow down the matching branch. Classification is lexical: each intent is a list of literal keywords plus optional regular expressions, with a priority for tie-breaking. There’s no NLP model, no confidence score, and no per-tenant intent catalogue — every intent is defined inline on the node.
Configuring the node
- Drop the Intent Route node from the Logic category onto the canvas.
- Open the configuration drawer and add one row per intent:
- Key — short identifier (e.g.
track_order,billing_question). This is the port name on the canvas; wire each intent’s port to its downstream branch. - Label — optional human-readable name shown in the drawer and in analytics.
- Priority — integer. When the inbound text matches more than one intent, the higher-priority intent wins. Ties fall back to row order.
- Keywords — comma-separated literal strings. Matched case-insensitively against the inbound text after trimming.
- Regexes — pipe-separated regular expressions. The first regex to match wins for that intent.
- Key — short identifier (e.g.
- Else port key (bottom of the drawer) — the port name that fires
when no intent matches. Defaults to
else.
Output ports
- One output port per configured intent, with the port name equal to the intent’s key.
- One else port (rename via the Else port key field) for inbound text that didn’t match any intent’s keywords or regexes.
When to use it
- Open-ended menus where you want customers to type their request naturally rather than tap buttons.
- Top-of-funnel triage when customer language varies wildly across a small, well-known set of intents (e.g. five top reasons-to-contact).
- Reducing button-menu clutter for power users who type their request before the bot finishes prompting.
When not to use it
- The customer’s reply is one of a fixed small set of expected literals — use Quick Links or List instead. Tap-to-select is more reliable than free-text matching.
- You need genuine semantic understanding — Intent Route is purely lexical (keywords + regex). For LLM-style classification, use the Agent node and have your agent decide.
- The intent depends on a contact attribute (tier, region, language) — use Condition instead.
Notes
- Each match writes an
intent_matchedevent with the intent key, label, and priority. Analytics surface those events so you can see which intents win most often. - When the node is entered without an inbound message (e.g. straight after a Message), it parks the session and waits for the next customer reply before classifying.
- The runtime only supports
mode: 'lexical'. Recipes saved with any other mode value won’t publish — the publish-time validator blocks them.
Last updated on