Webhook Relay uses certain terms such as Buckets, Inputs, Outputs and Functions to enable webhook forwarding. This section explains them.


Bucket is what holds the incoming and outgoing webhook configuration. To start webhook forwarding, you will need to create at least one bucket.


Inputs are your public endpoints. This is where your applications or 3rd party services such as GitHub, Zapier, etc. need to send their webhooks.

There can be many inputs in a single bucket.


Each output specifies a destination where webhooks can be forwarded to. Outputs can be either:

  • public - which are forwarded directly by Webhook Relay servers to the destination.

  • internal - which are forwarded through the agent (that you need to start in your environment).

There can be many outputs in a single bucket. Each received webhook will be forwarded to each output.


Functions are used to modify, filter or react to webhooks. They can be attached either to inputs, outputs or both.

You can use functions for:

  • Creating a dynamic response when Webhook Relay endpoint is hit (for example generating some code)

  • Transforming payload (received webhook from IFTTT can be sent to Zapier to trigger some flow)

  • Filter webhooks

  • Authenticate webhooks

  • etc.

Webhook Stats

You can view basic webhook counts for the last 7 days in your dashboard:


  • Received - webhooks that have been received on Webhook Relay but weren't forwarded. An example could be that the destination was internal but no clients were connected, hence nowhere to forward.

  • Success - received & successfully forwarded to the destination.

  • Failures - received & attempted to forward, however the server responded with an error. We attempt to deliver 5XX errors 5 times before giving up.

You can also view individual bucket logs:

You can filter based on date and status.

Last updated