Webhooks

Setting up event notifications, payload format, and retry policy.

Overview

Webhooks allow you to receive real-time HTTP POST notifications when events occur in SiteDash. Use them to integrate with your CI/CD pipeline, chat tools, or custom dashboards.

Setting Up a Webhook

  1. Navigate to Settings > Webhooks
  2. Click Add Webhook
  3. Enter the target URL (must be HTTPS)
  4. Select the events you want to subscribe to (e.g., site.alert, scan.complete, release.published)
  5. Optionally add a secret token for request signature verification
  6. Click Save

Payload Format

All webhook payloads are JSON-encoded and include the following structure:

{
  "event": "site.alert",
  "timestamp": "2026-03-14T12:00:00Z",
  "data": {
    "site_id": 42,
    "site_url": "https://example.com",
    "alert_type": "downtime",
    "message": "Site is not responding."
  }
}

A X-SiteDash-Signature header is included when a secret token is configured. The signature is an HMAC-SHA256 hex digest of the raw request body using your secret as the key.

Supported Events

  • site.alert — A monitoring alert was triggered
  • site.recovery — A previously alerting site has recovered
  • scan.complete — A security scan has finished
  • release.published — A new SiteDash release was published
  • bug.created — A new bug report was submitted

Retry Policy

If the receiving server returns a non-2xx status code or the request times out (10-second limit), SiteDash retries the delivery up to 5 times with exponential backoff:

  • 1st retry: 1 minute
  • 2nd retry: 5 minutes
  • 3rd retry: 30 minutes
  • 4th retry: 2 hours
  • 5th retry: 12 hours

After all retries are exhausted, the webhook is marked as failed. You can view delivery logs and manually re-trigger failed deliveries from the webhook settings page.