Skip to content

Deploying Webhook Tester

Introduction

Webhook Tester is a self-hosted tool for inspecting, debugging, and testing webhooks and HTTP callbacks. When developing integrations with third-party services, you often need to see exactly what data is being sent to your endpoints. Webhook Tester captures all incoming requests and provides a clean interface to examine headers, body content, and query parameters.

This is invaluable for development and debugging scenarios where you need to understand the exact payload format from services like payment processors, CI/CD pipelines, or notification systems.

Key features of Webhook Tester include:

  • Request Capture: Automatically capture all incoming HTTP requests
  • Request Inspection: View headers, body, query parameters, and metadata
  • Multiple Endpoints: Create unique endpoints for different webhook sources
  • Request History: Browse previously received requests
  • Replay Functionality: Resend captured requests for testing
  • JSON Formatting: Automatic formatting of JSON payloads
  • Real-Time Updates: See new requests as they arrive
  • No External Dependencies: Self-contained with no external services required
  • Privacy-Focused: All data stays on your server

This guide walks you through deploying Webhook Tester on Klutch.sh using Docker for webhook debugging.

Prerequisites

Before deploying Webhook Tester on Klutch.sh, ensure you have:

Repository Structure

Create a GitHub repository with the following structure:

webhook-tester-deploy/
├── Dockerfile
└── .dockerignore

Dockerfile

Create a Dockerfile in your repository:

FROM tarampampam/webhook-tester:latest
# Web interface port
EXPOSE 8080
# The base image handles the entrypoint

Environment Variables

VariableRequiredDefaultDescription
LISTEN_ADDRNo0.0.0.0Listen address
LISTEN_PORTNo8080Listen port
MAX_REQUESTSNo128Maximum requests to store per session
SESSION_TTLNo168hSession time-to-live
AUTO_CREATE_SESSIONSNotrueAuto-create sessions on first request
BROADCAST_DELAYNo100msDelay for broadcasting updates

Deployment on Klutch.sh

  1. Push your Dockerfile to your GitHub repository.
  2. Log in to Klutch.sh and create a new project.
  3. Create a new app within your project and connect your GitHub repository containing the Dockerfile.
  4. Configure the deployment settings: - Select **HTTP** as the traffic type - Set the internal port to **8080**
  5. Add environment variables (optional): - `MAX_REQUESTS`: Adjust based on your testing needs - `SESSION_TTL`: How long to keep sessions
  6. Click **Deploy** and wait for the build to complete.
  7. Access your Webhook Tester instance at the provided URL.

Usage

Creating Webhook Endpoints

  1. Navigate to your Webhook Tester URL
  2. Create a new session or use an auto-generated one
  3. Copy the unique webhook URL
  4. Configure your third-party service to send webhooks to this URL

Inspecting Requests

When requests arrive, they appear in the interface showing:

  • Request method (GET, POST, PUT, etc.)
  • Headers
  • Query parameters
  • Request body
  • Timestamp

Testing Integrations

Use Webhook Tester during development to:

  • Verify payload formats
  • Debug authentication issues
  • Test error handling
  • Document webhook formats

Troubleshooting

Requests Not Appearing

Verify the webhook URL is correctly configured in the sending service. Check that requests are being sent to the correct session endpoint.

Sessions Expiring

Adjust the SESSION_TTL environment variable to keep sessions longer if needed.

Additional Resources