Slussen
How it works What it isn't Try it
Webhook delivery for systems that can't take the peak

Stop throttling your automation to protect your CRM.

Generate events as fast as your agents and integrations can produce them. Slussen accepts every one the moment it arrives, stores it durably, and releases it downstream at a rate the destination survives — the legacy CRM, the homegrown ERP, the internal API that breaks above five requests a second. Nothing dropped, nothing lost.

Bursty webhook traffic was always like this. AI pipelines just made it impossible to ignore.

Put your traffic through it See the numbers
Measured, not modelled

1,000 webhooks. A CRM that fails above 10 per second.

The same burst, sent twice — once straight at the destination, once through Slussen. These are the figures from that run, not a projection.

Sent straight to the CRM
990
events rejected with 5xx
Delivered 10
Peak arrival rate 1,000/s
Lost unless the sender retries 990
Sent through Slussen
0
events rejected, and none lost
Delivered 1,000
Peak arrival rate 10/s
Sustained rate 5.03/s
Arrival rate at the CRM, against the rate it survives
Same 1,000 events. Same destination. The dashed line is where it starts returning 500s.
Straight to CRM — 100× over the limit
0 10 20 req/s CRM fails above 10/s 1,000/s — off the scale 990 of 1,000 refused 0s 100s 200s
Through Slussen — half the limit, all the way
0 10 20 req/s CRM fails above 10/s 5.03/s held for 199s 1,000 of 1,000 delivered 0s 100s 200s
Both panels share the same axes. The left spike reaches 1,000/s and is cut off at the top of the scale — drawn to size it would be fifty times the height of this card.

The sender saw all 1,000 accepted in 0.49 seconds. The CRM saw them over the following 199. That gap is the entire product.

The sender never knows what the receiver can take.

A contact-centre shift ends. Three hundred agents finish their last calls within a few minutes, and every call emits several webhooks — metadata, recording, transcript, summary, disposition. A CRM sized for a steady Tuesday takes a thousand writes in ninety seconds and starts returning 500s.

Nobody did anything wrong. The webhook model simply has no backpressure: the sender posts, and if the receiver cannot keep up there is no mechanism for it to say so. What you get instead is 429s, timeouts, and — if the sender's retry logic is thin — silence.

It is not a capacity problem

A backend can often handle 50,000 requests an hour and still fall over when 10,000 arrive in one minute. Total capacity was never the constraint. Peak was.

And AI is widening it

One human action used to mean roughly one write. Post-call transcription, summarisation and disposition turn it into five or twenty. The integration that just coped last year is the one breaking now.

Accept the flood. Release it at a safe rate.

One configuration change on the sender. Nothing else in your stack moves.

01 / ACCEPT
Point the sender at us

Every event is written to disk before we answer, then acknowledged with 202. The sender is done in milliseconds and never retries. The body arrives at your destination byte for byte, so a signature over it still verifies.

02 / SHAPE
Release at a rate you set

Requests per second, concurrency, burst allowance, ordering per key. If you do not know what your destination can take, one command measures it and recommends a policy that sits under the cliff rather than on it.

03 / RECOVER
Survive the bad afternoon

5xx and timeouts retry with backoff. A destination that keeps failing is cut off and its backlog held rather than burned through. Anything that exhausts its retries waits in a dead-letter queue you can inspect and replay.

Slussen decides when a request is delivered, not what should happen because of it.

It sits next to your automation platform rather than competing with it.

What it does
Rate shaping, burst control and concurrency limits
Retries with backoff, and adaptive slowdown on 429
Circuit breaking when a destination stops answering
Deduplication, and FIFO ordering per key where you need it
Dead letters, replay, pause and resume
Queue depth, drain rate and time-to-clear, with alerts
What it deliberately does not
Branch on the contents of your payload
Transform, enrich or route by business logic
Run your code, or give you a canvas to draw workflows on
Replace Kafka, or become an integration platform
Promise exactly-once delivery — against an arbitrary HTTP endpoint that is not achievable, and claiming it only moves the problem into your handler
Looking for two or three teams to try it

Does something in your stack fall over when traffic spikes?

We want a handful of teams with a real system that struggles with real bursts, who can point production traffic at it and tell us honestly where it falls short. Reduced pricing for six months in exchange for that traffic and that feedback.

hello@slussen.dev Or ask us the awkward questions first — we will answer them.
Slussen · Hosted in the EU · Payloads encrypted at rest and deleted on your schedule · Romehed Consulting AB