Skip to main content
Webhooks deliver real-time HTTP POST notifications to your backend servers whenever events occur across your agent channels. Instead of continuously polling, your agents can respond instantly to inbound emails, SMS, and iMessages.

Supported Event Types


Managing Webhooks

You can configure, inspect, test, and manage webhook subscriptions programmatically via the Python SDK, TypeScript SDK, or the terminal CLI.

Creating a Webhook

Register a new HTTPS endpoint to receive agent events. You can optionally restrict the webhook to a specific agent handle or configure a custom Bearer auth token:

Listing Webhooks

Query all configured webhook subscriptions across your organization, or filter by agent handle:

Testing Webhook Connectivity

Send an instant test.ping event to verify network routing, SSL handshakes, and receiver response times:

Rotating Signing Secrets

Immediately invalidate an existing HMAC signing secret and generate a fresh replacement:

Deleting a Webhook

Permanently remove a webhook subscription:

Inbound Payload Example

When an event triggers, Wirebox dispatches a structured JSON payload to your webhook URL:

Authentication & Verification

Wirebox provides two complementary layers of authentication to ensure incoming webhooks originate legitimately from Wirebox.

1. Custom Auth Token (Bearer Authentication)

The simplest method. When registering a webhook endpoint, supply an optional auth_token:
Your receiving server simply validates this header:

2. Zero-Trust HMAC-SHA256 Verification

For cryptographic tamper-proofing, every webhook endpoint is issued a signing secret (whsec_...). Wirebox signs the payload using HMAC-SHA256 and includes the signature in the header:
The signed string is built from the request ID, the epoch-seconds timestamp, and the exact raw request body:
Deliveries with no request ID fall back to timestamp + "." + raw_body. Both the Python and TypeScript SDKs provide built-in, timing-safe verification:

Manual HMAC Verification

If you are implementing verification manually without the SDK:

Idempotency & Timeouts

  • Idempotency: Every delivery carries a unique, stable id. If your server receives the same id more than once, safely acknowledge and discard the duplicate.
  • Timeouts: Wirebox waits up to 10 seconds for your endpoint to respond. Deliveries are attempted once — there is no automatic retry — so respond with 2xx quickly and queue heavier work asynchronously on your side.

To configure webhooks programmatically, refer to the REST API Reference: