The complete .NET 9 solution with Aspire, RabbitMQ & Postgres.
Get the full receiver, processing workers, and orchestration stack—ready to run.
Get the Solution Now →One-line setup for Postgres & RabbitMQ. Manages service wiring, health checks, and startup order (`WaitFor`).
A secure Minimal API receiver with EF Core, `WebhookSubscription` models, and a `WebhookDispatcher` service.
Dedicated background worker (3 replicas by default) with RabbitMQ consumers for parallel, high-throughput handling.
Typed messages like `WebhookTriggered` for clean, versionable integration between your API and workers.
Pre-configured OpenTelemetry diagnostic setup in both the API and the worker service for instant tracing.
Includes PostgreSQL with all EF Core migrations ready to run, plus a local RabbitMQ broker with management UI.
The API is built to handle provider signatures and timestamps, while background processing keeps your request threads fast.
Scale your background workers horizontally by simply increasing replica count. RabbitMQ handles the load distribution.
Tracks `WebhookDeliveryAttempt` in the DB, giving you the perfect foundation for retries, backoff, and idempotency.
A modular design (API, Processing, Contracts) that drops perfectly into existing CQRS or DDD-style setups.
Aspire brings up Postgres, RabbitMQ, the API, and all workers with a single command. Get to coding instantly.
Perfect for Gumroad/Stripe purchases (provisioning licenses), n8n/Zapier workflows, or internal microservice event fan-out.
A complete .NET 9 webhook stack: receiver API + background workers + Aspire orchestration for Postgres and RabbitMQ, with OpenTelemetry and EF Core migrations—ready to customize.
Yes. Webhooks are standard HTTP POST callbacks. This solution provides the receiver and contracts; you just add a small validator/mapper for each provider. Gumroad's "Ping" is the purchase callback you'll handle with this.
Just increase the consumer replicas (defaults to 3) in your Aspire config. RabbitMQ handles the distribution automatically.
Delivery attempts are stored in Postgres so you can implement retries, backoff, and idempotency cleanly. The split API/worker design prevents long request times and dropped connections.
.NET 9 SDK, Docker (for Aspire-managed Postgres/RabbitMQ), and your preferred IDE. Aspire brings the services up for you.
Get a production-ready, scalable webhook solution today and focus on your business logic.
Don't forget your 30% OFF discount! Use code: ELITEBLACK30
Uses: 50 / 100 (Only 50 codes left!)