Documentation
Webhooks
Receive real-time HTTP callbacks when events happen in your BXLivechat workspace.
How webhooks work
- Create a webhook in Admin → Webhooks.
- Specify a target URL (HTTPS).
- Select the events you want to subscribe to.
- We send a
POSTrequest with a JSON payload to your URL every time a subscribed event fires. - Your server responds with a
200status within 10 seconds.
Creating a webhook
- Navigate to Admin → Webhooks in your dashboard.
- Click Add webhook.
- Enter your endpoint URL (must be HTTPS in production).
- Choose the events you want to receive.
- Copy the generated signing secret — you'll need it to verify payloads.
- Click Save. The webhook is now active.
Webhook payload
Every webhook delivery sends a JSON body with this structure:
{
"event": "chat.created",
"timestamp": "2025-01-15T08:30:00.000Z",
"organizationId": "clxyz1234567890",
"data": {
"chatId": "clxyz_chat_001",
"visitorId": "visitor_abc123",
"metadata": {
"page": "https://example.com/pricing",
"userAgent": "Mozilla/5.0..."
}
}
}| Parameter | Type | Description |
|---|---|---|
event | string | The event type that triggered the webhook, e.g. chat.created. |
timestamp | string | ISO 8601 timestamp of when the event occurred. |
organizationId | string | The ID of the organization the event belongs to. |
data | object | Event-specific payload. See the Events page for details on each event. |
Retry policy
If your server does not respond with a 2xx status code, we retry the delivery up to 3 times with exponential backoff:
- 1st retry — after 5 seconds
- 2nd retry — after 30 seconds
- 3rd retry — after 120 seconds
After 3 consecutive failures the webhook is automatically disabled and the organization admin is notified via email.
HTTPS required — Webhook URLs must use HTTPS in production. HTTP is only accepted for
localhost during development.