PYLONMON

Send your monitoring alerts to Discord

Email alerts get buried under newsletters. SMS costs money and fits one sentence. A Discord channel is free, pushes to your phone in seconds, keeps the full history scrollable, and everyone you share the server with sees the same outage at the same time. Here’s the whole setup — about three minutes, and most of it is copying one URL.

Why Discord makes a genuinely good pager

What a pager needsDiscord
Reaches your phone fastPush notification in seconds, free, no carrier involved
History you can scrollThe channel is the log — every outage and recovery, timestamped
More than one pair of eyesEveryone in the server sees it; no forwarding, no CC list
Separate loud from quietPer-channel notification settings: #alerts pings, everything else stays muted
Costs nothingWebhooks are a built-in Discord feature on every free server

The mechanism is a webhook — a private URL that lets an outside service post messages into one specific channel, and nothing else. No bot to install, no permissions to review, no Discord API keys.

Step 1 — create the webhook in Discord

Make a dedicated #alerts channel first (right-click your server → Create Channel). A separate channel is what makes the notification settings work later — loud alerts, quiet everything else.

Then: Server Settings → Integrations → Webhooks → New Webhook. Pick the #alerts channel, name it anything (the name shows as the sender), and click Copy Webhook URL. The same screen is also reachable per-channel: hover #alerts → the gear (Edit Channel) → Integrations → Webhooks.

Discord — Server Settings → Integrations → Webhooks
P
PylonMonWebhook · posts to #alerts
https://discord.com/api/webhooks/1348…/xK9f… — Copy Webhook URL

Treat the URL like a password — anyone who has it can post into that channel.

Step 2 — paste it into PylonMon

Portal → Channels → + → pick Discord. Paste the URL, give it a name, done:

pylonmon.com/portal — Channels → add
Discord: Server Settings → Integrations → Webhooks → New Webhook → Copy URL.

Step 3 — point monitors at it, then prove it works

Each monitor picks its own channels — a monitor with none selected deliberately sends nothing, so pick #alerts on the ones that should page. The channel’s row shows how many monitors alert through it, and send test posts a real message so you never have to trust the wiring blind:

pylonmon.com/portal — Channels
#alertshttps://discord.com/api/webhooks/13…9f
Discord

What lands in the channel

Outages arrive red, recoveries green, each with the monitor’s name, what the checker saw, and how long the outage lasted:

Discord — #alerts
P
PylonMonAPPToday at 2:41 AM
🔴 Home Internet is DOWN
no check-in for 4m — expected every 2m
heartbeat · pylonmon.com
P
PylonMonAPPToday at 3:19 AM
🟢 Home Internet recovered
outage lasted 38 minutes
heartbeat · pylonmon.com

Make sure it actually pings your phone

Discord’s default is to ping you only on @mentions — fine for chat, wrong for a pager. Two settings fix it:

On paid plans you can go one step further with a custom JSON payload on the channel: shape the message your own way, including a role mention like <@&ROLE_ID> in the text so an outage hard-pings everyone holding your @oncall role — the difference between “a message appeared” and “three phones buzzed”.

The honest caveat — and the ladder

A pager that lives in one app has one failure mode: Discord itself down, or your phone logged out, and the page evaporates. The fix isn’t a better single channel — it’s a second rung. Keep the free email channel on the same monitors, and on paid plans build the escalation ladder: Discord immediately, and if nobody acknowledges the alert within 15 minutes, an SMS — so the quiet path only fires when the loud path was ignored. Enterprise adds a literal voice call as the last rung.

RungChannelWhenCost
1Discord webhookInstantlyFree, every plan
2EmailInstantly (same monitors)Free, every plan
3SMS after 15 min unackedEscalation ladderPaid plans
4Voice call, read aloudLast rungEnterprise

Good first candidates for the #alerts treatment: a heartbeat on your home internet, your backup cron jobs, and any machine with no public IP running the beacon agent. All three run happily on the free plan’s three machines.

Start free →