Receive. Transform. Forward.
A simple webhook relay for developers. Point webhooks here, transform the payload, forward it where it needs to go.
Read the Docs Quick Start →How It Works
Create an API key and hook
Hit the API to generate a key, then create a hook with your transform rules and destination URL.
Define transform rules
Map fields, filter payloads, and rename keys using JSON configuration. Dot notation supported for nested fields.
Point webhooks at your endpoint
Your hook gets a public URL. Incoming payloads are saved, transformed, and forwarded with automatic retry on failure.
What You Get
Smart Retry
Automatic retry with exponential backoff. Free tier gets 3 attempts; Pro gets up to 10 with configurable intervals.
Payload Transforms
Field mapping with dot notation, conditional filtering (equals, contains, exists, regex), field renaming, and static field injection.
Signature Validation
Verify webhook signatures from GitHub, Stripe, or any HMAC-based provider. Reject unsigned or tampered payloads before they reach your app.
Request Logging
Every webhook received is logged with timestamps, transform results, and forwarding status. Inspect and debug from the dashboard.
Secrets Encrypted
API keys hashed with SHA-256. Signing secrets encrypted with AES-256-GCM at rest. Management API is key-authenticated.
Inspect & Replay
Every payload is stored in the database. Inspect what arrived, see what was transformed, and replay failed deliveries with one API call.
Provider Adapters
Built-in handling for Azure Event Grid validation handshakes, with more providers coming. No configuration needed — just works.
Rate Limiting
Per-hook rate limiting protects your endpoints from floods. Tier-based limits scale with your plan.
Get Started in 3 Requests
1. Create an API key:
curl -X POST https://hookpipe.app/api/auth/keys \
-H "Content-Type: application/json" \
-d '{"name": "my-key"}'
2. Create a hook:
curl -X POST https://hookpipe.app/api/hooks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "github-events",
"destinationUrl": "https://your-app.com/webhook",
"transformConfig": {
"fieldMapping": {
"repo": "repository.name",
"actor": "sender.login"
}
}
}'
3. Send a webhook:
curl -X POST https://hookpipe.app/hooks/YOUR_HOOK_ID \
-H "Content-Type: application/json" \
-d '{"repository": {"name": "my-repo"}, "sender": {"login": "dev"}}'
Pricing
Free
$0
- 20 requests/minute per hook
- Up to 5 hooks
- Signature validation (1 secret)
- 3 retries with fixed backoff
- 7-day log & payload retention
- Full transform engine
- Inspection & replay
Pro
$9/mo
- 1,000 requests/minute per hook
- Unlimited hooks
- Signature validation (5 secrets — key rotation)
- 10 retries with configurable intervals
- 30-day log & payload retention
- Full transform engine
- Inspection & replay