Inbound Webhooks
Receive webhooks from Stripe, GitHub, Shopify and other providers β all through HookSniff.
The Problem
You use Stripe for payments, GitHub for code, Shopify for orders. Each sends webhooks in different formats, with different signature schemes. You need a separate handler for each one.
How Inbound Webhooks Work
HookSniff acts as a proxy: external providers send webhooks to HookSniff, HookSniff normalizes them and delivers to your endpoint with a consistent format and signature.
- Create an inbound config for the provider
- Give the provider HookSniff's inbound URL
- Provider sends webhooks to HookSniff
- HookSniff normalizes and forwards to your endpoint
Create Inbound Config
curl -X POST https://hooksniff-api-1046140057667.europe-west1.run.app/v1/inbound \
-H "Authorization: Bearer hr_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{\"provider\": \"stripe\", \"endpoint_id\": \"ep_abc123\"}'Response includes the inbound URL to give to Stripe:
{
"id": "inb_xyz789",
"provider": "stripe",
"inbound_url": "https://hooksniff-api-...run.app/v1/inbound/stripe/inb_xyz789",
"endpoint_id": "ep_abc123"
}Supported Providers
| Provider | Signature Header | Auto-Detection |
|---|---|---|
| Stripe | Stripe-Signature | β |
| GitHub | X-Hub-Signature-256 | β |
| Shopify | X-Shopify-Hmac-SHA256 | β |
Benefits
- β One endpoint β Receive from all providers through a single URL
- β Consistent format β All webhooks delivered in the same format
- β Unified monitoring β See all inbound webhooks in one dashboard
- β Automatic retries β Failed deliveries are retried like any other webhook
- β Signature verification β Provider signatures verified before forwarding