DEV Community

Cover image for Building a webhook tester from scratch
Arik
Arik Subscriber

Posted on

Building a webhook tester from scratch

Every now and then I find myself in need of a quick way to debug and test webhooks without the hassle of setting up an entire server. Whether it's validating a third-party API integration, troubleshooting event payloads, or simply experimenting with custom webhook workflows.

While there are plenty of solutions out there designed to test webhooks, they often come with significant limitations. Many of these tools are not self-hostable (or are difficult to install), they have stringent request limits (unless you’re willing to pay), they feel too complex, and they often store data on their servers, raising concerns about privacy and security, especially when I'm dealing with sensitive payloads.

So, I decided to build my own webhook tester with the following requirements:

  • Simple - No paywalls, sign-up or having to jump through a bunch of hoops to create a webhook.

  • Privacy-first - Nothing is stored on the servers. Requests go from the client to the browser that created the webhook.

  • Self-hostable - Easy to install without having to setup a database or other pieces of infrastructure.

Wirehook

Waiting for requests

Request details

Here’s how Wirehook looks in action. The interface is clean and straightforward: you get a unique URL to use as your webhook endpoint, and any incoming requests are displayed in real-time for you to view and analyze. And that's basically it.

If you'd like to run Wirehook locally on your machine (or on your servers), all you need is Docker installed. Once that's ready, just run the following command:

docker run -d -p 3000:3000 runabol/wirehook
Enter fullscreen mode Exit fullscreen mode

This will spin up Wirehook on your local machine, accessible at http://localhost:3000. From there, you can create and test webhook endpoints just like you would with the hosted version.

Wirehook was built entirely using Next.js to keep it simple and self-contained. If you’re curious to see how it works or want to get involved, the full source code is available on GitHub.

Top comments (1)

Collapse
 
urbanisierung profile image
Adam

Nice! Also great that you offer a hosted version! <3