Skip to main content

Webhooks

We POST a JSON body to a URL you own, whenever something happens on the account. Five event types are available:

Event typeFires when
AccountSMSA text message is sent or received
AccountRealTimeCallsA call changes state — while it is happening
AccountEndedCallsA call finishes, with its full leg breakdown
UserEndedCallsA call finishes, from one user's perspective
AccountAITranscriptionA call's transcription and summary are ready

How it fits together

  1. Subscribe — create a subscription with your URL and one event type, over the API or in the portal.
  2. Receive — we POST the event body to that URL.
  3. Respond 2xx fast, then do your work asynchronously.

Before you build

danger
  • There is no retry. If your endpoint is down or slow when an event fires, that event is gone. See Delivery.
  • There is no signature. Nothing in the request proves it came from Telebroad. See Verifying.
  • One subscription is one event type. Three kinds of event, three subscriptions.

A minimal receiver

Answer within the 30-second timeout, then work off the request path — a slow handler loses the event, because nothing is retried.

app.post('/telebroad/hook', express.json(), (req, res) => {
res.sendStatus(200);
queue.push(req.body);
});