Webhooks

Send alert events as JSON to any HTTPS endpoint for custom integrations.

Plan requirement: Webhooks require the Pro plan or above.

A webhook alert causes OpsKitty to send an HTTP POST request to a URL you control whenever an alert fires or resolves. Use this to integrate with ticketing systems, custom dashboards, runbook automation, or any service that accepts HTTP requests.

Trigger payload

{
  "event": "alert.triggered",
  "endpoint": {
    "id": "ep_abc123",
    "name": "Homepage",
    "url": "https://example.com"
  },
  "alert": {
    "id": "al_xyz789",
    "type": "webhook",
    "failure_threshold": 3,
    "description": "See runbook: https://..."
  },
  "triggered_at": "2025-01-15T10:30:00Z",
  "region": "us-east-1",
  "error": "Connection timeout after 30s"
}

Resolved payload

{
  "event": "alert.resolved",
  "endpoint": {
    "id": "ep_abc123",
    "name": "Homepage",
    "url": "https://example.com"
  },
  "alert": {
    "id": "al_xyz789",
    "type": "webhook",
    "failure_threshold": 3
  },
  "triggered_at": "2025-01-15T10:30:00Z",
  "resolved_at": "2025-01-15T10:47:22Z",
  "region": "us-east-1"
}

Delivery and retries

  • OpsKitty expects an HTTP 2xx response within 10 seconds.
  • Non-2xx responses or timeouts are treated as delivery failures.
  • Failed deliveries are retried up to 3 times with exponential backoff (1 min, 5 min, 15 min).
  • Delivery status is visible in Dashboard → Alerts → Recent Events.