Webhooks
Webhooks can be configured in the Gabber dashboard.
For a list of webhook payloads, see Webhook.
Example Use Cases
- An app that has a credit sytem could use the
usage.tracked
webhook to deduct credits on the platform. - Realtime sessions that use tools calls could use the
tool.calls_finished
webhook to respond into the session with tool call results. - The
realtime_session.state_changed
webhook can be used to make relevant updates when a phone number is called
Local Development
Since your computer is likely not exposed on a static public IP address to the internet, Gabber can't send webhook requests to it. This presents a challenge for developing webhook handlers.
The easiest way to get around this is to use a tunneling service. Ngrok is a very popular, free choice.
Running:
ngrok http 3000
gives you a public endpoint that proxies all traffic to your localhost:3000. Learn more at ngrok.com.
Deliverability
Webhook requests are retried 3 times to ensure deliverability.
Security
Since your backend's webhook endpoints must be public to recieve webhooks, it's important to verify that Gabber is the sender (and not a malicious actor).
Every webhook request is sent with an X-Webhook-Signature
header which is an HMAC-SHA256 hex string of the request body signed with your configured Gabber API key.