Skip to main content
Webhooks allow you to receive real-time HTTP notifications when specific events occur in your Libredesk instance. This enables you to integrate Libredesk with external systems and automate workflows based on conversation and message events.

Overview

When a configured event occurs in Libredesk, an HTTP POST request is sent to the webhook URL you specify. The request contains a JSON payload with event details and relevant data.

Configuration

1

Navigate to webhooks

Go to Admin → Integrations → Webhooks in your Libredesk dashboard
2

Create webhook

Click Create Webhook and configure:
  • Name: A descriptive name for your webhook
  • URL: The endpoint URL where webhook payloads will be sent
  • Events: Select which events you want to subscribe to
  • Secret: Optional secret key for signature verification
  • Status: Enable or disable the webhook
3

Test webhook

Use the test button to send a sample payload to verify your endpoint is working

Security

Signature Verification

If you provide a secret key, webhook payloads will be signed using HMAC-SHA256. The signature is included in the X-Libredesk-Signature header in the format sha256=<signature>.

Headers

Each webhook request includes the following headers:

SSRF protection

Webhook URLs are one of several admin-configured outbound URLs covered by Libredesk’s optional SSRF guard, which is disabled by default. See SSRF protection for details and how to enable it.

Available Events

Conversation Events

Triggered when a new conversation is created.
Triggered when a conversation’s status is updated.
Triggered when a conversation is assigned to a user.
Triggered when a conversation is unassigned from a user.
Triggered when tags are added or removed from a conversation.

Message Events

Triggered when a new message is created in a conversation.
Triggered when an existing message is updated.

Delivery and Retries

Webhook Delivery Behavior:
  • Webhooks requests timeout can be configured in the config.toml file
  • Failed deliveries are not automatically retried
  • Webhook delivery runs in a background worker pool for better performance
  • If the webhook queue is full (configurable in config.toml), new events may be dropped

Testing Webhooks

You can test your webhook configuration using these tools:

Webhook.site

Generate a temporary URL to inspect webhook payloads

RequestBin

Collect and inspect HTTP requests

Best Practices

Do:
  • Always verify webhook signatures in production
  • Respond quickly (< 5 seconds) to webhook requests
  • Process webhooks asynchronously in your application

Example Integration

Here’s a simple Express.js server that receives and processes Libredesk webhooks: