← Back to Blog

How to Set Up Webhook Alerts for Website Downtime

Webhook notification flow from uptime monitor to multiple services like Slack and Discord

Telegram alerts are the fastest way to get personal downtime notifications on your phone. But what if you need alerts in a team Slack channel? Or you want to log every incident to a database? Or trigger an automated response when your site goes down?

That's what webhooks are for.

A webhook is a simple concept: when something happens (your site goes down), your monitoring tool sends an HTTP POST request to a URL you specify. What happens at that URL is up to you. It could be a Slack channel, a Discord server, a PagerDuty integration, or your own custom backend.

Here's how to set it up.

What You Need

  • An uptime monitoring tool that supports webhooks (Monitoristic includes webhooks on all plans)
  • A destination URL — either from a service like Slack/Discord, or your own HTTP endpoint

That's it. No SDKs, no libraries, no API keys to manage.

Step 1: Get Your Webhook URL

Where your alerts end up depends on what you're connecting to.

Slack

  1. Open your Slack workspace and go to the channel where you want alerts
  2. Go to Settings & administration > Manage apps > Incoming Webhooks
  3. Click Add New Webhook to Workspace
  4. Select the channel and authorize
  5. Copy the webhook URL — it looks like https://hooks.slack.com/services/T.../B.../xxx

Discord

  1. Open your Discord server and go to the channel settings
  2. Navigate to Integrations > Webhooks
  3. Click New Webhook
  4. Name it something like "Uptime Alerts" and copy the URL
  5. Append /slack to the URL to use Slack-compatible formatting — Discord supports this natively

Your Own Endpoint

If you're routing to a custom backend, you need an HTTP endpoint that:

  • Accepts POST requests
  • Parses JSON from the request body
  • Returns a 2xx status code to confirm receipt

A minimal example in Node.js:

app.post('/webhook/downtime', (req, res) => {
  const { monitor, status, timestamp } = req.body;
  // Log it, notify your team, trigger a runbook
  console.log(`${monitor} is ${status} at ${timestamp}`);
  res.sendStatus(200);
});

Step 2: Add the Webhook to Your Monitor

In Monitoristic, go to your dashboard and navigate to Notification Channels > Add Webhook:

  1. Name: Give it a label you'll recognize — "Slack #engineering" or "PagerDuty Prod"
  2. URL: Paste the webhook URL from Step 1
  3. Headers (optional): Add custom headers if your endpoint requires authentication, like Authorization: Bearer your-token

Save it, and the webhook is active. Every monitor you create can be connected to this notification channel.

For the full technical reference — payload structure, headers, timeout behavior — see the webhook documentation.

Step 3: Understand the Payload

When a monitor triggers, the webhook sends a JSON payload with everything you need to act on the incident:

  • Monitor name and URL — which site is affected
  • Status — whether it's down or recovered
  • HTTP status code — what the failed check returned (500, 503, timeout, etc.)
  • Timestamp — exactly when the event occurred
  • Response time — how long the check took before failing

This structured data is what makes webhooks powerful. Instead of a plain text message, you get machine-readable data you can parse, filter, and route however you want.

Common Webhook Setups

Team alerts in Slack or Discord

The most common setup. Route all downtime alerts to a dedicated channel so the whole team sees them. No one needs to check a dashboard — the alert comes to where the team already works.

Escalation chains

Send webhooks to a service like PagerDuty or Opsgenie. They handle on-call routing, escalation rules, and acknowledgment tracking. Your monitoring tool detects the problem; the incident management tool makes sure the right person responds.

Custom logging

Send every alert to your own API and log it to a database. Build your own incident history, generate monthly reports, or feed the data into an internal dashboard. Useful if you need audit trails or SLA compliance records.

Automated responses

Trigger automated actions when a site goes down. Restart a service, spin up a failover, clear a cache, or roll back a deployment. The webhook is just the trigger — your automation layer handles the rest.

Webhooks vs. Other Notification Methods

WebhooksTelegramEmail
Setup time5 minutes2 minutes1 minute
Best forTeam workflows, integrations, automationPersonal mobile alertsLow-urgency awareness
FlexibilityRoute to any HTTP endpointTelegram onlyInbox only
Machine-readableYes (JSON)NoNo
Custom automationYesNoNo

Most teams use a combination. Telegram for personal phone alerts when you're on call. Webhooks for the team channel and automated workflows. They complement each other.

Tips for Reliable Webhook Alerting

Test before you need it. Don't wait for a real outage to find out your webhook URL has a typo. Most monitoring tools let you send a test notification — use it.

Monitor your monitoring. If your webhook endpoint is down when your site goes down, you won't get the alert. Route critical alerts to at least two channels — a webhook and Telegram, for example.

Keep payloads small. If you're building a custom endpoint, process the webhook data asynchronously. Accept the request, return 200 immediately, then handle the logic in the background. Slow responses can cause timeout issues.

Use meaningful channel names. When you have five webhook channels named "Webhook 1" through "Webhook 5," debugging which one stopped working is painful. Name them by destination: "Slack Ops," "PagerDuty Prod," "Custom Logger."

Get Started

Webhooks turn your uptime monitor from a passive checker into an active part of your incident response workflow. Set one up in Monitoristic — it takes five minutes, and every plan includes unlimited webhook channels.

If you're looking for something simpler, start with Telegram alerts. You can always add webhooks later as your workflow grows.

Frequently Asked Questions

What is a webhook in uptime monitoring? +
A webhook is an HTTP request that your monitoring tool sends to a URL you specify whenever an event occurs — like a site going down or coming back up. It lets you connect your alerts to any service that can receive HTTP requests, from Slack to your own custom backend.
What's the difference between webhook alerts and Telegram alerts? +
Telegram alerts are sent directly to your Telegram chat — simple to set up, great for personal notifications. Webhooks are more flexible: they send structured JSON data to any endpoint, so you can route alerts to Slack, Discord, PagerDuty, a database, or trigger custom automation. Use Telegram for quick personal alerts and webhooks for team workflows or integrations.
Can I send webhook alerts to Slack or Discord? +
Yes. Both Slack and Discord support incoming webhooks natively. You create a webhook URL in your Slack channel or Discord server settings, then paste that URL into your monitoring tool's webhook configuration. Downtime alerts will appear as messages in your channel.
Do I need to build my own server to receive webhooks? +
Not necessarily. If you're routing to Slack, Discord, or similar services, they handle receiving the webhook for you. You only need your own endpoint if you want custom processing — like logging incidents to a database, triggering a deployment rollback, or sending alerts through a custom notification system.

Start monitoring your sites today

Know when your site goes down — before your customers do. Plans start at $5/month.

Start Monitoring →