Getting Started with ReliableHook

ReliableHook receives webhooks from your platforms, routes them, and delivers each one to your APIs — with signature verification, automatic retries, and a full audit trail. Set it up in three concepts.

Source
Your inbound URL. Each source has a unique address where a platform (Stripe, Resend, GitHub, Svix…) sends its webhooks. Incoming signatures are verified automatically.
Destination
Where deliveries go — your API URL plus any delivery headers and an optional per-second rate limit. Or a built-in Mock API target for testing.
Connection
Links a source to a destination. Connect one source to several destinations to fan a single inbound webhook out to multiple APIs.
One inbound webhook, many outbound deliveries
A source isn't tied to a single destination. Every connection you add to a source receives its own copy of each inbound webhook.
Source
Connections
Payments API
Analytics service
Mock API (staging)

Each delivery is an independent event with its own status, retries, headers and rate limit — so one slow destination never blocks the others.

Step 1: Create your first source
# Step 1: Create a source (your inbound URL)
1. Go to Sources in your dashboard
2. Click "New Source"
3. Give it a name (e.g. "Stripe production")
4. Pick an authentication preset if the platform signs its webhooks
   (Stripe, Svix, GitHub, HMAC…) — ReliableHook verifies every signature
5. Save — you'll get a unique ingest URL to hand to the platform
Step 2: Send events to your source URL
Point your platform (or your own service) at the source's ingest URL. ReliableHook records every request and returns immediately.
# Step 2: Point your platform at the source URL
curl -X POST https://api.reliablehook.com/request/<source_id> \
  -H "Content-Type: application/json" \
  -d '{
    "id": "pay_123",
    "event": "payment.approved",
    "amount": 149.90,
    "currency": "BRL",
    "timestamp": "2026-06-12T14:00:00Z"
  }'

# Response
{ "received": true, "id": "req_..." }
Step 3: Connect the source to your destinations
A source only forwards once it has at least one active connection. Add more connections anytime to fan out to additional destinations.
# Step 3: Create destinations and connect them
1. Go to Destinations → "New Destination"
   • HTTP — your API URL + any delivery headers (auth, tenant IDs…)
   • Mock API — a built-in test target, no real endpoint needed
2. Go to Connections → "New Connection"
3. Link your source to a destination

# Fan-out: 1 inbound → N outbound
Connect the SAME source to multiple destinations to deliver every
inbound webhook to several APIs at once. Each destination gets its
own delivery, retries, headers and rate limit — tracked separately.
Verify incoming webhooks (Source auth)
Confirm each webhook really came from the platform before it's accepted.
ReliableHook includes native authentication presets for popular platforms — including Resend, Stripe, GitHub and Svix — so you can connect them without manual configuration.

Supported authentication types:

Loading…

Didn't find the one you need? Tell us and we'll add it shortly!

Contact us

Authentication credentials are encrypted at rest. Their values are never exposed in plain text after being saved.

Authenticate outgoing deliveries (Destination headers)
When creating or editing a destination, use the Delivery headers section to add auth headers or any other header your destination API requires.
On a destination, open the "Delivery headers" section.

# Authentication for your API
# (placeholders — use whatever token your own endpoint expects)
Authorization: Bearer <your-destination-api-token>
X-API-Key: <your-destination-api-key>

# Any other header your destination API requires
X-Tenant-ID: tenant_abc
X-Request-Source: reliablehook

These headers are added to every delivery sent to that destination.

Besides authentication, you can include any header your API needs — tenant IDs, tracing headers, custom metadata, and more.

Signing secrets and custom headers are encrypted at rest. Their values are never exposed in plain text after being saved.

Rate limit deliveries
Cap how many requests per second ReliableHook sends to a destination, to protect downstream APIs from traffic bursts.

When creating or editing a destination, set "Max delivery rate" to the maximum requests per second.

  • • The limit is per destination, so each one throttles independently
  • • Events beyond the configured rate are queued and delivered as capacity frees up — none are dropped
  • • Leave it empty for no limit (the default)
  • • Adjust or turn it off at any time without losing the destination's other settings
Monitor your webhooks in the Overview
After sending events, view comprehensive delivery information in your dashboard.

Your Overview dashboard shows:

  • Total events sent - Track the number of deliveries dispatched across all destinations
  • Successful deliveries - Events that reached their destination
  • Failed deliveries - Events that need attention or replay
  • Automatic retries - ReliableHook automatically retries failed deliveries
  • Delivery timeline - View exactly when each event was sent and received

The Requests page lists every inbound webhook, and expands to show each outbound event it generated — with the source, connection and destination behind it.

All this data helps you understand your webhook flow and troubleshoot any delivery issues in real-time.

Inspect delivery details
Click on any delivery in your dashboard to see the full request and response information.

Inbound — what arrived at your source

  • • Headers sent by the origin platform (e.g. X-Signature, Content-Type)
  • • Full JSON payload received from the source

Outbound — what was delivered to each destination

  • • One event per connection, so you can inspect every destination separately
  • • Headers included in the delivery request (auth headers, delivery headers)
  • • Payload forwarded to the destination URL
  • • HTTP status code and response body returned by your API

Replay

Re-sends the original delivery to the connection's destination URL. Useful for retrying a failed event without any changes.

Forward

Sends the delivery to a custom URL you specify — ideal for routing to staging or debugging a specific service.

Ready to get started?
Create your account and set up your first source, destination and connection in minutes.