Skip to main content

Webhooks

Send signed JSON to any HTTPS endpoint you run, or to a tool that accepts an incoming JSON webhook and lets you map its fields. FlareWarden sends one fixed JSON format; there is no native PagerDuty or Opsgenie integration yet.

Using Slack, Discord, Google Chat or Microsoft Teams? You don't need a custom webhook — FlareWarden sends formatted messages natively. See the Slack guide, the Discord guide, the Google Chat guide or the Microsoft Teams guide.

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

ssl.issued - A certificate for your domain from an issuer you don't expect appeared in Certificate Transparency logs

DNS Events

dns.failed - DNS resolution failed

dns.recovered - DNS resolution recovered

dns.changed - Your site's DNS records, or a DNS record you watch, changed their values

Domain Events Beta

domain.expiring - Your site's domain registration expires in 30, 7 or 1 days

domain.expired - Your site's domain registration has expired

Monitor Events

monitor.created - Site added

monitor.deleted - Site deleted

monitor.paused - Site paused

monitor.resumed - Site resumed

Maintenance Events

maintenance.started - A maintenance window began

maintenance.completed - A maintenance window ended

maintenance.cancelled - A maintenance window was cancelled

Cron Events

cron.failed - A cron job reported a failure or ran past its maximum run time

cron.late - A cron job missed its schedule

Anomaly Events

anomaly.detected - A confirmed unusual slowdown

anomaly.resolved - The slowdown returned to normal

Site, maintenance and cron events go to generic webhooks only; Slack, Discord, Google Chat and Microsoft Teams receive incident, SSL, DNS, domain and anomaly events.

Testing

test - 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": "2026-07-16T14:03:00Z",
  "data": {
    "incident": {
      "id": "inc_01hfixture",
      "incident_type": "uptime",
      "started_at": "2026-07-16T14:03:00Z",
      "error_message": "connection refused",
      "severity": "critical",
      "affects_parent_status": true
    },
    "monitor": {
      "id": "mon_01hfixture",
      "name": "Example API",
      "url": "https://api.example.com/health"
    }
  }
}

Every event uses the same envelope: event, timestamp and an event-specific data object. The webhook settings page serves a live example for each event under /accounts/{id}/webhooks/payload-example/{event}.

Delivery & Retries

Automatic retries with exponential backoff

Automatic Retries

A delivery that times out, can't connect, or gets a 429 or 5xx is retried after 1, 5 and 15 minutes. A 400, 401, 403, 404 or 410 is final: sending the same request again gets the same answer. After 10 of those in a row on a webhook that has never delivered (25 on any webhook), the webhook is turned off and the account owner is emailed why.

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
Growth5030 days
AgencyUnlimited30 days