Production-ready webhook infrastructure

Reliable Webhooks,
Zero Headaches

Stop fighting webhook failures. HookRelay guarantees delivery, prevents duplicates, and gives you full visibility into every event.

No credit card required
5 minutes to integrate

One Wrapper.
Zero Headaches.

Wrap your existing webhook handler with HookRelay. That's it.

Before
// Risky: No guarantees
export async function POST(req) {
  const event = await req.json();

  // What if this runs twice?
  // What if Vercel times out?
  // Did this actually execute?

  await handleStripeEvent(event);

  return new Response('OK');
}
After
import { withHookRelay } from '@hookrelay/next';

export const POST = withHookRelay(async (event) => {
  // Guaranteed:
  // ✓ Runs exactly once
  // ✓ Safe retries on timeout
  // ✓ Full execution visibility

  await handleStripeEvent(event);
});

No queue setup. No workflow configs. No infrastructure knowledge required.

See full integration guide

Stop worrying about
webhooks breaking

Built for Next.js developers who want webhooks that just work—no infra expertise required

Your Code Runs Once

Even if a provider retries the same webhook three times, your handler executes exactly once. No duplicate side effects.

Guaranteed Delivery

Vercel timeouts won't break your webhooks. We receive, persist, and retry until your handler succeeds.

Know What's Happening

"Delivered" doesn't mean your code ran. We track actual execution outcomes—success, failure, or timeout.

Fix Issues Without Code

Missed a subscription renewal? Replay the webhook safely from the dashboard. No database surgery or support tickets.

Works With Your Stack

One line of code. Works with Stripe, GitHub, Shopify, Clerk, and anything that sends webhooks to your Next.js app.

Sleep Better at Night

Deploy on Friday without fear. We catch webhook failures before they become angry customer emails or refund requests.

How It Works

Three simple steps between webhook chaos and reliable execution

1

Provider Sends Webhook

Stripe, GitHub, or any provider sends a webhook to your HookRelay URL instead of directly to your app.

2

We Guarantee Execution

HookRelay receives, persists, and forwards to your handler with exactly-once guarantees and safe retries.

3

Your Handler Runs Safely

Your Next.js handler executes exactly once, even if Vercel times out or the provider retries.

Start Protecting Your Webhooks

Free tier · No credit card · 5 minute setup

Frequently Asked Questions

Everything you need to know about HookRelay

Can't I just build this myself?

You can—and most teams try. The problem isn't building a webhook handler. It's correctly handling serverless retries, partial failures, timeouts, duplicate deliveries, and idempotency edge cases. These failures are rare, subtle, and expensive. HookRelay exists so you don't have to rediscover them in production.

Do I need to change my existing code?

Minimal changes. Wrap your existing webhook handler with withHookRelay() and update your webhook URL in your provider's dashboard (Stripe, GitHub, etc.) to point to HookRelay. Your handler logic stays the same.

What happens if HookRelay goes down?

Webhook providers (like Stripe) automatically retry failed deliveries for up to 3 days. If HookRelay experiences downtime, providers will retry and we'll process events once we're back online. You can also replay missed events from the dashboard.

Why not just use a queue?

Queues solve async processing, not webhook correctness. Webhook problems happen before your job runs: Was the event received? Was it processed more than once? Did the handler actually succeed? HookRelay handles the request path. You can still enqueue work after HookRelay safely forwards the event.

Isn't this overkill for small apps?

It depends on what the webhook does. If it touches payments, subscriptions, entitlements, or user state, correctness matters immediately. A single duplicate charge or missed subscription renewal costs more in customer trust and support time than a year of HookRelay Pro. Start free, upgrade when you're charging money.

Simple, Transparent Pricing

Start free, scale as you grow. No hidden fees.

Free

It works

$0 /month
Get started
1 webhook endpoint
1,000 events/month
7-day event retention
Automatic retries
Dashboard visibility
No manual replays
Popular

Pro

I'm charging money now

$29 /month
Start free trial
5 webhook endpoints
50,000 events/month
30-day event retention
Unlimited providers
Exactly-once forwarding
Manual replay
Email support

Team

This would be a real incident

$99 /month
Start free trial
Unlimited endpoints
500,000 events/month
90-day event retention
Team access & permissions
Audit logs
Priority support
SLA guarantees

Need more events? $8 per additional 100,000 events/month