Skip to main content

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

1

Go to Settings → Webhooks

Find the webhooks section in your account settings

2

Add Webhook URL

Enter the HTTPS endpoint that will receive events

3

Select Events

Choose which events trigger the webhook

4

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:

  1. Get your webhook secret from the webhook settings
  2. Compute HMAC-SHA256 of the request body using your secret
  3. 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

PlanWebhooksHistory Retention
Free27 days
Starter1030 days
Business2530 days
AgencyUnlimited30 days