One workflow, two surfaces: the widget and the automation
The same agent graph now runs two ways without being rebuilt: as the voice and chat widget your visitors talk to, and as a scheduled automation that reaches customers on WhatsApp.
For most of last year the builder made a quiet assumption: a workflow existed to answer someone who had just shown up. A visitor arrives, the widget opens, the agent responds. Everything about the runtime was shaped by that one direction of travel.
Then customers started asking for the opposite. They had the knowledge, the tools, and the rules already wired up for the widget, and they wanted the same brain to go out and start conversations on a schedule.
The graph does not change
A workflow is a set of agents, the knowledge they can read, the tools they can call, and the guardrails they answer to. None of that is inherently about who spoke first. What differs between a widget session and a scheduled run is only the trigger and the channel.
So we split those two out of the workflow and made them deployment targets. The same graph you built for the widget can be attached to a schedule, and it will run against your data instead of against a visitor.
What the automation actually does
On each run the workflow syncs the records you pointed it at, applies your rules to decide who qualifies, and messages the ones that do. Replies come back into the same workflow, so a customer answering "yes, help me" is handled by the agent that reached out rather than by a separate bot.
- Trigger fires on your schedule, in your timezone.
- The workflow reads the current state of your records through the tools you defined.
- Rules decide who is in scope for this run.
- Messages go out on WhatsApp, and inbound replies route back to the same agents.
Where the surfaces differ
Two things needed to be surface-aware rather than shared. Voice only exists in the widget, so agents that hand off to voice simply do not offer that path in an automation. And the widget can point at the page it is running on, highlighting the button it just described, which has no meaning in a WhatsApp thread.
Everything else, including knowledge, tools, guardrails, and routing, is the same object seen from two directions.
Costs are metered per run
Automations bill the same way as widget conversations: by tokens, per model, rolled up monthly for the workspace. A scheduled run that touches two hundred records and messages nine of them costs what those two hundred reads and nine conversations actually cost.