Why Migrate to Bunnylynk?
Bunnylynk shares similar architectural primitives with Hookdeck (Sources, Destinations, Connections), making migration intuitive and seamless:
- 100% Data Ownership & Self-Hostable: Deploy Bunnylynk in your own AWS/GCP/Cloudflare infrastructure or use Bunnylynk Cloud.
- Predictable Pricing: No punishing tiered pricing per event or hidden replay surcharges.
- Strict Store-Before-Ack Durability: Immediate edge persistence before acknowledging the producer.
- High Concurrency & Low Latency: Written on an ultra-lean runtime capable of tens of thousands of concurrent webhooks per second.
Terminology Mapping
| Hookdeck Concept | Bunnylynk Equivalent | Notes |
|---|---|---|
| Source | Source | 1:1 match. Generates an ingestion webhook URL. |
| Destination | Destination | 1:1 match. Your target HTTP/HTTPS server or function. |
| Connection | Connection | 1:1 match. Links a Source to a Destination with rules. |
| Filter / Transform | Rules Engine | Full JSONPath filtering and payload modification. |
| Replay | Replay | Re-dispatch any previous webhook with one click. |
Step-by-Step Zero Downtime Migration
Recreate Sources & Destinations in Bunnylynk
Export your current Hookdeck configuration and recreate matching Sources and Destinations in Bunnylynk using the Dashboard or API.
# Create your destination in Bunnylynk
curl -X POST https://api.bunnylynk.com/v1/destinations \
-H "Authorization: Bearer $BUNNYLYNK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Production API",
"url": "https://api.mycompany.com/webhooks"
}'
Dual Ingestion / Shadow Mode (Optional)
If you wish to verify delivery reliability before switching primary traffic, configure your webhook producer (e.g. Stripe) to add a second webhook endpoint pointing to your Bunnylynk Source URL.
Switch Webhook URL in Provider Dashboard
Update the webhook URL in your provider settings (Stripe, Shopify, GitHub) from Hookdeck's URL to your new Bunnylynk ingestion URL:
https://gateway.bunnylynk.com/h/stripe-prod
Drain Remaining Hookdeck Retries
Keep your Hookdeck instance alive for 24–48 hours until any existing pending retries or scheduled delays finish delivering to your destination.
Once the Hookdeck event queue hits zero, you have completed the migration!
Next: Consult the FAQ & Troubleshooting Guide.