Webhooks
Forward events to any HTTP endpoint as a JSON POST request. Build custom integrations, feed data into your own systems, or connect services that API Alerts doesn’t natively support.
How it works
- Create a Webhook integration in your workspace with the target URL and any authentication headers
- Add a Webhook destination to a router
- Customise the JSON payload template and optionally add per-destination headers
- Events matching the router’s pattern send a POST request to your endpoint
JSON payload
The Event Designer provides a code editor for your JSON payload template. Use template variables to insert event data:
{
"event": {{event}},
"title": {{title}},
"message": {{message}},
"tags": {{tags}},
"user": {{data.name}},
"amount": {{data.amount}}
}
Smart JSON typing
Webhook payloads use automatic JSON typing. Variables resolve to their native JSON type:
| Type | Template | Output |
|---|---|---|
| String | {{event}} | "user.purchase" |
| Number | {{data.amount}} | 49.99 |
| Boolean | {{data.active}} | true |
| Array | {{tags}} | ["android", "growth"] |
| Object | {{data}} | {"name": "John", ...} |
No manual quoting needed. Just write {{variable}} and the output is valid JSON.
Headers
Headers are configured at two levels:
- Integration-level. Base URL and authentication headers (e.g.
Authorization: Bearer ...). Shared across all destinations using this webhook integration. - Destination-level. Additional headers per router destination. Supports template variables for dynamic values like
X-User-ID: {{data.userId}}.
Destination headers override integration headers when they conflict (case-insensitive match).
Preview
The Event Designer shows a live request preview with:
- The full POST URL
- All merged headers (integration + destination, with auth values masked)
- The rendered JSON payload using real event data from your workspace
Template variables
Use {{variable}} syntax in both the payload and destination headers. See the full list in the Template Variables reference.
Get started
- Open your workspace in the dashboard
- Go to Integrations and create a new Webhook with your endpoint URL
- Add any authentication headers
- Add a Webhook destination to a router
- Design your JSON payload in the Event Designer
- Send a test event to verify delivery