Skip to main content
Webhooks are available on the Business plan and above.
Webhooks allows you to listen to real-time events happening across your Dub workspace. With webhooks, you can build custom integrations with Dub, such as:
  • Triggering a Zap on Zapier when a new link is created in Dub
  • Sending click events in real-time to Segment for further processing
  • Get a Slack notification when someone clicks on your pitch deck link
  • Building gamified referral programs – e.g. increment usage credits for the referrer when a new signup happens
The following actions do not trigger link.* webhook events:
  • Bulk create links, Bulk update links, and Bulk delete links
  • Creating a link with Upsert a link (updating an existing link with it does trigger link.updated)
  • Links created, updated, or deleted by partners from the partner portal
  • Links created via imports or the Slack /shorten command
  • Links deleted as a result of deleting a domain or workspace
In this guide, we’ll show you how to configure webhooks for your Dub workspace and a list of available events you can listen to.

Creating a webhook

To create a webhook for your Dub workspace, you’ll need to follow these steps: Navigate to the Webhooks settings page in your Dub workspace.
Create Webhook
Click on Create webhook to create a new webhook.
Create Webhook Form
Fill in the required fields in the webhook creation form:
  1. Name: Give your webhook a name that helps you identify it.
  2. URL: Enter the URL of the endpoint where you want to send the webhook. We recommend using webhook.site to test your webhook.
  3. Webhook events: Select the events you want to listen to. You can select multiple events. Refer to the Event Types section to see the list of available events.
Partner events (e.g. partner.enrolled, commission.created) are only listed if your workspace has a Dub Partners program.
If you select link.clicked, you can also choose which links trigger the event:
  • All links: Trigger the webhook for every link in your workspace.
  • Include specific folders (recommended): Trigger the webhook for all links in the folders you select.
  • Include specific links: Trigger the webhook only for the links you select.
Finally, click on Create webhook to create the webhook. Once the webhook is created, Dub generates a signing secret for it, which you can find in the webhook’s Configuration tab. Use it to verify that incoming requests came from Dub. Learn more about verifying webhook requests.

Viewing webhook event logs

We also provide you with a webhook event logs page where you can view all the webhook events that have been sent to your webhook endpoint in real-time. To view the webhook event logs, select the webhook from the Webhooks settings page and click on the Event Logs tab. Here, you’ll see a list of all the webhook events that have been sent to your webhook endpoint:
Webhook Event Logs
You can also select on a specific event, which will open up a sheet with more details about the event:
Webhook Event Logs Details

Sending test events

You can send test events to your webhook URL to ensure that it’s working correctly. To do this:
1

Go to the webhook details page

Navigate to the Webhooks settings page and select the webhook you want to test.Click on the Configuration tab to open the webhook details page.
2

Open the test event modal

Select the ⋮ icon on the top right of the page, and click on Send test event.
Send Test Event
This will open up a modal where you can select the event you want to send.
Send Test Event Modal
3

Send the test event

Select the event you want to send, and click on Send test webhook.
Send Test Webhook
You’ll see a success message and receive the webhook event in the webhook endpoint you specified.

Retry Behaviour

If your webhook endpoint does not respond with a success status code (2XX), we retry the request to ensure every message will be delivered. You can see all the retry attempts in your webhook event logs. Webhooks are retried until they are successfully delivered – with an exponential backoff to avoid overwhelming your webhook endpoint (also known as the “thundering herd problem”). The delay is capped at 24 hours from the 5th retry attempt onwards.

Temporary Disablement

If a webhook endpoint consistently fails, it will be automatically disabled after a series of failed attempts. An email notification will be sent to a workspace owner at the following intervals:
  • After 5, 10, and 15 consecutive failed attempts.
  • On the 20th consecutive failed attempt, the webhook will be disabled.
This mechanism ensures that non-responsive endpoints do not continue to receive retry attempts indefinitely, maintaining system efficiency and preventing unnecessary load on both the sender and receiver. To re-enable a disabled webhook, open the webhook from the Webhooks settings page, select the ⋮ icon on the top right of the page, and click on Enable webhook.

IP allowlist

If your endpoint sits behind a firewall or IP allowlist, you’ll need to allow traffic from the following IP addresses – these are the IPs that Dub uses to deliver events (and retries):
This list can potentially change over time. For the most up-to-date list, fetch it directly from api.upstash.com/v2/qstash/ipv4.