DEV Community

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

Posted on

3 1 1

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.

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (1)

Collapse
 
urbanisierung profile image
Adam

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

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay