Skip to main content

Single-Endpoint Webhook Integrations

Some apps, noteably Slack, Dropbox and Hubspot, do not have customer-specific webhooks. Instead, all events are sent to a single endpoint, and these apps expect the receiving server to route the events to the correct customer.

If you would like to build an event-driven integration with Slack, Dropbox, Hubspot, or another app that offers single-endpoint webhooks, you can do so by building out a "router" integration that will receive all events and route them to the correct customer's instance.

This video explains the concept:

Example Dropbox router integration

The router integration and Dropbox integration demonstrated in the video above is available in our GitHub examples repo. You can import the integrations for yourself and extend them however you see fit.

Router Integration

Example Dropbox Integration

How the Dropbox router integration works

When an instance of the Dropbox integration is deployed, its Register Instance flow looks up the authenticated Dropbox connection's Dropbox account ID, and sends that account ID along with the webhook URL for the Handle Change Notifications flow to the router integration. The router integration stores the Dropbox account ID and webhook URL in a map.

When the router integration receives a webhook event from Dropbox, it looks up the Dropbox account ID associated with the event and sends the event to the correct instance of the Dropbox integration using the corresponding webhook URL.