Working with webhooks differs from working with the traditional, forward facing HTTP API’s. When working with webhooks, you are required to verify incoming webhooks and provide an HTTPS secure endpoint URL even during development. In this quick guide, I’ll break down some of the tools I use during various stages of working with webhooks for a better development workflow.
Local tunneling
Local tunnels proxy external requests to a port on your local machine, making the web service running locally on your machine accessible over the internet. Local tunnels are useful when working with webhooks, as most API providers require that a publicly accessible/HTTPS secure URL is provided when registering a webhook.
- Hookdeck CLI The Hookdeck CLI can be used to forward webhooks to your local server. The Hookdeck CLI is completely free, and offers unlimited and permanent URL’s unlike other local tunneling solutions in the market. One of my favourite features of the Hookdeck CLI is the replay feature. Your webhook history is preserved across sessions and can be replayed/used for testing. Something else that’s convenient is receiving permanent URLs. To get started with using the Hookdeck CLI for receiving incoming webhooks on your local machine, check out this guide.
- Ngrok.io Ngrok is a local tunneling service that exposes local servers behind NATs and firewalls to the public internet over secure tunnels. Ngrok has a lot of great features, such as authenticated access, reserved and custom domains. Personally, when working with Ngrok, I use a node wrapper around Ngrok published on NPM. If you have node installed on your computer, you might find the NPM package more convenient, depending on your needs. Learn how to set up.
- Localtunnel.github.io Localtunnel is an open-source alternative to Ngrok that can be installed via NPM. With Localtunnel, you can clone the repository on GitHub and host your own local tunnel server.
Webhook debugging
Webhook debugging is an important step in the webhook development workflow. It entails detecting and removing bugs related to your webhooks. This can be done by inspecting HTTP requests. Webhook debugging tools can be used to examine webhook payloads to detect any configuration errors. A good debugging tool should be able to show you the full details of the webhook request, the request payload and headers.
- Requestbin.com According to their website, Requestbin makes it easy to inspect webhook events in a human, friendly way or via REST API’s. This tool comes in handy whenever I need to inspect incoming requests, or view the payloads and headers.
- Hookdeck.com Hookdeck is a SaaS offering that has features for debugging webhook payloads. I use Hookdeck to inspect webhook payloads as it provides a nice and clear interface for viewing webhook payloads. Using Hookdeck, you also get the ability to retry failed webhook events.
- Hookbin.com Hookbin is a free alternative to Requestbin! Hookbin provides functionality for parsing, collecting & viewing HTTP requests. Hookbin provides SSL secured endpoints, private endpoints and supports multiple content types.
Webhook infrastructures
Webhook infrastructures are systems used for managing webhook connections and working with webhooks. Typically, webhook infrastructures should provide functionality for queuing, monitoring and retrying webhooks.
- Hookdeck.com Hookdeck focuses on webhook reliability. It provides auto-scaling, throttled delivery, monitoring and webhook replay, making sure developers are never losing their webhooks. Hookdeck isn’t platform specific, so I added all my webhooks onto Hookdeck which makes it easy to manage them from one place.
In Conclusion
These are some of my favourite tools for working with webhooks.
What are your favourite tools for working with webhooks? Leave a comment below.
Top comments (0)