Hookdeck
Connections overviewCreate a connectionEdit a connectionPause a connectionArchive a connectionUnarchive a connection

Connections overview

A connection lets you route webhooks from a source to a destination. Your existing connections are viewable on the Connections page, grouped by source.

To fan out a single source to multiple destinations, simply create a new connection on an existing source.

How connections work

When Hookdeck receives a webhook from a source, a copy of the request is routed over every connection attached to that source. For one-to-many delivery, create multiple connections on a single source.

A connection's rules – including automatic retries, filters, and transformations – dictate how each webhook is routed along that connection, and what happens when a delivery attempt fails.

Pause a connection to temporarily halt its routing of webhooks. Pausing a connection is particularly useful when troubleshooting a destination server, or during outages. When a connection is permanently retired, it can be archived.

Best practices for connections

There's no right or wrong way to structure your connections. We've listed two popular approaches below – usually we recommend the former, but the latter has its own unique advantages.

Connection per use case

In this approach, each connection routes to a single, use case-specific endpoint on your destination.

For example, a Shopify Order → Create Gift Card connection might allow a new Shopify order to execute a createGiftCard method on your destination service.

This approach provides the clearest architectural context to your team working in Hookdeck. Visibility and troubleshooting from within Hookdeck are improved, since each connection maps to a specific user story.

Connection per service

In this alternative approach, each connection routes an entire service to your destination.

For example, you might enable a Shopify → My API connection to pass all Shopify webhooks to your service. In this case, you would handle the routing of different types of data to various methods within your API based on the contents of the webhook.

This approach allows you to have fewer connections overall. The downside is that you lose a level of granularity within Hookdeck.