Skip to main content

Support & Resources

Announcements webhooks

Premium Features

Loading...

Announcements webhooks

Announcements webhooks

Get notified when a call reaches one of your Announcement boxes, and again when it finishes.

Where to set it up

  1. Go to Premium Features > Announcements.
  2. Open the Announcement Boxes tab and choose Manage Settings on the box you want.
  3. Open the Alerts & Webhooks tab.
  4. In the webhook card, turn on Send call updates to my website.
  5. Enter your address in Webhook URL Endpoint.
  6. Optional: enter a Webhook secret.
  7. Click Save Changes.

A full Webhook Guide is also available from the Announcements menu and from the webhook card.

Events you will receive

All four events are sent when webhooks are on. You cannot switch individual events off.

EventWhen it is sent
announcement.startedA call has arrived and the announcement has started playing.
announcement.completedThe call finished normally (the message played, and any forward ran).
announcement.abandonedThe caller hung up before the announcement finished.
announcement.failedThe call could not be completed.

Sending to a chat app

If your URL is a Slack, Discord, Microsoft Teams or Google Chat incoming webhook address, Crazytel sends a short, easy-to-read message instead of the full JSON. For example:

Announcement Completed
Account: 295327
Product: Announcements
Call: 550e8400-e29b-41d4-a716-446655440004
Announcement: 550e8400-e29b-41d4-a716-446655440000
Status: completed
Details: hangup_cause=NORMAL_CLEARING

Tip: start with a chat URL if you only want alerts. Switch to your own HTTPS address when you want to automate.

Example message

{
  "event": "announcement.started",
  "account_code": "295327",
  "announcement_uuid": "550e8400-e29b-41d4-a716-446655440000",
  "call_uuid": "550e8400-e29b-41d4-a716-446655440004",
  "status": "received",
  "created_at": "2026-06-07T00:00:00Z",
  "caller_id": "61400111222",
  "original_did": "61298786988",
  "data": {
    "route_token": "ann_a1b2c3d4e5f6"
  }
}
FieldWhat it means
eventWhich event this is (see the table above).
account_codeYour Crazytel account number.
announcement_uuidWhich Announcement box handled the call.
call_uuidA unique ID for this call. The same ID is used on every event for the call.
statusWhere the call was up to: received, playing, forwarding, completed, abandoned or failed.
created_atWhen the message was created (UTC).
caller_id / original_didWho called and the number they dialled (optional).
data.hangup_causeOn finishing events, the technical reason the call ended, for example NORMAL_CLEARING.

Webhooks never include audio files, call recordings or storage links.

Security

If you set a secret, each request includes:

X-Crazytel-Signature-256: sha256=<signature>

See Verifying webhook signatures.

Delivery and retries

  • Your server should reply with a 2xx status within about 10 seconds.
  • If it does not, Crazytel tries again after 5 minutes, 15 minutes, 1 hour, 4 hours, then every 12 hours, up to 8 attempts in total.
  • In the call history (Calls tab), a call's activity shows Webhook queued and Webhook sent entries.
Need Help?