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