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 theX-Libredesk-Signature
header in the format sha256=<signature>
.
Headers
Each webhook request includes the following headers:Header | Description |
---|---|
Content-Type | Always application/json |
User-Agent | Libredesk-Webhook/<version> |
X-Libredesk-Signature | HMAC signature (if secret is configured) |
Available Events
Conversation Events
conversation.created
conversation.created
Triggered when a new conversation is created.
conversation.status_changed
conversation.status_changed
Triggered when a conversation’s status is updated.
conversation.assigned
conversation.assigned
Triggered when a conversation is assigned to a user.
conversation.unassigned
conversation.unassigned
Triggered when a conversation is unassigned from a user.
conversation.tags_changed
conversation.tags_changed
Message Events
message.created
message.created
Triggered when a new message is created in a conversation.
message.updated
message.updated
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