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