Skip to main content

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.