Intent routing
Intent routing decide what happens after the assistant understands the caller’s intent.
A router maps an intent or function name to an adapter.
Intent routers are declared under [routers].
[routers]
[routers.intent]
[routers.intent.default]
default_adapter = "hangup"
enabled = true
Intent routers
Intent routers live under [routers.intent].
[routers.intent.default]
default_adapter = "hangup"
enabled = true
In this example, the router name is default.
Policies reference this router by name:
[policies.default]
intent_router = "default"
Default adapter
The default_adapter is used when no explicit route matches.
default_adapter = "hangup"
This provides a safe fallback.
Router policies
Routers can include policy gates.
[[routers.intent.default.policies]]
intents = ["call_transfer", "hangup"]
type = "allow_list"
This example allows only the listed intents through that policy rule.
Use allow lists when you want strict control over which intents can be routed.
How routers connect to policies
A router becomes active through a policy.
[policies.concierge]
intent_router = "default"
The active profile selects the policy, and the policy selects the router.