Webhooks

Tone delivers real-time events to your webhook URL as calls progress and SMS messages arrive.

Configuration

Set your webhook URL when provisioning a number or updating it:

bash

Call events

call.started

Fires when a call is answered.

json

call.turn

Fires after each speaker turn (real-time transcript).

json

call.ended

Fires when a call completes.

json

SMS events

sms.inbound

json

Responding to webhooks

Tone expects your endpoint to return 200 OK within 30 seconds. Failed deliveries are retried up to 3 times with exponential backoff.

For call turns, you can optionally return a JSON body with TTS instructions:

json

Verifying authenticity

Tone signs every webhook request with an HMAC-SHA256 signature in the X-Tone-Signature header. Verify it matches HMAC-SHA256(secret, body) where secret is your webhook signing secret from the dashboard.

typescript