Events fail quietly. Make them visible.

Spensr Events logs every inbound event and delivery attempt, retries failures, supports fan-out, and gives you replay when a destination breaks.

Try it now (no signup)

Delivery with a recovery path

Events are delivered at least once with automatic retry on failure. If a destination returns a non-2xx response, Spensr Events retries on a fixed backoff schedule until the delivery succeeds or attempts are exhausted.

Retry backoff: +5s, +30s, +5min, +30min after the first failure.

Max auto delivery attempts: 3 on Simple, 5 on Pro.

Events that exhaust all retry attempts are held in a dead-letter store and can be replayed manually from the console.

Delivery is at least once, not exactly once. Use the X-Idempotency-Key header on ingest to deduplicate repeated sends at the ingest layer.

delivery.log
#1+0sFAIL
#2+5sRETRY
#3+35sRETRY
#4+5m 35s200 OK

Send once, deliver to many places

Route one inbound event to multiple destinations at the same time. Useful for sending a lead to your app, CRM, Slack, and a client-owned endpoint without writing custom fan-out code.

Up to 20 destinations per config on Pro. Free and Simple plans are limited to 1 destination.

A destination is automatically disabled after 10 consecutive delivery failures to protect your retry budget and avoid hammering a broken endpoint.

EVENT
dest 1
dest 2
dest N

A receipt for every event

Every inbound event and outbound delivery attempt is recorded with status, response code, headers, and payload. You can see what arrived, where it went, and what came back.

Log entries capture the request and response for each attempt, including timing, HTTP status, and any error detail returned by the destination.

200 OKstripe.payment_intent+5ms
200 OKslack.notify+12ms
503backup.endpointretrying...

Signatures in both directions

Outbound requests are signed per destination with HMAC-SHA256 so your endpoints can verify they came from Spensr Events. Inbound signature verification is available on the Pro plan.

Per-destination outbound HMAC-SHA256 signing is available on Pro Plan. Your endpoint validates the signature to confirm the request is authentic.

Inbound HMAC signature verification confirms that events arriving at your Spensr Events inbound URL are genuinely from your source. It is a Pro plan feature.

HMAC-SHA256

History, replay, and priority

Events stay in the log for the duration of your plan's TTL. Pro plan events also enter a priority queue, so time-sensitive deliveries are processed before lower-priority traffic.

Simple plan: 48-hour event history. Events older than 48 hours cannot be replayed.

Pro plan: 14-day event history plus a priority delivery queue for time-sensitive events.

Simple
48h
Pro
14 days
Priority Queue

Scheduled events without another cron tool

Trigger events on a schedule using EventBridge-backed cron expressions. Available on the Pro plan. Define the schedule in your webhook config and Spensr Events fires the event on time.

0 * * * *

One place for events to land

Send any JSON payload to your inbound URL with an HTTP POST. The request returns HTTP 202 after the event is written to the queue, so your producer is not blocked waiting for downstream delivery.

Maximum payload size per event: 200 KB.

POST /ingest202 Accepted

Thinking about building the plumbing yourself?

Retries, queues, dead letters, logs, signatures, replay screens: none of it is hard once. Keeping it boring in production is the part people underestimate.

See the build-vs-buy breakdown →
Try it now (no signup)