Setup steps
- Open Phone, then Webhooks, and choose New endpoint.
- Paste the URL that should receive events, for example a Zapier or Make catch hook.
- Optionally filter events, such as call.* or voicemail.received.
- Copy the signing secret. It is shown once.
- Verify each request by computing HMAC-SHA256 of "{timestamp}.{body}" with the secret and comparing it to the Timberswitch-Signature header.
What the AI can do
- Nothing on the call: webhooks report what happened after it.
- Every finished call, voicemail and inbound text becomes an event your other tools can act on.
What it can't do, and limits
- Events go out after the fact. A webhook can't change what happens on a live call.
- Events today: call.completed, voicemail.received, sms.received, contact.created, contact.updated and contact.deleted.
- Failed deliveries are retried with backoff for 8 attempts, then dropped.
Troubleshooting
My endpoint isn't receiving anything.
Check the endpoint is not paused, the event filter matches the events you expect, and the URL accepts a POST over HTTPS. The Webhooks page shows the last delivery time.
The signature doesn't match.
Sign the raw request body exactly as received, prefixed with the timestamp and a full stop. Re-serializing the JSON first changes the bytes and breaks the signature.
I lost the signing secret.
Secrets are shown once. Delete the endpoint and create a new one to get a new secret.
Disconnecting, and the data we keep
An owner or admin can pause or delete an endpoint at any time from Phone, then Webhooks, in the app.
- The endpoint URL, label, event filter and signing secret, in your workspace's encrypted database.
- A delivery log with status codes, kept for troubleshooting.
- Deleting an endpoint stops deliveries straight away.
Still stuck?
Get help: it opens an Integration support ticket. Include the time of the call and what you expected to happen.
TimberSwitch is a trademark of its owner; TimberSwitch is not affiliated.