Webhooks you send will appear here for easy debugging and replay.
How to Use the Webhook Sender
- Enter Endpoint URL: Provide the target HTTP/HTTPS destination URL.
- Select HTTP Method: Choose between POST, GET, PUT, PATCH, or DELETE.
- Configure Headers: Define your headers as a valid JSON object (e.g., Content-Type, Authorization, or custom API keys).
- Set Request Body: Write your payload in the JSON editor (for POST, PUT, and PATCH methods).
- Send Webhook: Click "Send Webhook" to execute the request and view the response status, headers, duration, and body.
- Replay History: Use the Request History sidebar to instantly reload and tweak previous requests.
Core Features & Safeguards
- Full HTTP Method Support: Simulate diverse webhook integrations (GET, POST, PUT, DELETE, PATCH).
- SSRF Protection: Automatic checks block requests targeting internal cloud metadata endpoints and private subnets in production.
- Request Replay: Save up to 10 previous runs locally to speed up endpoint debugging cycles.
- Detailed Performance Metrics: View exact execution time (duration in ms) and content size for every network response.
- Monaco Editor Integration: Format, validate, and write clean JSON payloads with standard VS Code keybindings.
Common Webhook Testing Use Cases
Stripe Integrations
Test charge, customer, or subscription webhook endpoints by crafting payloads that match Stripe's event signatures and custom payload structures.
GitHub Webhooks
Simulate repository push, pull request, or issue trigger events by sending correctly formatted headers and repository metadata bodies.
Shopify Event Testing
Verify order creation or fulfillment flows by targeting your Shopify endpoint with order payloads and custom HMAC header validations.
Frequently Asked Questions
Why does it block my localhost URLs?
To prevent Server-Side Request Forgery (SSRF), the public deployment of this tool restricts connections to local network addresses (e.g. 127.0.0.1, 192.168.x.x, localhost). To test local endpoints, clone the repository and run the app in development mode, which lifts these loopback protections.
How do I verify custom headers?
In the Headers input, define key-value pairs as a JSON object (e.g., { "X-Custom-Header": "value" }). Our proxy forwards all headers exactly as written, excluding system headers.