Every sender keeps its own delivery log, and every receiver keeps its own receipts. When an endpoint was down for an hour, the two disagree. Webhook Replay reads both. From Stripe it reads events with delivery_success false. From Shopify it reads the X-Shopify-Webhook-Id and X-Shopify-Event-Id on each delivery. From GitHub it reads each hook's deliveries with their status_code and redelivery flag. From Webhook Ingest it reads which delivery ids were accepted.
It matches by event id, drops anything the receiver already holds, and proposes one replay batch in the order the receiver needs. You approve the batch. Where a sender can redeliver, the operator calls that endpoint. Where it cannot, it proposes the fetch that recovers the object instead.
This is a reference listing. It documents what Fibric would read from Webhook Replay and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.
Inputs
Stripe events through GET /v1/events with delivery_success false, going back up to 30 days, with each event's id, type, and created
Shopify webhook deliveries by X-Shopify-Webhook-Id, with X-Shopify-Event-Id linking deliveries that came from the same merchant action
GitHub hook deliveries through GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries, with guid, delivered_at, status_code, event, action, and redelivery
Delivery ids and content hashes that Webhook Ingest accepted, and the signature failures it rejected
Receiver outage windows, taken from the receipts that stopped and started again
Proposed actions
Target capability: propose redelivering a GitHub delivery through POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts, one attempt per missing guid
Target capability: propose a Stripe resend list by event id for the Dashboard or stripe events resend, plus object fetches for events past 30 days
Target capability: propose a reconciliation fetch from the Shopify Admin API for orders whose X-Shopify-Event-Id never reached the receiver
Target capability: propose re-registering a Shopify webhook subscription that Shopify deleted after repeated failures, with the topics it carried
Target capability: propose holding a replay while the receiver is still returning errors, with a retry time
Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.
What you can build
Recover an hour of Stripe events after an outage
Events with delivery_success false are matched against Webhook Ingest receipts. Ones the receiver already accepted on a retry are dropped. The remaining event ids form one resend list, grouped by object, for approval.
Redeliver GitHub pull_request events a deploy dropped
Hook deliveries with a 5xx status_code during the deploy window are listed by guid. The operator proposes one redelivery attempt per guid, in delivered_at order, and skips any guid already marked redelivery.
Rebuild Shopify orders after a subscription was deleted
When a subscription vanishes after four hours of failures, the operator proposes re-registering it and a reconciliation fetch of orders updated in the gap, so the order feed carries on without a manual export.
A Stripe restricted key that reads events, a Shopify custom app with webhook and order scopes, or a GitHub token with read:repo_hook and write:repo_hook
Webhook Ingest as the receiver, or a receiver log that records delivery ids, so the match has something to compare against
Signature secrets kept current in Webhook Ingest, since a replayed delivery is signed afresh by the sender
An agreed order for replays per event type, such as created before updated, where the receiver depends on it
Authentication
Reads delivery logs with the sender connectors' keys and receipts from Webhook Ingest's own records. It writes only the redelivery or subscription calls you approve.
Limits
Stripe does not guarantee event order and can send an event twice. The batch is deduplicated by event id; order is rebuilt from the objects.
Stripe retries for up to three days in live mode; Dashboard Resend works for 15 days. After 30 days only the object can be fetched.
Shopify retries 8 times over 4 hours, then deletes a subscription made through the Admin API. Deliveries lost after that have no sender log.
GitHub keeps deliveries available for redelivery for 3 days. Older misses are recovered by fetching the object, not by redelivery.
Access and pricing
Reference listing. Fibric builds the operator under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.
One batch. It lists each event id or delivery guid, the sender, the failure status the sender logged, and whether the receiver already holds it. You can strike entries out, change the order, or hold the batch until the receiver is healthy.
How does it avoid duplicates?
It keys on the sender's own identifier: the Stripe event id, X-Shopify-Webhook-Id, or the GitHub delivery guid. Anything Webhook Ingest already accepted, on the first attempt or a retry, is excluded. A replay batch is applied once. Running it again produces nothing new.
What record is left?
A receipt per batch: the ids replayed, the ids skipped and why, the endpoint called, the sender's response per attempt, who approved, and when. Receipts stay attached to the outage window, so the next audit shows what was recovered.
Ask about Webhook Replay
Ask about the capabilities and requirements in this listing.
This operator is developed, published, and supported by Fibric. Third-party names and logos identify the systems an integration connects to; they are the property of their respective owners, who are not affiliated with Fibric and do not sponsor or endorse this listing. Trademark policy