a13n
AI 에이전트를 만들고 클라우드에서 실행합니다
오픈소스 웹훅 서비스, 자체 호스팅·팬아웃·분류 재시도·서명 전송·고객 포털·OpenTelemetry 제공, Svix 대안
Open-source webhooks as a service you self-host: fan-out, classified retries, signed deliveries (HMAC-SHA256 or Ed25519), a customer portal and OpenTelemetry. A Svix alternative that needs one Go bina
개발 도구Go · SvelteGitHub @sarathsp06온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Self-hosted webhook delivery platform with async fan-out, HMAC signing, Go-template payload transforms, and automatic retries
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Self-hosted webhook delivery. Retries, signing, health tracking, and a dashboard, with PostgreSQL as the only dependency.
Quick start · What you get · Satellites · Documentation · Contributing
Sparrow is open-source webhooks as a service that you host yourself, a self-hosted alternative to Svix, Hookdeck and Convoy. It sends your webhooks so you don't have to build the boring, hard parts: async fan-out, retries with backoff, Standard Webhooks signatures, per-endpoint health, full delivery history, and a consumer portal where your customers manage their own endpoints.
It is one Go binary with an embedded Svelte dashboard. No Redis, no broker, no sidecar workers. PostgreSQL holds the data and, through River, the job queue too. Payloads never leave your network.
your services ──▶ Sparrow API + dashboard ──▶ PostgreSQL + River ──▶ signed deliveries to subscribers
Run it with Docker Compose. No clone, no secrets, ready for local evaluation:
curl -O https://raw.githubusercontent.com/sarathsp06/sparrow/main/deploy/docker-compose.yml
docker compose up -d
Open http://localhost:8080 for the dashboard and http://localhost:8080/docs for the interactive API reference. Most things (registering event types and webhooks, pushing a test event, inspecting every delivery attempt) can be done in the dashboard, and we recommend starting there to get a feel for Sparrow. If port 8080 is taken, start it with SPARROW_PORT=8090 docker compose up -d and use that port instead. docker compose down -v cleans up.
Send your first webhook with the CLI. Install it in one line (macOS and Linux; it verifies the release checksum, and re-running it updates in place):
curl -fsSL https://raw.githubusercontent.com/sarathsp06/sparrow/main/scripts/install.sh | sh
Then, in two terminals:
sparrow init --url http://localhost:8080 # point the CLI at your server
sparrow listen --event order.created # receive deliveries right here (Ctrl-C cleans up)
sparrow push order.created -d '{"order_id":"ord_1","amount":42}'
The delivery shows up in the first terminal, signature verified. Routing that event to Slack is one more command:
sparrow use slack --param webhook_url=https://hooks.slack.com/services/T00/B00/xxx --event order.created
Watch deliveries in a browser with Testhooks, which is what we use to test Sparrow's deliveries: create an endpoint, register its URL as a webhook, and every request shows up with headers and body, signature checked. It is open source (sarathsp06/testhooks), by the same author, and self-hostable.
Prefer curl or a client generated from the OpenAPI spec? Follow the Quickstart. Deploying for real? Start at Production Deployment: the Compose file above is an open, local-only setup on purpose.
/docs, committed at api/openapi.yaml.Curious how it fits together? Read How it works, or explore the interactive architecture diagram.
Companion tools that use Sparrow through its public API and never reach inside it. All optional, all in satellites/.
| Satellite | What it does |
|---|---|
| CLI | Push events, tail deliveries, receive webhooks locally, apply recipes, debug templates, and serve an MCP server for AI agents from the terminal. |
| Recipes | Destination adapters as YAML: a URL plus a transform, applied with sparrow use <name>. |
| Sources | Bring events in: a cron emitter and Stripe and GitHub receivers that verify and re-publish. |
| Sinks | Send deliveries beyond HTTP: SMTP email, S3-compatible archiving, and OTLP log export. |
Everything deeper lives on the docs site: https://sarathsp06.github.io/sparrow/
The Docker image is at ghcr.io/sarathsp06/sparrow, prebuilt binaries on the releases page.
git clone https://github.com/sarathsp06/sparrow.git && cd sparrow
make dev-db # throwaway Postgres on localhost:5432
make run # server on :8080, migrations run on startup
make test # all modules
make help lists every target, CONTRIBUTING.md has the workflow, AGENTS.md the architecture notes and conventions, CHANGELOG.md what changed in each release, and GOVERNANCE.md who decides what. Everyone taking part follows the Code of Conduct.