Skip to content
Tool Studio

Find a tool

Enter opens the first result. Use Tab or the arrow keys to browse.

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.

Email Prakhar for beta access ↗

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.

A fictional custom event body
{
  "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

Further reading

Put this guide to work

Email Prakhar for beta access ↗

Keep learning