Getting Started with Bunnylynk

Welcome to Bunnylynk, the inbound webhook gateway engineered for guaranteed delivery, resilience, and complete observability.

Welcome to Bunnylynk

Bunnylynk is an enterprise-grade inbound webhook gateway that solves the hardest challenges in receiving third-party webhooks: transient network drops, downstream API rate limits, out-of-order deliveries, and unhandled server downtime.

By standing between webhook producers (such as Stripe, Shopify, GitHub, or Twilio) and your internal consumer microservices, Bunnylynk guarantees that no webhook event is ever dropped.

The Problem with Direct Webhooks

When third-party providers send webhooks directly to your primary web servers or serverless functions:

  1. Traffic Spikes Overwhelm Your Database: A surge of events (e.g., Black Friday checkout events) triggers hundreds of concurrent executions, exhausting database connection pools.
  2. Deployments Drop Webhooks: If your application restarts or deploys while a webhook arrives, the connection drops. Most senders retry with aggressive or unpredictable schedules.
  3. Silent Delivery Failures: When your server responds with an error, the event is frequently lost forever without alerting or replaying ability.
  4. Sender Rate Limits & Concurrency: Senders like Stripe or Shopify often expect responses in under 2–5 seconds, failing the event if your internal queue or processing takes longer.

How Bunnylynk Solves This

Bunnylynk decouples ingestion from processing:

sequenceDiagram
    autonumber
    actor Sender as Webhook Producer (e.g. Stripe)
    participant BL as Bunnylynk Gateway
    participant DB as Durable Ledger
    participant Worker as Dispatch Engine
    participant App as Your Internal API

    Sender->>BL: POST /h/:source_slug (Webhook payload)
    BL->>DB: Persist event & headers (Atomic)
    BL-->>Sender: 200 OK (Under 15ms)
    Worker->>DB: Pull queued events
    Worker->>App: POST destination endpoint
    alt Target Healthy
        App-->>Worker: 200 OK
        Worker->>DB: Mark Attempt Succeeded
    else Target 500 or 429
        App-->>Worker: 500 Internal Error / 429 Rate Limit
        Worker->>DB: Schedule Exponential Backoff Retry
    end

Key Capabilities

  • Store-Before-Ack Durability: Ingested payloads are committed to persistent storage before returning an HTTP 200 OK or 202 Accepted to the caller.
  • Intelligent Retry Engine: Linear, exponential, and jittered backoffs with automatic circuit breaking for failing destination servers.
  • Live Event Inspection & Replay: Inspect raw payloads, decrypted headers, and exact delivery attempts. Replay any webhook with a single click or API call.
  • Rule Engine & Payload Transformation: Filter events using JSONPath, strip or inject headers, and schedule delays without changing your application code.
  • Multi-Tenant Security & Scoped API Keys: Fine-grained role-based access control (RBAC), team permissions, and project-isolated cryptographic keys.

Ready to begin? Head over to the Quickstart Guide.