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: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
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.
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.tomlfile - 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

