Webhooks Overview

View as Markdown

Webhooks let your backend receive call events without polling. Configure webhook targets on an agent, then FormantAI sends an HTTP POST to your endpoint whenever a subscribed terminal event occurs.

How webhooks work

1

Configure target

Add an HTTPS endpoint to the agent’s Webhook tab.

2

Select events

Subscribe the target to events such as call.completed, call.no_answer, and call.failed.

3

Call runs

The agent places or receives calls and stores the conversation result.

4

FormantAI POSTs event

Your endpoint receives a signed JSON payload with call data, results, retry details, and optional transcript/recording URL.

5

Your server acknowledges

Return a 2xx response quickly and process heavier work asynchronously.

Event lifecycle

Call initiated
|
v
Call rings / connects / fails
|
v
Terminal status is stored
|
v
Subscribed webhook targets receive the event

Endpoint requirements

  • Use HTTPS in production.
  • Accept POST requests with Content-Type: application/json.
  • Return a 2xx response quickly.
  • Verify X-FormantAI-Signature before trusting the payload.
  • Deduplicate events using event_id.
  • Queue expensive work instead of blocking the webhook response.

For most production integrations, subscribe to call.completed, call.no_answer, call.busy, call.failed, and call.unreachable. Add lower-level failure events when your operations team needs more debugging detail.