Webhooks

Receive real-time HTTP callbacks when events happen in your BXLivechat workspace.

How webhooks work

  1. Create a webhook in Admin → Webhooks.
  2. Specify a target URL (HTTPS).
  3. Select the events you want to subscribe to.
  4. We send a POST request with a JSON payload to your URL every time a subscribed event fires.
  5. Your server responds with a 200 status within 10 seconds.

Creating a webhook

  1. Navigate to Admin → Webhooks in your dashboard.
  2. Click Add webhook.
  3. Enter your endpoint URL (must be HTTPS in production).
  4. Choose the events you want to receive.
  5. Copy the generated signing secret — you'll need it to verify payloads.
  6. 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..."
    }
  }
}
ParameterTypeDescription
eventstringThe event type that triggered the webhook, e.g. chat.created.
timestampstringISO 8601 timestamp of when the event occurred.
organizationIdstringThe ID of the organization the event belongs to.
dataobjectEvent-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.