Focused Tool · Apache 2.0 · Single Binary

Self-hosted webhook inbox. Capture, replay, forward.

Every incoming webhook, captured and stored locally. Inspect headers and body, replay failed events to any target, fan out to multiple services. No Ngrok account. No cloud dependency. 30-second install.

Running in under 60 seconds.

Install
curl -fsSL https://stockyard.dev/corral/install.sh | sh
Run
DATA_DIR=./data corral

  Webhook relay:  http://localhost:8760/hook/{endpoint_id}
  API:            http://localhost:8760/api
  Live stream:    http://localhost:8760/api/endpoints/{id}/stream
Create an endpoint and capture a webhook
curl -s -X POST http://localhost:8760/api/endpoints \
  -H 'Content-Type: application/json' \
  -d '{"name":"stripe-dev"}'
# → {"hook_url":"http://localhost:8760/hook/ep_a1b2c3"}

# Point Stripe (or anything) at that URL
# Every hit is captured, stored, inspectable, replayable
Corral startup output and webhook capture from the terminal
Corral dashboard at /ui showing endpoints, event stream, and payload inspector

Corral captures every incoming webhook. Inspect headers and body, replay to any target, set up auto-forwarding rules.

Three things developers use this for.

Local webhook development
Run Corral locally instead of exposing your laptop with Ngrok. Inspect every payload in detail, replay failed ones without re-triggering the source.
Debug staging webhook failures
Something drops in staging but you can't reproduce it. Corral captures everything so you can see exactly what arrived and replay it against the fixed version.
Fan one event out to multiple services
One Stripe event needs to hit billing, Slack, and analytics. Set up forward rules for all three, with configurable retry on failure.

Most endpoints tools fall into two camps: free products that harvest your data, or enterprise platforms that cost more than the problem they solve. Corral exists because neither option makes sense when you just need a reliable webhook inbox under your own control.

Start Corral with a port and a data directory. It creates its SQLite database on first run. Create endpoints through the web interface or POST JSON to the API. Filter and search by keyword.

A consultant keeps Corral running on a home server. Client endpoints stay on local disk, simplifying privacy in every contract.

Free to run. Pro when you need more.

Free
$0
forever, self-hosted
Best for: solo devs and small projects
  • 1 workspace
  • 3 endpoints
  • 1,000 events / month
  • 7-day event retention
  • Live SSE event stream
  • Full payload inspection (headers + body)
  • Manual replay to any target URL
  • 1 forward target per endpoint
  • Basic delivery logs
Get started →
Pro
$0.99
per month
Best for: teams and production use
  • Unlimited endpoints
  • Unlimited events (fair use)
  • 30–90 day retention
  • Multiple forward targets per endpoint
  • Replay history and audit log
  • Retry failed deliveries automatically
  • Event filtering and search
  • Export events as JSON
  • Webhook signing / verification helpers
  • Retention controls per endpoint

When Corral is the right tool.

Corral solves one problem: receiving, storing, inspecting, and replaying webhooks. If that's your pain, it does it well. Free covers 3 endpoints and 1,000 events/month — enough for most development workflows. Pro ($0.99/mo) removes those limits and adds replay history, retry on failed forwards, event search, and JSON export.

Corral vs Hookdeck  ·  Corral vs webhook.site  ·  Debug webhooks locally

When you need the full LLM control plane.

Stockyard Platform
Corral is a standalone webhook tool from the Stockyard family. If you're building LLM-powered applications and need request tracing, cost control, prompt management, and model routing — Stockyard is the full platform. It includes hash-chained audit logging (Brand), API key management (Fence), and 25+ more tools in one binary.
Learn about Stockyard →

How Pro gets activated.

When your payment goes through, you'll receive an email at the address you used at checkout. The email contains your license key — a string that starts with stockyard_.

Set it as an environment variable before starting Corral:

CORRAL_LICENSE_KEY=stockyard_your_key_here corral

  License:   Pro (your-email@example.com)
  Dashboard: http://localhost:8760/ui

That's it. Pro features unlock immediately on startup — no restart required after the first run, no account to log into, no phone-home check. The key is verified locally.

Didn't get the email?
Check your spam folder first. If it's not there after 5 minutes, email hello@stockyard.dev with your payment confirmation and we'll send the key manually.
What counts as an event?
Any HTTP request received at a /hook/{id} URL. Each captured request is one event.
Does Corral require Docker or a database?
No. Single Go binary with embedded SQLite. Run it anywhere you can run a binary.
What happens when I hit the free event limit?
The binary enforces limits only when you're using Corral as a managed service. Self-hosted instances on the free tier show a warning in the API but do not hard-block events. Pro removes the limit entirely.
How does retention work?
Set RETENTION_DAYS to control automatic cleanup. Free tier defaults to 7 days. Pro supports up to 90 days.
What's the license?
Apache 2.0. Free to use, modify, and deploy with no restrictions.

Capture your first webhook in 30 seconds.

Single binary. Free to start. $0.99/mo for unlimited.

Part of Stockyard Complete — all 150 tools for $29/mo