Reasoning agents
Agents that decide what to do, not just what to say, reading live records and past interactions, and reacting to events that land mid-conversation.
Book a demoReasoning at every step
At every turn the agent weighs the conversation so far, the contact's history, what your systems return and any signal that just landed, then decides whether to answer, call a tool, or escalate.
- Answer
- Call a tool
- Escalate
Signals
Sessions subscribe to topics when they start, so an event like a storm on I-80 or a cancelled appointment reaches the live conversations it affects and leaves the rest alone. The agent changes course mid-call or holds the event until the next turn.
I-80 closed at Donner, chains on US-50
- 48213Reno to Sacramento/storm/i-80
- 48217Reno to Denver/storm/*
- 51102Dallas to Atlanta/lane/i-20
- 48220Salt Lake City to Denver/storm/*
- 51140Laredo to Memphis/lane/i-35
FAQs
A Signal is an external event delivered into a workflow session that is already running, rather than into a queue behind it. A weather service, a TMS update, or an internal system can publish one, and any live session subscribed to that topic receives it immediately, which is what lets an agent react to something that happened outside the conversation while the conversation is still open.
A webhook trigger starts a new workflow run. A Signal reaches a run that is already in progress. If a rate change arrives before a call begins, a trigger is the right pattern; if it arrives while the agent is already negotiating, only a Signal can change the outcome of that conversation.
Sessions subscribe to topics when they start, so routing is resolved before the event ever arrives. A topic can be as broad or as narrow as the operation needs: a custom topic like /storm/i-80 reaches every live session on that lane and leaves every unrelated session untouched.
The agent either updates the response it was about to give, in place, or holds the event until the next turn when interrupting would be wrong. Tool calls can be re-issued on the new information, so the agent can pause a quote and ask for a revised ETA rather than finishing a line that is now incorrect.
Yes. A reasoning agent runs without a live communication channel: it takes an input, works through it against your records and tools, and returns a structured output for the next node to act on. Same reasoning capability as a voice or text agent, used for background decisioning like scoring an exception or classifying a batch rather than for conversation.

