Skip to main content
Hyperbrowser webhooks let you react to session lifecycle events without polling. Configure a destination URL, pick the event types that matter, and we will fan out JSON payloads that are signed with your team’s webhook secret.
Webhooks are configured per team in Settings → Webhooks. Generating a secret is required before you can enable delivery.
This feature is currently in beta. To get access, please contact us at info@hyperbrowser.ai.
Need the exact payloads? See Event types for the full catalog, triggers, and sample JSON. Every webhook includes a unique eventId so you can deduplicate deliveries safely.

Configuring Delivery

  1. Generate (or rotate) the webhook secret from the dashboard. Treat it like a password.
  2. Toggle Webhooks on and provide an HTTPS endpoint. We recommend a dedicated path such as https://api.example.com/webhooks/hyperbrowser.
  3. Select at least one event type. Only the checked events will be delivered.
  4. Save the settings. New sessions created afterward inherit the configuration immediately.
We require a publicly reachable HTTP(S) URL.
Your endpoint should respond with a 2xx status as soon as the payload is persisted or handed off to durable storage. Long-running work should be decoupled to avoid timeouts.

Security & Verification

Every request includes headers you must capture to validate authenticity: Validation steps:
  1. Read the raw request body (before parsing JSON).
  2. Recompute expected = HMAC_SHA256(secret, "<timestamp>.<rawBody>").
  3. Compare expected to the X-Webhook-Signature header with a timing-safe comparison function.
  4. Optionally enforce a maximum clock skew (e.g., reject signatures older than 5 minutes).

Webhook Handler

The snippets below show how to handle the webhook events in your own code.