You're reading the docs for v1.5.0, which isn't released yet. Commands here pull :edge, the newest pre-release build. Go to the current release (v1.4.0) →
Alerting › Webhooks

Webhooks

The workspace webhook is a plain HTTP POST — any receiver that accepts the payload works.

The workspace alert webhook is just an HTTP POST with a Slack-style JSON body. Any endpoint that accepts that shape works — a Slack incoming webhook, a relay, or your own service.

Payload

When an incident is confirmed or closes, Uptimer POSTs:

{
  "attachments": [
    {
      "author_name": "Uptimer",
      "title": "Checkout API is down",
      "color": "#d50201",
      "text": "Failing from 2 of 3 locations — de, fr\n`dial tcp 104.20.23.154:9: i/o timeout`\nDown for 2m before we alerted.\n<https://uptimer.example.com/ui/workspace/…/rule/…/history|View timeline>",
      "footer": "Uptimer",
      "timestamp": 1786642711
    }
  ]
}

The title is the monitor name plus its state, and the colour follows it:

AlertTitleColour
Confirmed problem{monitor} is down#d50201 red
Confirmed no data{monitor} — no data#f0ad4e amber
Recovered{monitor} is back up#2eb887 green

The text is plain text with Slack’s <url|label> link syntax, so a non-Slack consumer should expect that markup rather than HTML or Markdown.

This release has one Slack-compatible webhook per workspace — no per-rule routing, no custom templates or headers, no retries, and no other channels (email/SMS). If you need fan-out or a different format, point the webhook at a small relay you control.