Website Monitoring Webhooks
Wire Site Detection into anything with a website monitoring webhook. When downtime is detected, Site Detection sends an HTTP POST with a JSON payload to your endpoint, and sends another on recovery. Use the uptime webhook to trigger runbooks, open tickets, update a status page, or log incidents in your own tooling.
POST on downtime + recovery • JSON payload • Per-channel On/Off + test
Set Up a Webhook Channel
Webhooks are configured like any other channel: add a webhook in Site Detection, point it at your endpoint, test it, and assign it to monitors.
Create an endpoint
Stand up an HTTPS endpoint in your own system that can accept an HTTP POST with a JSON body.
Copy the endpoint URL
Copy the full URL of that endpoint — this is where Site Detection will POST downtime and recovery events.
Open Alerts in Site Detection
In Site Detection, go to Alerts and add a new channel of type Webhook.
Paste the endpoint URL
Paste your endpoint URL into the webhook channel and save it. This tells Site Detection where to POST the payload.
Send a test
Use the test button to send a sample POST to your endpoint and confirm it is received and parsed correctly.
Choose which monitors it covers
Assign the webhook to the monitors that should use it. Each monitor can use several channels at once.
Example Webhook Payload
When downtime is confirmed, Site Detection POSTs a JSON body like this to your endpoint. A matching recovery event follows when the site is back.
{
"event": "downtime",
"site": "Marketing site",
"url": "https://example.com",
"status": "down",
"monitor_id": "mon_8fd23a",
"incident_id": "inc_5c19b7",
"checked_at": "2026-08-16T14:03:21Z"
}
On recovery, Site Detection POSTs the same shape with "event": "recovery", "status": "up", and the same incident_id, so you can pair the two events.
site / url
The monitor name and the URL being checked, so you know which site the event is about.
status
down when downtime is confirmed, up when the site recovers.
checked_at / incident_id
The time the check ran, and an id that ties the downtime and recovery events of one incident together.
Build Deeper with the REST API
Webhooks push events to you; the REST API lets you pull data and manage monitoring programmatically.
Webhooks are the fastest way to react to a specific outage, while the uptime monitoring API lets you read monitors and incident history and build richer integrations. Endpoints, authentication, and payloads are documented in the API docs. For the full list of alert destinations, see the integrations hub.
Send Downtime Events to Your Systems
Start monitoring your website and POST downtime and recovery events straight to your own endpoint.
Start Monitoring Your WebsiteFrequently Asked Questions
How do webhooks work in Site Detection?
When you add a webhook channel and downtime is detected, Site Detection sends an HTTP POST request with a JSON payload to the endpoint URL you provide. It sends one POST when downtime is confirmed and another when the site recovers, so your systems learn both the start and the end of an incident.
What is in the webhook payload?
The JSON payload identifies the affected site and URL, the status (down or up), the time the check ran, and an incident id that ties the downtime and recovery events together. Your endpoint can parse these fields to route, log, or act on the event.
Do I get a webhook when the site recovers?
Yes. Site Detection POSTs a recovery event with status "up" and the same incident id when the site is reachable again, so you can close out an incident automatically.
Can I test the webhook and turn it off?
Yes. The webhook channel has its own On/Off switch and a test button in Site Detection. Use the test button to send a sample POST to your endpoint and confirm it is received, and toggle the channel off at any time without deleting its settings.