Send website down alerts to Make
Start a scenario when a website goes down or comes back. Solo, Starter and Pro.
What you get
- A message when a website goes down, with the website and the reason. We look again before we send it. See Confirmed Alerts.
- The recovery arrives as its own message, with how long the website was down.
- A test message when you add it, so you know it arrives.
- Certificate expiry reminders are sent by email only, not to Make. See SSL expiry reminders.
Which plans
Solo, Starter and Pro. Every chat, automation and webhook channel counts against one per-account limit: Solo 10, Starter 20, Pro 50. Not on Free.
| Plan | How many |
|---|---|
| Solo | Up to 10, shared with your other chat, automation and webhook channels |
| Starter | Up to 20, shared with your other chat, automation and webhook channels |
| Pro | Up to 50, shared with your other chat, automation and webhook channels |
Prices are in rupees, GST included. See plans.
Set it up
In TidyMonitor, open Alert channels, click Add channel and choose Make. The app shows these same steps.
- In your scenario, add the module Webhooks, then Custom webhook.
- Click Add, name it TidyMonitor, save, and copy the link.
- Paste the link in TidyMonitor. After our test message arrives, Make shows the fields it found.
Then we send a test message. Tell us it arrived and the channel is ready.
What you give us
Custom webhook URL (Webhooks app).
Built to Make’s documented format. Send the test message when you add it to see it arrive. Read Make’s own guide.
What we send
Make receives our standard webhook payload, version 1, so every key below is a field you can use there.
| Key | Type | Meaning |
|---|---|---|
| text | string | One ready-made line. Post it as it is if you need nothing else. |
| event | string | DOWN, DOWN_FINAL (the last repeat before we go quiet), RECOVERY, SSL_EXPIRY, DOMAIN_EXPIRY. A test message is RECOVERY with test: true. |
| monitor | string | The monitor’s name (its URL when unnamed). |
| url | string | The monitored address. |
| detail | string | Down: the reason. Recovery: the downtime. Test: empty. |
| time | string | Clock time in India, HH:mm:ss IST. |
| version | number | 1. |
| test | boolean | true only for “Send a test”. Filter on this first. |
| status | string | down, up, warning (a reminder), test. |
| monitor_id | number or null | Stable id of the monitor. null for a test. |
| incident_id | number or null | The outage’s id: the same on DOWN, every repeat, and its RECOVERY. Use it to pair them. null for reminders and tests. |
| occurred_at | string | ISO 8601 with offset, India time. Down: when the outage began. Recovery: when it ended. |
| reason | string or null | Down only: why (HTTP 500, timeout and so on). |
| downtime | string or null | Recovery only, for example 2h 5m. |
| days_left | number or null | Reminders only. |
| expires_on | string or null | Reminders only, for example 2026-10-21. |
Reminders are sent by email only today, so a webhook does not receive the reminder events yet. Their keys are part of the format and stay null.
An example: a website goes down
{
"text": "🔴 Acme API is DOWN — HTTP 500 (at 09:15:00 IST)",
"event": "DOWN",
"monitor": "Acme API",
"url": "https://acme.test",
"detail": "HTTP 500",
"time": "09:15:00 IST",
"version": 1,
"test": false,
"status": "down",
"monitor_id": 7,
"incident_id": 5,
"occurred_at": "2026-10-14T09:15:00+05:30",
"reason": "HTTP 500",
"downtime": null,
"days_left": null,
"expires_on": null
}The rules
- One POST with Content-Type application/json; charset=UTF-8.
- Every key is always present, in this order, and null when it does not apply.
- Keys may be added in a later version. None is renamed or removed, and no meaning changes, without a new version.
- Answer with any 2xx within 10 seconds and we count it as delivered. Anything else is tried again (6 attempts, at least 2 minutes apart), then the monitor’s fallback channel gets the alert.
- Redirects are not followed. The address must be public.
- The first message, sent while you add the channel, carries only text. “Send a test” from the channel’s menu sends the full payload.