An EU-hosted inbound webhook gateway — one ingest URL for any provider, with signature verification, durable storage, retries, replay and a full delivery history.
webhooker.eu · Documentation · Quickstart · Pricing · Blog
Webhooker sits between the services that send you webhooks and the services that consume them. You give Stripe, GitHub, Shopify — or anything else that sends an HTTP POST — a single ingest URL. Webhooker verifies the signature, stores the event before it answers the provider, and delivers it to your own services with retries, a dead letter queue, replay and a per-attempt log.
Accepting an event and delivering it are separate steps, so a slow or broken destination never costs you a webhook.
┌──────────────┐
Stripe ────┐ │ verify │ ┌──► billing-api (signed)
GitHub ────┼──► ingest URL ───► │ persist │ ─────► ├──► slack-relay (signed)
Shopify ───┘ │ 200 OK │ └──► crm-sync (signed)
any HTTP POST └──────┬───────┘
│ retries × backoff · circuit breaker
└──► dead letter queue ──► replay
| Stage | What happens |
|---|---|
| Receive & verify | The signature is checked against the source's scheme before the payload is accepted. A forged request gets a 401, is kept for your audit log, and is never delivered. |
| Persist | The event is written to durable storage and the provider gets its 200 OK in single-digit milliseconds. From here on, the event cannot be lost. |
| Deliver & retry | Six attempts over about five hours with exponential backoff, status-conditional retries and a per-destination circuit breaker. Anything that still fails lands in a DLQ you can resend from. |
| Feature | Description |
|---|---|
| Signature verification | Per-source HMAC-SHA256 and SHA1 schemes, checked before a payload is accepted. |
| Smart retries | Exponential backoff, conditional retries by HTTP status, circuit breaker per destination. |
| Transformations | Declarative, per-destination payload reshaping and header injection. |
| Outbound signing | Forwarded requests are signed, so your destinations can verify each delivery. |
| Live tail & replay | Real-time event stream over SSE, full history, one-click resend of any event. |
| Alerts & metrics | Email alerts on delivery failure per source, Prometheus metrics with a latency SLO. |
Ingest, event storage and delivery all run in Germany, inside the European Union. Payloads, delivery logs and backups are not mirrored to a US region. Retention limits are enforced — events expire after 14, 30 or 90 days depending on plan — and a data processing agreement is available on every paid plan.
| Free | Pro | Team | |
|---|---|---|---|
| Events / month | 10,000 | 100,000 | 1,000,000 |
| Sources · destinations | 3 · 9 | 50 · 250 | 200 · 1,000 |
| Event retention | 14 days | 30 days | 90 days |
| Workspace members | 1 | 5 | 25 |
| Price | €0 | €29 / mo | €99 / mo |
Destinations are a shared pool — any source can use as many as it needs. Yearly billing costs ten months for twelve. Every plan includes verification, retries, transformations, replay and alerts: you pay for volume and retention, not for features.
- Create an account — no card required.
- Create a source and copy its ingest URL:
https://app.webhooker.eu/in/{your-token}
- Paste it into your provider's webhook settings and watch events arrive in the live tail.
The quickstart takes four steps, and the ingest URL reference lists every response code.
- Docs: webhooker.eu/docs — quickstart, ingest reference, sources and destinations
- Blog: webhooker.eu/blog — how webhooks behave in production: signature verification, retries, idempotency, replay