Agents
Doing the work

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 demo
01

Reasoning 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.

Runs/Load 48213, turn 4Version 9
Conversation so farCarrier just left Reno
Contact history12 loads, always on time
TMS lookupDelivery due 14:30
Signal/storm/i-80
Next move
  • Answer
  • Call a tool
  • Escalate
get_revised_etaStorm on the lane changes the ETA.
02

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.

Workflows/SignalsVersion 9
/storm/i-80Weather service

I-80 closed at Donner, chains on US-50

LoadLaneSignal
  • 48213Reno to Sacramento
  • 48217Reno to Denver
  • 51102Dallas to Atlanta
  • 48220Salt Lake City to Denver
  • 51140Laredo to Memphis
Delivered to 3 of 5 live sessions

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.

Putting agents to work in complex environments.