Developer beta · 5 min read
Test a webhook failure and replay with EventRail
Request beta access, use a controlled test receiver to produce a failed delivery, and verify a replay after fixing the receiver.
By Tool Studio · Published
Put the walkthrough into practice
[email protected] · Invitation required. Start with synthetic events.
1. Request access before connecting an integration
EventRail is an invite-only hosted beta. Email [email protected] with what you are building and the email you use to sign in with GitHub. Access is reviewed manually and depends on available capacity; sending an email does not automatically create an account.
After your invitation is activated, sign in with GitHub. Begin with synthetic events and the built-in test receiver. EventRail processes webhook data on its backend, unlike Tool Studio’s browser-only document and invoice tools. Ask about the current usage caps and data handling during onboarding.
2. Create a controlled failure
In your workspace’s destination setup, choose “Add test receiver” and verify it. The managed receiver begins in Fail 401 mode. This produces a deliberate failure you can recognize without breaking a real application or affecting a payment.
Create a custom JSON source connected to that receiver and use the source’s displayed example request. Keep its endpoint and credentials private. Use a fresh idempotency key for a new synthetic event, and inspect the request before running it. No customer or payment details are needed for this exercise.
{
"type": "demo.order.created",
"data": { "order_id": "demo-order-001", "amount": 100 }
}
Use the source-generated request for the endpoint and required headers.3. Read the failed attempt
Open the event and look at its delivery history. Find the attempt that received HTTP 401 from the test receiver. Inspect the response and timing to connect the failure to the destination’s configured behavior.
An HTTP status is evidence about a request, not a complete explanation of a business outcome. In a real integration you would also examine receiver logs and signature validation. Do not assume that a failed acknowledgement means the destination never processed an event.
4. Fix the receiver and replay the retained event
Change the managed receiver to Healthy 200. Return to the same event and request a replay. Follow the new attempt in the delivery history and confirm that it receives HTTP 200. The earlier failed attempt remains part of the history.
Replay targets the event’s original destination and requires a retained payload. The beta retains payloads for 24 hours and delivery metadata for seven days. Test traffic and replays consume the applicable usage limits, so keep this exercise small.
5. Know what the result establishes
A successful test establishes that the sample event reached the managed receiver and was acknowledged. It does not prove that your application fulfilled an order, credited an account, or safely handled duplicate delivery. Webhook delivery is at least once; a lost acknowledgement can cause another attempt even when the receiver processed the first one.
Before connecting a staging application, validate its delivery signatures and make business actions idempotent using persistent storage. Coordinate any custom destination hostname with the beta operator. Start provider integrations in test mode: Stripe live-mode events are rejected, and Razorpay must be configured in test mode. EventRail’s beta is not a production payment-recovery guarantee.
Before you finish
- Your invitation is active
- Only synthetic or authorized test data is used
- A failed 401 attempt is visible
- The receiver is Healthy 200 and the replay is acknowledged
- Receiver deduplication is planned before any real business action