Skip to content

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

  1. Navigate to Sources in the sidebar
  2. Click Add Source
  3. Enter a name (e.g., "GitHub Webhooks")
  4. Enter a slug (e.g., "github") - this becomes part of your webhook URL
  5. Optionally configure signature verification
  6. 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}/github

Step 3: Create a Destination

Destinations are where webhooks get delivered.

Using the Dashboard

  1. Navigate to Destinations in the sidebar
  2. Click Add Destination
  3. Enter a name (e.g., "Production API")
  4. Enter the URL where webhooks should be sent
  5. Configure retry policy (optional)
  6. 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

  1. Navigate to Routes in the sidebar
  2. Click Add Route
  3. Select your source
  4. Select one or more destinations
  5. Optionally add transforms or filters
  6. 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:

  1. Go to your repository Settings > Webhooks
  2. Click Add webhook
  3. Enter your WebhookRelay URL as the Payload URL
  4. Set Content type to application/json
  5. Enter your secret (if using signature verification)
  6. Select events and click Add webhook

Step 6: Test Your Setup

Using the Dashboard

  1. Navigate to Testing in the sidebar
  2. Select your source
  3. Enter a test payload or use a sample
  4. Click Send Test
  5. 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

Released under the MIT License.