Router
Route each conversation to the right path
The Router decides which path an AI agent should follow based on what the customer is asking.
Router in a real agent
Interactive exampleWith Every message enabled:
Searches dealership inventory.
with Scheduling enabled
The agent can move naturally between workflows as the customer's needs change.
Create intents for the types of requests your agent should recognize, describe when each route should be used, and connect every route to the next step in your flow. The Router evaluates the message and selects the path that best matches the request.
What the Router does
A single AI agent often needs to handle very different types of inquiries.
A hotel agent might receive questions about:
- room availability
- amenities
- parking
- an existing reservation
- airport transportation
- speaking with the front desk
Those requests should not necessarily follow the same workflow.
The Router lets you create separate paths for them.
For example:
Customer message
Can I bring my dog?
Router
Recognizes the request as a hotel policy question.
Route
Hotel policies
Next node
Document Search
The customer does not need to select a menu option or use an exact phrase. The Router uses the intent instructions you provide to determine which route best fits the message.
Choose how often the Router makes a decision
The Router has two routing modes.
By default, the Router evaluates every new message and can switch paths as the conversation changes. You can also configure it to route based on the first message only when the path should stay fixed once chosen.
Every message is the default mode.
The Router evaluates each new customer message and can send the conversation to a different path when the customer's intent changes.
For example:
Customer: Do you have parking?Hotel information
Customer: Great. Can I book a room for Friday?Reservation workflow
Customer: I actually need someone from the hotel.Human Handoff
The agent is not permanently tied to the first route it selected.
Use Every message when
The conversation may naturally move between different topics or workflows.
It works particularly well for agents that handle broad customer communication, where someone might ask a question, make another request, and then move to a completely different task within the same conversation.
First message only makes one routing decision at the beginning of the conversation.
Once the Router selects a path, the conversation remains on that path.
For example:
Customer: I'm interested in getting a quote.
The Router sends the conversation to:
Request a quote
The rest of that conversation continues through the quote workflow without being rerouted by subsequent messages.
Use First message only when
The first request should determine the workflow and the customer should remain inside that process.
This can be useful for:
- guided workflows
- qualification flows
- structured intake
- department selection
- processes where changing routes midway would interrupt the workflow
The difference is simple:
| Every message | First message only |
|---|---|
| Default mode | Optional fixed-path mode |
| Evaluates every new message | Evaluates the initial message |
| Can change paths during the conversation | Path stays fixed once chosen |
| Best for multi-topic conversations | Best for fixed workflows |
| Dynamic routing | Initial routing |
Intents tell the Router what each path means
An intent represents a type of request the Router should recognize.
Every intent creates a separate connection from the Router node. You connect that route to the next node or workflow that should handle the request.
An intent contains two important pieces.
Intent name
A short internal label that helps you recognize the path inside your agent.
For example:
Pricing
Book appointment
Product availability
Existing reservation
Talk to support
The intent name is for you. The AI does not use the name to decide when the route should be selected.
When should AI choose this route?
This is the instruction the Router actually uses.
Describe the customer requests, meanings, and situations that belong on the route.
For example:
The description is much more important than the name.
A route called Pricing with a vague instruction will be less useful than a clearly described intent that explains what should actually trigger it.
Choose this route when the customer asks where an existing order is, whether it has shipped, when it will arrive, or asks about delivery status.
Choose this route when the customer wants to return, exchange, or request a refund for a purchase.
Choose this route when the customer is asking for information about a product rather than an existing order.
Choose this route when the customer explicitly asks to speak with a person or when their request requires human assistance.
Choose this route when the customer is searching for a vehicle based on model, year, price, color, features, body type, or other preferences.
Choose this route when the customer wants to arrange or ask about a test drive.
Choose this route when the customer wants to trade in an existing vehicle or asks about the trade-in process.
Choose this route when the customer asks about vehicle maintenance, repairs, service appointments, or the service department.
Choose this route when the guest asks about hotel amenities, policies, parking, check-in, check-out, pets, facilities, or general property information.
Choose this route when the guest asks about room types, availability, occupancy, or accommodations.
Choose this route when the guest has already made a reservation and needs help with that booking.
Choose this route when the guest requests help from hotel staff or their request needs direct staff attention.
How to write good intents
Router performance depends heavily on how clearly the routes are defined.
You do not need to write complicated prompts. You do need to describe each intent clearly enough that the Router can distinguish it from the other available paths.
Describe the meaning, not one exact sentence
Avoid writing:
Choose when the customer says "How much does it cost?"
Customers can express the same intent in many ways:
What's the price?
How much would this be?
Do you have any discounts?
What are your rates?
Is there an additional fee?
A stronger intent would be:
Choose this route when the customer asks about pricing, rates, costs, fees, discounts, or how much a product or service costs.
You're describing the meaning of the request, not trying to predict the customer's exact wording.
Make neighboring intents clearly different
Consider these two routes:
Products
Choose when someone asks about products.
Product availability
Choose when someone asks about products.
The Router has very little information with which to distinguish them.
Instead:
Product information
Choose this route when the customer wants details about a product, including specifications, features, sizes, colors, or differences between products.
Product availability
Choose this route when the customer wants to know whether a particular product, model, size, color, or variation is currently available.
Now the distinction is much clearer.
Include related ways customers may express the same request
You do not need an exhaustive keyword list.
It is useful to describe the range of requests that belong to an intent.
For example:
Appointment changes
Choose this route when the customer wants to reschedule, cancel, change, or ask about an existing appointment.
That is better than:
Choose when someone wants to change an appointment.
Keep unrelated jobs separate
An intent such as:
Choose when someone asks about prices, wants to make an appointment, needs customer support, or wants to speak with someone.
is too broad.
Those are different jobs and should normally become separate routes.
For example:
Pricing
→ AI Answer or Document Search
Book appointment
→ AI Answer with Scheduling enabled workflow
Support request
→ Support workflow
Speak with someone
→ Human Handoff
The Router becomes more useful when each path has a clear purpose.
Every intent becomes a path
After you save the Router, every intent appears as a connection handle on the node.
You then connect that handle to whatever should happen next.
For example:
Priority triggers
For routes that need information collected before normal AI routing, you can enable a Priority trigger.
This is optional and allows information to be collected upfront before AI routing takes place.
Priority triggers are useful when a route depends on a required piece of information that should be captured before the Router makes its normal routing decision.
Router vs. the nodes it connects
Router decides where the conversation should go.
It does not search your documents.
It does not search structured data.
It does not collect a full sequence of form fields.
It does not perform the human handoff itself.
Instead, it connects those capabilities.
For example:
Router
understands that the customer wants product availability
↓
Data Search
finds matching products
Or:
Router
recognizes an account-support request
↓
Human Handoff
transfers the conversation
This makes Router one of the primary orchestration tools inside the AI Agent Builder.
When to use a Router
Use Router when the same agent needs different paths for different kinds of requests.
It is particularly useful when:
- different questions require different data sources
- different customer intents require different workflows
- some requests should be automated and others handed to a person
- the agent serves several departments or functions
- a conversation may move between different tasks
- the first customer request should determine which workflow starts
You may not need a Router when the agent performs only one straightforward job and every conversation can follow the same path.
A good Router is simple to understand
You should be able to look at the node and understand its routes without reading the entire agent.
For example:
Pricing
Product search
Appointment
Support
Human handoff
Fallback
is easier to manage than twenty narrowly overlapping routes.
Start with the meaningful differences in how conversations should be handled. Add another intent when the new request genuinely needs a different path.
Build the path your conversations need
Router gives one agent multiple ways to respond to what customers actually ask.
Define the intents, describe when each path should be chosen, connect those paths to the right AskHandle nodes, and decide whether routing should happen continuously throughout the conversation or only once at the beginning.