Webhook Delivery-Gap Monitor avatar

Webhook Delivery-Gap Monitor

Pricing

from $0.50 / 1,000 resolved webhook event reconciliations

Go to Apify Store
Webhook Delivery-Gap Monitor

Webhook Delivery-Gap Monitor

Find missing, pending, duplicate, late, and out-of-order webhook deliveries by reconciling provider manifests with receiver logs. Returns auditable results; does not deliver webhooks.

Pricing

from $0.50 / 1,000 resolved webhook event reconciliations

Rating

0.0

(0)

Developer

Mehdi Badawi

Mehdi Badawi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

Find missing, pending, duplicate, late, and out-of-order webhook deliveries by reconciling provider event manifests with receiver logs. Every result carries the evidence needed to audit the verdict.

Start in 30 seconds

  1. Select Try for free and run with no input for a labeled demo.
  2. Supply provider events, consumer receipts, a coverage window, and your delivery grace period.
  3. Schedule the Actor after both systems export their logs.

Price: $0.0005 per resolved expected event, plus a $0.00005 start event. Unknown, failed, unmatched-consumer, and demo rows are free.

This Actor does not deliver or replay webhooks and does not connect to Stripe, Shopify, GitHub, or your receiver.

Webhooks are fundamentally asynchronous and best-effort. Platforms like Stripe, Shopify, and GitHub drop deliveries due to transient outages, exhausted retries (Shopify unregisters webhooks after 8 consecutive failures), or silent network loss.

This Apify Actor reconciles upstream provider manifests against downstream consumer receipt logs to pinpoint:

  1. Missed Deliveries (missing): Events logged by provider but absent from consumer database.
  2. Duplicates (duplicate): Events delivered multiple times.
  3. Delivery Delays (delayed): Deliveries exceeding latency SLA thresholds.
  4. Sequence Inversions (out-of-order): Out-of-order event sequence delivery.
  5. Truthful Unknowns (unknown): Unverifiable events due to incomplete provider logs, unattested sequence windows, or ambiguous timestamps.
  6. Pending (pending): An event is still inside its configured delivery grace period.

Truthful Unknown Semantics

The Actor never manufactures optimistic ok verdicts or false missing claims when evidence is ambiguous:

  • When coverage.isComplete === false, missing records report unknown (provider-log-truncated).
  • When events fall outside declared coverage windows, they report unknown (coverage-unattested).
  • When timestamps are unparseable or inverted, they report unknown (time-ambiguous).
  • A missing receipt is not called missing until the grace period has elapsed and a real complete coverage window contains the event.

Quickstart & Local Execution

1. Run Unit and Behavior Tests

The test suite uses Node.js built-in test runner without external dependencies or cloud tokens:

$npm test

2. Credential-Free Default Execution

Running npm start without any input or credentials completes in seconds, uses the built-in deterministic demo dataset, and writes a non-empty dataset to storage:

$npm start

File Structure

FilePurpose
package.jsonActor manifest, dependencies (apify: 3.7.2), start and test scripts
DockerfileApify Actor container image specification (apify/actor-node:22)
.actor/Apify Actor specification, input/output/dataset/KVS JSON schemas
contracts/Normative contract (CONTRACT.md) and JSON Schema validators
fixtures/Realistic test fixtures (demo, Stripe gap, Shopify drop, GitHub gap, truthful unknowns)
src/core/Pure deterministic evaluation core (reconcile.mjs, detect.mjs, canonical.mjs)
src/main.mjsThin Apify Actor adapter with injected seams and demo fallback
tests/Comprehensive test suite covering gate, core, detect, and actor lifecycle

Security and privacy boundaries

  • Zero Secrets: Requires no API tokens, user session cookies, or private credentials.
  • Zero Headless / Scraping Dependencies: Pure Node.js data processing.
  • No Network Egress: Processing is completely local and deterministic.
  • Prefer event identifiers and timestamps over raw payloads. Receipt logs can expose transactions or customer data; minimize them and delete datasets and stores under your retention policy.
  • Support owner: Mehdi Badawi through the Apify Store support channel, with an initial-response target of two business days.