🪝

Uptrue + Signed Webhooks — Wire Alerts Into Anything

Receive every Uptrue alert as a JSON POST to your endpoint, signed with HMAC-SHA256. Pipe into PagerDuty, Opsgenie, your own incident management, or anywhere else.

Start Monitoring Free← All Integrations

How it works

When an incident opens or resolves, Uptrue POSTs a JSON payload to the webhook URL you configure. The body is signed with HMAC-SHA256 using a per-channel secret — your endpoint should verify the X-Uptrue-Signature header before trusting the payload.

The payload includes the incident metadata (id, title, status, severity, started_at, resolved_at) and the monitor metadata (id, name, type, target). Both incident-opened and incident-resolved events are sent to the same webhook URL with different event values, so a single endpoint can handle the full lifecycle.

Setup in 4 steps

  1. 1In Uptrue, open Dashboard → Alerts → New Channel, pick "Webhook" as the type.
  2. 2Paste your endpoint URL. Optionally provide a webhook secret — if set, every POST is signed with X-Uptrue-Signature: sha256=<hex>.
  3. 3Save the channel. The first test request fires immediately — verify your endpoint receives it and that signature verification passes.
  4. 4Attach the channel to one or more monitors. Both incident-opened and incident-resolved events are POSTed to the same URL.

What you get

Payload schema

POST /your-endpoint HTTP/1.1
Content-Type: application/json
User-Agent: Uptrue-Webhook/1.0
X-Uptrue-Signature: sha256=<hex digest of body>

{
  "event": "incident.created",
  "incident": {
    "id": "uuid",
    "title": "site.example.com is down",
    "status": "open",
    "severity": "critical",
    "started_at": "2026-05-03T12:34:56.000Z",
    "resolved_at": null
  },
  "monitor": {
    "id": "uuid",
    "name": "Production homepage",
    "type": "http",
    "target": "https://site.example.com"
  },
  "timestamp": "2026-05-03T12:34:58.123Z"
}
Ready to wire it up?
Lite plan from £1/month · Free 3-monitor plan also available
Get Started Free →

Monitors that fire Webhook alerts

Every Uptrue monitor type can send to Webhook. Some of the most common:

Want a one-off check first? Run our free Website Health Score or browse all free monitoring tools.

Frequently asked questions

Is the webhook integration free?
Webhook channels require a Lite plan or higher. The Free plan includes email alerts on 3 monitors. Lite (£1/month or £10/year) unlocks signed webhooks, Slack, Microsoft Teams, and Telegram.
How do I verify the X-Uptrue-Signature header?
Compute HMAC-SHA256 over the raw request body using the secret you set when creating the channel, hex-encode the digest, and compare it to the value in the header (after stripping the "sha256=" prefix). Use a constant-time comparison to defend against timing attacks. Most languages have a one-line implementation.
Can I use the webhook to wire Uptrue into PagerDuty or Opsgenie?
Yes. PagerDuty has a generic webhook integration; Opsgenie too. Map our event/incident/monitor fields to their expected schema (often a small Cloudflare Worker, Lambda, or n8n workflow does this in a few lines). Native PagerDuty/Opsgenie integrations are on the V1.5 roadmap.
What is the payload schema?
Top-level: event ("incident.created" or "incident.resolved"), incident object, monitor object, timestamp. The full sample is shown above. The schema is stable — we will version it (v2 etc.) before making any breaking changes, with notice.
How long do I have to respond to a webhook?
Uptrue applies a 10-second timeout. Your endpoint should accept the request quickly and process the work asynchronously — for example, queue the alert and return 200 immediately. A slow endpoint will record the dispatch as failed.
What happens if my endpoint is down when an alert fires?
The alert is recorded as failed and the dispatch error is logged in your alerts table. Uptrue does not currently retry — pair the webhook with at least one other channel (email, Slack, Telegram) on critical infrastructure for redundancy.
Related Integrations
💬Slack👥Microsoft Teams✈️Telegram
🪝

Wire Webhook into your monitoring today

Free 3-monitor plan to start. Lite (£1/month) unlocks Webhook and every other channel.

Start Monitoring Free