Help center / Alerts

Alerts and channels

Email, Slack, Discord, Teams, Telegram, webhooks, ntfy, Pushover, PagerDuty and Opsgenie; rules, escalation and quiet hours.

Channels

A channel is somewhere alerts go. Add them on the Alerts page:

ChannelWhat you need
EmailOne or more addresses. Addresses that aren't your team members' get a confirmation link first.
SlackAn incoming webhook URL. In Slack: Apps › Incoming Webhooks › Add to Slack, pick the channel and copy the Webhook URL.
DiscordA channel webhook URL (Channel settings › Integrations › Webhooks).
Microsoft TeamsA Teams workflow or incoming webhook URL.
TelegramStart a chat with the Pingerer bot (or add it to your group), then enter the chat's ID, or @channelname for a public channel where the bot is an admin.
WebhookYour HTTPS endpoint. We sign each request (below).
SMSA verified mobile number. See SMS alerts and credits.
ntfyA topic you've subscribed to in the ntfy app, on ntfy.sh or your own server, and an access token if the topic is protected. Downtime is sent at urgent priority.
PushoverYour Pushover user key (at the top of pushover.net once you sign in), and a device name if you only want it on one. Downtime is sent at high priority.
PagerDutyAn Events API V2 integration key (Services › your service › Integrations). An incident opens a PagerDuty incident and resolves it when it recovers.
OpsgenieAn API integration's key (Teams › your team › Integrations › API), and whether your Opsgenie is in the US or EU. An incident opens an Opsgenie alert and closes it when it recovers.

Use Send test after adding a channel. If a channel fails five times in a row, it's marked as failing on the Alerts page so you can fix it.

Rules: which sites, which events

Each channel has rules: every site (including ones you add later) or chosen sites, and which events: down, degraded (slow), SSL or domain expiring, DNS changed, email setup problems, missed heartbeats and site health (a new critical finding in the weekly setup check). Recovery messages go to the channels that were told about the problem.

What an alert says

Each alert says what failed, how (for example "502 Bad Gateway from 3 regions"), when it started and what that usually means. Opening and confirming an incident sends one alert, not two; you get one more when it recovers.

When a site keeps going up and down

If a monitor goes down for the third time in two hours, we stop treating each bounce as a new problem. Its incident stays open until checks have passed for 30 minutes in a row, and the timeline says why. You get one alert when it goes down and one when it has settled, instead of a pair every time it bounces.

Lots of alerts at once

After 30 alert emails in an hour, we hold back further email alerts and send them an hour later as one summary email for each channel, listing every alert and which incidents are still open. Other channels, like Slack, SMS and push, aren't affected.

Acknowledging

Click Acknowledge in an alert (or on the incident) so your team knows someone's on it. Acknowledging stops escalation for that incident.

Escalation

Give a rule an "escalate after" time to make it an escalation rule: that channel is told only if an incident is still unacknowledged after that many minutes. For example, email the team at once, and text the owner if nobody has acknowledged after 15 minutes.

On-call schedules

On the Paid plan, a team can take turns being on call. Open On call, make a schedule, number your team in the order they take turns, and choose when it hands off (for example every week on Monday at 9am, in your time zone). Each schedule shows who's on call now and next, and the week ahead. Add an override when someone covers for a while, like a swap or a holiday.

A schedule appears on the Alerts page as a channel called "On call: name". Tick it for the sites it should cover, or choose it under Escalate to to alert whoever's on call only when nobody acknowledges in time. We email the person on call, and text them too if they've added and verified their phone on the On call page (texts use the account's SMS credits).

Quiet hours

Set quiet hours (for example 10pm to 7am) to hold less urgent alerts, like expiring certificates or DNS changes, until morning. Downtime and missed heartbeats always get through. A held alert whose problem fixes itself before morning is never sent.

Webhook signatures

Webhook requests are JSON POSTs with an X-Pingerer-Signature header like t=1760000000,v1=5257a8.... To verify one, compute an HMAC-SHA256 of "#{t}.#{body}" with your channel's secret and compare it with v1; reject requests whose t is more than a few minutes old.

expected = OpenSSL::HMAC.hexdigest("SHA256", secret, "#{t}.#{request.raw_post}")
ActiveSupport::SecurityUtils.secure_compare(expected, v1)

Weekly summary

Owners and admins get a short summary email on Monday mornings. Turn it off in your profile settings.

Still stuck? Contact us and a person will reply.