Skip to main content
Webhooks let IllumiChat notify your systems in real time when events occur, such as a new chat message, a ticket being created, or a lead being captured. Instead of polling the API, your server receives an HTTP POST request for each event.

How Webhooks Work

1

Register a webhook

Provide a URL and select the events you want to receive.
2

Events occur

When a subscribed event happens in IllumiChat, a payload is sent to your URL.
3

Your server processes the event

Your endpoint receives the POST request, verifies it, and takes action.

Setting Up a Webhook

Via the Dashboard

  1. Go to Settings > Webhooks in your workspace
  2. Click Create Webhook
  3. Enter your endpoint URL (must be HTTPS)
  4. Select the events you want to subscribe to
  5. Save

Via the API

Event Types

Payload Format

Every webhook delivery includes a JSON payload with a consistent structure:

Handling Webhooks

Basic Express Server

Next.js API Route

Best Practices

Return a 200 response as soon as possible. Process the event asynchronously if your logic takes more than a few seconds. IllumiChat may time out and retry if your endpoint does not respond promptly.
Webhook deliveries can occasionally be duplicated. Use the event timestamp and resource id to deduplicate on your end.
Webhook URLs must use HTTPS. For local development, use a tunneling service like ngrok to expose your local server.
Log the full payload while building your integration so you can inspect the exact structure of each event type.

Retry Policy

If your endpoint returns a non-2xx status code or times out, IllumiChat retries the delivery with exponential backoff: After 3 failed retries, the delivery is marked as failed. You can view failed deliveries in your webhook settings and manually trigger a re-delivery.

Managing Webhooks

List Active Webhooks

Disable a Webhook

Delete a Webhook

Use webhooks together with the Contacts API and Tickets to build automated support workflows — for example, automatically creating a CRM record when a lead is captured and escalating to a human agent when a ticket is created.