Skip to content
microsoft-teams alerts downtime notifications webhooks

Microsoft Teams Alerts for Website Downtime: Setup Guide

Webalert Team
March 6, 2026
9 min read

Microsoft Teams Alerts for Website Downtime: Setup Guide

Your team coordinates in Microsoft Teams. Stand-ups, deployments, incident discussions — it all happens there. So when your website goes down, the alert should land in Teams too, not in an inbox that nobody watches between 6 PM and 9 AM.

This guide shows you how to set up Microsoft Teams downtime alerts in minutes. You'll get a rich, formatted notification in your Teams channel within minutes of an outage — without writing any code.


Why Teams for Downtime Alerts

Meet your team where they already are

The best alert is one that reaches the right person immediately. If your team lives in Microsoft Teams — and most enterprise and mid-market teams do — routing monitoring alerts there eliminates the "I didn't see the email" problem.

Teams delivers push notifications to desktop and mobile. A critical alert at 2 AM doesn't wait for a morning email check. It pings the channel and (with the right @mention) wakes up whoever is on-call.

Rich card formatting

Teams supports Adaptive Cards and webhook message cards — structured alert formats with titles, descriptions, status fields, color-coded borders, and action buttons. Your downtime alert can include everything your team needs to respond: which service failed, what the error is, when it happened, and a direct link to investigate.

Free at scale

Unlike SMS (per-message cost) or phone calls (per-minute cost), Teams notifications are included in your Microsoft 365 subscription. Alert on every state change — down, degraded, recovering, resolved — without accumulating a per-notification bill.


How Teams Webhooks Work

Microsoft Teams supports incoming webhooks: URLs that accept HTTP POST requests and render them as messages in a channel. You create a webhook connector in Teams, get a URL, then give it to your monitoring tool. When a check fails, the monitoring tool POSTs to the webhook, and Teams displays the formatted message.

No bot app to deploy. No Azure registration required. Just a URL.


Option 1: Using Webalert (Recommended)

Webalert has built-in Microsoft Teams integration — paste a webhook URL and you're done.

Step 1: Create a Teams webhook

  1. Open Microsoft Teams and navigate to the channel where you want alerts (e.g., #monitoring or #alerts)
  2. Click the ... (More options) next to the channel name → Connectors
  3. Search for "Incoming Webhook" and click Configure
  4. Give the webhook a name (e.g., "Webalert") and optionally upload an icon
  5. Click Create
  6. Copy the webhook URL — it looks like: https://yourorg.webhook.office.com/webhookb2/...
  7. Click Done

Note: In newer Teams versions, Connectors may be under SettingsAppsIncoming Webhook depending on your Teams version and organization settings.

Step 2: Add the webhook to Webalert

  1. Log in to your Webalert dashboard
  2. Go to SettingsNotification Channels
  3. Click Add Channel → select Microsoft Teams
  4. Paste your webhook URL
  5. Send a test notification to confirm the message appears in your channel
  6. Save

Step 3: Assign the channel to your monitors

  1. Go to any monitor's settings
  2. Under Notification Channels, enable your Teams channel
  3. Save

That's it. When a monitor fails, Webalert sends a formatted card to your Teams channel with all the alert details.

What Webalert Teams alerts look like

Webalert sends Adaptive Cards with:

  • Alert status — Down, degraded, or recovered (color-coded: red for down, green for recovered)
  • Monitor name — Which service is affected
  • Error details — HTTP status code, response time, or error message
  • Timestamp — When the failure was detected
  • Region — Which check location detected the failure
  • Direct link — Click through to the monitor's history and details

Recovery notifications are sent automatically when the service comes back up.


Option 2: Custom Webhook Setup

If you're using a different monitoring tool or building custom alerting, here's how to POST to Teams webhooks directly.

Teams webhook message format

Teams webhooks accept JSON payloads. The simplest format:

{
  "@type": "MessageCard",
  "@context": "http://schema.org/extensions",
  "themeColor": "FF0000",
  "summary": "Website Down Alert",
  "sections": [
    {
      "activityTitle": "🔴 yoursite.com is DOWN",
      "activitySubtitle": "HTTP 503 — Service Unavailable",
      "facts": [
        { "name": "Status", "value": "DOWN" },
        { "name": "Response Code", "value": "503" },
        { "name": "Detected At", "value": "2026-03-06 14:32 UTC" },
        { "name": "Check Region", "value": "US East" }
      ],
      "markdown": true
    }
  ],
  "potentialAction": [
    {
      "@type": "OpenUri",
      "name": "View Monitor",
      "targets": [
        { "os": "default", "uri": "https://app.web-alert.io/monitors/123" }
      ]
    }
  ]
}

For a recovery notification, change themeColor to "00FF00" and update the title to "✅ yoursite.com is UP".

Sending from the command line

curl -H "Content-Type: application/json" \
  -X POST \
  -d '{"@type":"MessageCard","@context":"http://schema.org/extensions","themeColor":"FF0000","summary":"Site Down","sections":[{"activityTitle":"🔴 yoursite.com is DOWN"}]}' \
  https://yourorg.webhook.office.com/webhookb2/YOUR_WEBHOOK_URL

Adaptive Cards (newer format)

Microsoft recommends Adaptive Cards for richer formatting in newer Teams versions:

{
  "type": "message",
  "attachments": [
    {
      "contentType": "application/vnd.microsoft.card.adaptive",
      "content": {
        "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
        "type": "AdaptiveCard",
        "version": "1.4",
        "body": [
          {
            "type": "TextBlock",
            "text": "🔴 Website Down Alert",
            "weight": "Bolder",
            "size": "Medium",
            "color": "Attention"
          },
          {
            "type": "FactSet",
            "facts": [
              { "title": "Monitor", "value": "yoursite.com" },
              { "title": "Status", "value": "DOWN (HTTP 503)" },
              { "title": "Detected", "value": "2026-03-06 14:32 UTC" }
            ]
          }
        ],
        "actions": [
          {
            "type": "Action.OpenUrl",
            "title": "View Monitor",
            "url": "https://app.web-alert.io/monitors/123"
          }
        ]
      }
    }
  ]
}

Best Practices for Teams Monitoring Alerts

Use a dedicated channel

Keep monitoring alerts out of general-purpose channels. Create #monitoring or #alerts. This keeps alerts visible to everyone who cares without disrupting unrelated conversations, and lets non-engineering staff mute it without losing important messages.

Use @mentions for critical alerts

For P1 alerts (complete outage), mention the on-call engineer or a role:

{
  "text": "<at>On-Call Engineer</at> 🔴 **CRITICAL** — yoursite.com is DOWN"
}

For lower-severity alerts (degraded performance, certificate expiring in 30 days), send without mentions — visible in the channel but not disruptive.

Always send recovery notifications

An unresolved alert creates uncertainty. Did someone fix it? Is it still down? A recovery message closes the loop and confirms the incident is over. Configure your monitoring tool to send recovery notifications automatically.

Require consecutive failures before alerting

A single check failure can be a transient network blip, not a real outage. Configure your monitoring to require 2 or 3 consecutive failures before triggering the Teams alert. This eliminates most false positives while still alerting within 2-3 minutes of a genuine outage.

Layer Teams with SMS for critical alerts

Teams is great for team-wide awareness. But Teams notifications can be missed if the app is minimized, the phone is on Do Not Disturb, or the team member is away from their device. For P1 outages, combine Teams (team awareness) with SMS or phone call (guaranteed reach) to whoever is on-call.


Teams vs. Slack vs. Email vs. SMS

Channel Speed Cost Push notification Rich formatting Best for
Microsoft Teams Instant Included in M365 Yes (desktop + mobile) Yes (cards) Enterprise and mid-market teams
Slack Instant Free tier limited Yes Yes (blocks) Startups, tech teams
Email 1-5 min Free Depends on client Limited Non-urgent alerts, audit trail
SMS Instant $0.01-0.05/msg Yes No (text only) Critical alerts, on-call
Phone call Instant $0.05-0.15/call N/A No P1 emergencies only

If your organization is standardized on Microsoft 365 and Teams, it's the natural choice for team monitoring alerts. Pair it with SMS for on-call coverage.


Setting Up an On-Call Alerting Strategy with Teams

Teams works best as your team awareness layer. Here's a practical multi-tier strategy:

For all alerts (any severity): Send to the Teams #monitoring channel. Everyone on the team can see the state of production at a glance.

For P1 alerts (service completely down): Teams channel + SMS to on-call engineer. Use Webalert's on-call scheduling to automatically route to the right person based on rotation.

For P2 alerts (degraded, high latency): Teams channel only. Needs attention during business hours but doesn't warrant waking someone up.

For resolved events: Teams channel only. Confirms the incident is over without sending unnecessary SMS.


How Webalert Makes Teams Alerts Easy

Webalert treats Microsoft Teams as a first-class notification channel:

  • One-click setup — Paste your Teams webhook URL, send a test, done in under 2 minutes
  • Rich card formatting — Formatted alert cards with all relevant context, not just raw text
  • Recovery notifications — Automatic "back up" messages when services recover
  • Per-monitor channels — Route critical monitors to #alerts, non-critical to #monitoring
  • Layered alerting — Combine Teams with email, SMS, Discord, Slack, and webhooks
  • On-call scheduling — Define rotations so the right engineer gets paged even when teams are distributed across time zones
  • Status pages — Keep customers informed while your team coordinates in Teams

Set up your first Teams downtime alert in under 5 minutes.

See features and pricing for the full details.


Quick Setup Checklist

  1. Create a dedicated #monitoring or #alerts channel in Teams
  2. Add an Incoming Webhook connector to the channel
  3. Copy the webhook URL
  4. Add the webhook URL to your monitoring tool (Webalert or custom)
  5. Send a test alert and verify it appears in the channel
  6. Assign the Teams channel to your critical monitors
  7. (Optional) Configure @mentions for P1 alerts
  8. (Optional) Add SMS as a backup channel for on-call

Five minutes of setup. No more finding out about outages from users.


Get downtime alerts where your team already works

Set up Teams alerts free with Webalert →

See features and pricing. No credit card required.

Written by

Webalert Team

The Webalert team is dedicated to helping businesses keep their websites online and their users happy with reliable monitoring solutions.

Ready to Monitor Your Website?

Start monitoring for free with 3 monitors, 10-minute checks, and instant alerts.

Get Started Free