Webhooks
Integrate FlareWarden with Slack, Discord, PagerDuty, or any HTTP endpoint. Receive real-time event data with secure HMAC signing.
Quick Setup
Get started with webhooks in 4 easy steps
Go to Settings → Webhooks
Find the webhooks section in your account settings
Add Webhook URL
Enter the HTTPS endpoint that will receive events
Select Events
Choose which events trigger the webhook
Test & Activate
Send a test ping to verify your endpoint works
Webhook Events
Choose which events trigger your webhook
Incident Events
incident.started
- Monitor went down
incident.recovered
- Monitor came back up
SSL Events
ssl.expiring -
Certificate expiring soon
ssl.expired -
Certificate has expired
ssl.changed -
Certificate was changed
DNS Events
dns.failed - DNS
resolution failed
dns.recovered
- DNS resolution recovered
Monitor Events
monitor.created
- New monitor created
monitor.deleted
- Monitor deleted
monitor.paused
- Monitor paused
monitor.resumed
- Monitor resumed
Testing
test.ping -
Test webhook delivery
Webhook Security
HMAC signing and custom headers for secure delivery
HMAC-SHA256 Signing
Every webhook request includes a signature header that you can use to verify the request came from FlareWarden.
X-FlareWarden-Signature: sha256=abc123...
Verifying Signatures
To verify a webhook signature:
- Get your webhook secret from the webhook settings
- Compute HMAC-SHA256 of the request body using your secret
- Compare with the signature in the header
Custom Headers
You can add custom HTTP headers to webhook requests for additional authentication (e.g., API keys, Bearer tokens).
Example Payload
JSON structure sent to your webhook endpoint
Here's an example payload for an
incident.started
event:
{
"event": "incident.started",
"timestamp": "2025-01-15T14:30:00Z",
"monitor": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Company Website",
"url": "https://example.com"
},
"incident": {
"id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
"type": "uptime",
"status": "down",
"started_at": "2025-01-15T14:30:00Z",
"error": "Connection timeout after 10s"
}
}Delivery & Retries
Automatic retries with exponential backoff
Automatic Retries
Failed deliveries are automatically retried with exponential backoff. We'll try multiple times before marking a delivery as failed.
Delivery History
View delivery history including request/response details, status codes, and error messages in the webhook settings.
Health Status
Each webhook shows a health indicator: healthy, degraded, failing, or unknown based on recent delivery success.
Manual Retry
You can manually retry failed deliveries from the webhook history view.
Monitor Filtering
Control which monitors trigger webhooks
You can configure webhooks to trigger for all monitors or only specific monitors:
- All Monitors: Receive events for every monitor in your account
- Specific Monitors: Only receive events for selected monitors
This is useful when you want different teams to receive alerts for different monitors.
Plan Limits
Webhook quotas and history retention by plan
| Plan | Webhooks | History Retention |
|---|---|---|
| Free | 2 | 7 days |
| Starter | 10 | 30 days |
| Business | 25 | 30 days |
| Agency | Unlimited | 30 days |