Webhook integrations

Webhooks let you send real-time event data from Deskwoot to external systems.

Also available in:DeutschPortuguês

Webhooks let you send real-time event data from Deskwoot to external systems, enabling powerful automations without constant polling. Whether you want to update a CRM, trigger a notification in a third-party tool, or log support events in your own database, webhooks provide a lightweight, event-driven way to keep everything in sync.

This guide walks you through creating a webhook, choosing the right events, and troubleshooting common issues.

Creating a Webhook

  1. Navigate to Settings > Webhooks in your Deskwoot dashboard.
  2. Click Add Webhook.
  3. Enter the URL of the endpoint that should receive the event data. This must be a publicly accessible HTTPS URL.
  4. Select the event types you want to subscribe to (for example, conversation created, message sent, or contact updated).
  5. Click Save to activate the webhook.

Once saved, Deskwoot will send an HTTP POST request containing a JSON payload to your specified URL every time a matching event occurs.

Best-Practice Tips

  • Use HTTPS endpoints only. This ensures event data is encrypted in transit and protects sensitive customer information.
  • Subscribe selectively. Only choose the event types you actually need. Subscribing to every event can generate a high volume of requests and make debugging harder.
  • Respond quickly. Your endpoint should return a 2xx status code as fast as possible. Offload any heavy processing to a background job to avoid timeouts.
  • Log incoming payloads. During initial setup, log the raw JSON so you can inspect the payload structure and build your integration accurately.
  • Keep your endpoint idempotent. In rare cases a webhook may be delivered more than once. Design your handler so that processing the same event twice does not cause duplicate actions.

Troubleshooting

  • Not receiving events? Verify that your endpoint URL is correct, publicly accessible, and returns a 2xx response. Firewalls or IP-allowlisting rules can silently block incoming requests.
  • Unexpected payload format? Make sure you are parsing the request body as JSON (Content-Type: application/json). Check your server logs for parsing errors.
  • Events arriving late? Brief delays can occur during high-traffic periods. If delays persist, confirm that your server is not throttling or queuing incoming connections.

Frequently Asked Questions

Can I set up multiple webhooks for different endpoints?

Yes. You can create as many webhooks as you need, each pointing to a different URL and subscribing to different event types. This is useful when separate services need to react to different events.

What happens if my endpoint is temporarily down?

If Deskwoot receives a non-2xx response or the request times out, the delivery is considered failed. Monitor your endpoint uptime to minimize missed events, and consider implementing a fallback logging mechanism on your side.

Is there a way to test a webhook before going live?

A common approach is to use a request-inspection tool (such as a temporary public URL that logs incoming requests) as your endpoint during setup. This lets you review the payload structure and confirm delivery before pointing the webhook at your production system.

Related articles