MoonitorMoonitor
Browse documentation

Alerts & contacts

Alert contacts are the destinations Moonitor notifies when a monitor goes down or recovers. Wire them up once and you'll hear about downtime wherever you already work.

What an alert is

An alert contact is somewhere Moonitor sends a notification — an inbox, a chat channel, or your own server. You manage them in the dashboard under Alert contacts. Every alert tells you which monitor is affected, its target, whether it’s down or back up, and — for a down — the cause. You’ll get a “recovery” alert too once the monitor passes a check again.

Supported channels

Moonitor can notify you through any of these:

  • Email — an inbox of your choice.
  • Webhook — an HTTP POST to your own URL.
  • Slack — a message to a Slack channel.
  • Discord — a message to a Discord channel.
  • Telegram — a message to a Telegram chat.

Note

SMS and voice alerts aren’t supported yet.

Set up from day one

You don’t have to configure anything to get your first alert. When you sign up, Moonitor creates a pre-verified Email contact for your account email, and every new monitor is automatically linked to all of your existing contacts. So alerts work out of the box with zero setup — add a monitor and it can already reach you.

Linking contacts to monitors

Each monitor can notify any subset of your contacts — a noisy internal job might only ping a webhook, while your marketing site alerts the whole team. Set this on the monitor’s page, or update many monitors at once with the bulk action on the Monitors list.

When alerts fire

Moonitor notifies a monitor’s linked contacts as soon as a check fails — you hear about a problem on the very first failed check, not minutes later.

Recovery (“up”) alerts go only to the contacts that were notified of the matching “down”, so you never get a recovery for an incident you never heard about. See Incidents for how down and up events are detected and paired.

Channel setup

Email

An email contact must be verified before it receives alerts. When you add a new email contact, Moonitor sends a verification link to that address — click it to confirm. Your sign-up address is pre-verified, so it works straight away.

Webhook

Moonitor sends an HTTP POST with a JSON body to your URL on both down and up events. The payload looks like this:

{
  "event": "down" | "up",
  "monitor": { "id": "...", "name": "...", "target": "...", "type": "HTTP" },
  "incident": { "id": "...", "startedAt": "...", "resolvedAt": null, "cause": "..." },
  "at": "2026-01-01T00:00:00.000Z"
}

On a down event resolvedAt is null; on an up event it’s set to the time the incident was resolved.

Slack

Paste a Slack Incoming Webhook URL. Moonitor posts a message to that channel on down and up, including the monitor name, its target and the cause.

To get one, add an Incoming Webhook in your Slack workspace and point it at the channel you want alerts in. Slack gives you a URL — copy it and paste it here.

Discord

Paste a Discord channel Webhook URL. Moonitor posts a message to that channel on down and up.

To get one, open the channel’s settings, go to Integrations → Webhooks, create a webhook, and copy its URL.

Telegram

Enter the chat id you want to message. Moonitor sends alerts to that chat through its Telegram bot.

Heads up

Keep your webhook URL and your Slack and Discord webhook URLs private — anyone who has one can post into your channel or hit your endpoint.

Test that alerts arrive

Before you rely on a contact, take a minute to prove it works end to end:

  1. 1

    Verify the contact

    For an email contact, click the verification link first. A contact that isn’t verified won’t receive anything.

  2. 2

    Link it to a monitor

    Make sure the contact is linked to at least one active monitor.

  3. 3

    Trigger a quick check

    Use Check now, or pause and resume a monitor, to confirm the alert lands where you expect.

Tip

Verify your email contact and send a quick test — a pause/resume or a Check now — so you know alerts reach you before you actually need them.

What’s in an alert

FieldDescription
MonitorWhich monitor the alert is about.
TargetThe URL, or host and port, the monitor checks.
StatusWhether the monitor is down or back up.
CauseFor a down, why the check failed.

Note

For example, a Slack or Discord alert when a site goes down reads like 🔴 Marketing site is DOWN — https://example.com with the reason underneath. When it recovers you get the matching 🟢 Marketing site is back UP — https://example.com.