Webhook Forwarding

Webhook Relay provides public endpoints which can accept webhooks and then, based on user defined rules, forward them to either public or internal destinations.

Our service has a concept of bucket which is basically a grouping mechanism that enables you to accept webhooks on multiple endpoints and forward them to one or more destinations. A newly created bucket will have a default input and will request you to create an output destination:

New Bucket

If it’s a public destination, add the name, HTTP URL and click ‘create output’. All received webhooks will be forwarded to that destination.

If it’s an internal destination, check ‘internal network’ and start a relay agent:

$ relay forward --bucket new http://localhost:8080
Forwarding:
https://my.webhookrelay.com/v1/webhooks/2e50b993-ac45-48f7-b840-eb054b19e630 -> http://localhost:8080

What can be forwarded?

Currently Webhook Relay forwards:

Response body settings

Sometimes applications that send webhooks accept certain headers, status code or body. To configure these settings, go to your bucket details and click on a settings icon near the input URL that you want to configure:

Input URL response settings

Configuration looks like:

Input URL response configuration

If you need more specific or dynamic configuration, consider using bidirectional tunnels with your own server on the backend.

Overriding webhook headers

Output configuration allows overriding request headers so users can add any headers on top:

Configure output

You can also update output destination and headers through CLI:

relay output update OutputName --bucket Test --header secret-token=123456 --destination https://127.0.0.1:1880