Beyond conversation
It can act with nobody on the line.
Post an event from any system that speaks HTTP, and conditions you configure decide what happens: a call, a WhatsApp message, both, or a task the agent completes without ringing anyone.
What the capability actually does.
Triggered by anything that speaks HTTP
A webhook from a CRM, a form handler, or a cron job becomes an event. Conditions match against the payload you send and decide the outcome, rather than a person watching a dashboard for something to happen.
Silent tasks, when nobody needs to be on a call
Not every trigger should ring a phone. A silent task runs the agent against an event with no call or message at all, useful for updating a record or checking a condition before anything reaches a person.
Bulk outreach as a campaign
Upload a CSV of contacts, set a pace between one and sixty calls a minute, and start, pause, resume, or cancel it. It reuses the same durable queue, with per-contact status tracked so a failed attempt does not look like a completed one.
20+ events, signed
Subscribe to the call lifecycle, inbound events, messaging and delivery status, headless runs, approvals, campaigns, and contact changes. Every delivery is HMAC signed so a receiving system can verify it came from your deployment, and a failed one can be replayed by hand.
The screens this happens on.

Every event, matched or not
Every event that arrives is recorded with the payload it carried, tagged with whether it matched a trigger. Logging the misses is the point: when an expected call did not happen, this is the screen that distinguishes an event that never arrived from one that arrived and matched nothing, which are very different problems.
- Retention is configurable and changeable without a restart
What it deliberately does not do.
- Campaigns and the contacts inside them are capped by plan, like every other limit on this page.
- A silent task still runs the agent's own declared tools and instructions. It is not a generic script runner for arbitrary code, which is deliberate.
- A call ending in a transfer fires call.transferred, not call.failed. If you subscribed to the latter expecting handoffs, you need to add the former.
The rest of the platform.
- The conversation→
Voice, video, and text
- Reaching people→
Telephony and outreach
- What it knows→
Knowledge and skills
- Beyond one model→
Orchestrators
- Reaching your systems→
Integrations
- More than one deployment→
Federation
- Proving it works→
Evaluations and quality
- The boring, essential part→
Security and compliance