Skip to content

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.

How it works

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.

In the product

The screens this happens on.

The event log listing incoming events, each tagged triggered or no match, with the JSON payload that arrived

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
Boundaries

What it deliberately does not do.

Stated here rather than discovered in production. Every one of these is a real constraint, and knowing them before you buy is worth more than a longer feature list.
  • 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.