Quick Start
Get started with WebhookRelay in 5 minutes.
Prerequisites
- A WebhookRelay account
- A destination URL to receive webhooks (your application)
Step 1: Create an Organization
After signing up, you'll be prompted to create an organization. The organization slug becomes part of your webhook URLs.
Step 2: Create a Source
Sources are endpoints that receive incoming webhooks.
Using the Dashboard
- Navigate to Sources in the sidebar
- Click Add Source
- Enter a name (e.g., "GitHub Webhooks")
- Enter a slug (e.g., "github") - this becomes part of your webhook URL
- Optionally configure signature verification
- Click Create
Using the API
bash
curl -X POST https://api.webhookrelay.com/api/organizations/{orgId}/sources \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "GitHub Webhooks",
"slug": "github",
"verificationConfig": {
"type": "github",
"secret": "your-webhook-secret"
}
}'Your webhook URL is now:
https://api.webhookrelay.com/ingest/{orgSlug}/githubStep 3: Create a Destination
Destinations are where webhooks get delivered.
Using the Dashboard
- Navigate to Destinations in the sidebar
- Click Add Destination
- Enter a name (e.g., "Production API")
- Enter the URL where webhooks should be sent
- Configure retry policy (optional)
- Click Create
Using the API
bash
curl -X POST https://api.webhookrelay.com/api/organizations/{orgId}/destinations \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Production API",
"url": "https://api.yourapp.com/webhooks",
"headers": {
"X-Custom-Header": "value"
},
"retryPolicy": {
"maxRetries": 5,
"initialDelay": 1000,
"maxDelay": 60000
}
}'Step 4: Create a Route
Routes connect sources to destinations.
Using the Dashboard
- Navigate to Routes in the sidebar
- Click Add Route
- Select your source
- Select one or more destinations
- Optionally add transforms or filters
- Click Create
Using the API
bash
curl -X POST https://api.webhookrelay.com/api/organizations/{orgId}/routes \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "GitHub to Production",
"sourceId": "src_...",
"destinationIds": ["dst_..."],
"enabled": true
}'Step 5: Configure Your Webhook Provider
Point your webhook provider to your WebhookRelay source URL:
https://api.webhookrelay.com/ingest/{orgSlug}/{sourceSlug}For example, in GitHub:
- Go to your repository Settings > Webhooks
- Click Add webhook
- Enter your WebhookRelay URL as the Payload URL
- Set Content type to
application/json - Enter your secret (if using signature verification)
- Select events and click Add webhook
Step 6: Test Your Setup
Using the Dashboard
- Navigate to Testing in the sidebar
- Select your source
- Enter a test payload or use a sample
- Click Send Test
- Check Event History to see the result
Using cURL
bash
curl -X POST https://api.webhookrelay.com/ingest/{orgSlug}/{sourceSlug} \
-H "Content-Type: application/json" \
-d '{"test": true, "message": "Hello from WebhookRelay!"}'Next Steps
- Sources - Advanced source configuration
- Transforms - Modify payloads before delivery
- Filters - Control which webhooks get delivered
- Tunnels - Receive webhooks on localhost