External web services often provide webhooks as an alternative to polling their public API's for up-to-date information. For example, commits being pushed to Github, bounced emails when sending mails through email services, or chat messages matching a certain filter.

However, you don't want to deal with all the different formats, validations and building filters for each of those services on every system that is interested in this information. Some systems might not even be directly reachable from the internet.

Rehook provides a central, public web endpoint that receives all those webhook requests. It can validate them to prevent abuse, filter them for certain conditions or rate-limit incoming requests. You can configure actions that should take place afterwards, such as forwarding the request to multiple hosts, storing them for later analysis or sending an email based on a template.

It provides an easy to use web interface to configure your webhooks and to keep an eye on how much traffic is being handled.

See the Github project page for more details and the source code: https://github.com/gophergala/rehook

Built With

Share this project: