Webhook Simulator
Simulate webhook responses to test how your providers handle errors, timeouts, and edge cases. Configure custom HTTP status codes, response bodies, headers, and delays.
What is a Webhook Simulator?
A webhook simulator is a tool that lets you control exactly how your webhook endpoint responds to incoming requests. Instead of just capturing webhooks, a simulator lets you configure the HTTP status code, response body, headers, and timing of the response.
This is critically important for testing edge cases that are difficult to reproduce in production. How does your payment provider handle a 500 Internal Server Error from your endpoint? How many times will GitHub retry a failed webhook? What happens when your endpoint takes 30 seconds to respond? A webhook simulator answers all these questions.
Requex.me includes a built-in webhook simulator. Click "Edit Response Settings" in your dashboard to configure custom responses for your test endpoint — all completely free.
Simulation Scenarios
🔴 Error Response Simulation
Configure your endpoint to return 400, 401, 403, 404, or 500 status codes. This is essential for testing how webhook providers handle failures and trigger retries.
Use case: Test Stripe's retry behavior when your endpoint returns a 500 error. Stripe retries with exponential backoff — simulate this to ensure your idempotency logic works correctly.
⏱️ Timeout Simulation
Add artificial delays (1s, 5s, 10s, 30s) to your responses. Test how providers handle slow endpoints and verify their timeout thresholds.
Use case: Shopify expects a response within 5 seconds. Simulate a 10-second delay to confirm Shopify treats it as a failure and queues for retry.
📝 Custom Response Body
Return specific JSON, XML, or text in the response body. Essential for webhook verification challenges (like Slack's URL verification or Facebook's challenge-response).
Use case: Echo back Slack's challenge token during URL verification by configuring the exact JSON response body.
🔀 Custom Headers
Set custom response headers like Content-Type, Cache-Control, or any custom header your integration expects.
Use case: Some integrations expect specific Content-Type headers or custom authorization tokens in the response.
Provider Retry Behavior
Understanding how each provider retries failed webhooks is critical. Use the webhook simulator to map out each provider's behavior:
| Provider | Retry Window | Max Retries |
|---|---|---|
| Stripe | 72 hours | ~15 attempts |
| GitHub | 1 hour | ~3 attempts |
| Shopify | 48 hours | 19 attempts |
| Slack | 30 minutes | 3 attempts |
| Twilio | 24 hours | ~10 attempts |
Start Simulating Webhooks
Configure custom responses and test edge cases. Free, no signup.
Open Webhook Simulator →