---
title: Microsoft Teams
description: Deliver WatchFor alerts to a Teams channel through a Workflows webhook — Adaptive Cards with full incident context.
canonical: https://watchfor.io/docs/notifications/teams
---

# Microsoft Teams

Deliver WatchFor alerts to a Teams channel through a Workflows webhook — Adaptive Cards with full incident context.

Teams delivery uses the **Workflows** app (Power Automate) built into Teams:
you create a workflow that posts to a channel whenever a webhook request
arrives, and give WatchFor its URL. Alerts arrive as Adaptive Cards.

## Setup

### Create the workflow in Teams
In Teams, open the channel that should receive alerts → click **⋯** next to
its name → **Workflows** → choose the template **"Post to a channel when a
webhook request is received"** → **Add workflow**. Copy the URL Teams shows
at the end (it looks like
`https://prod-xx.westeurope.logic.azure.com/workflows/…`).

### Add the channel in WatchFor
Go to **Alerting → Channels & contacts → Add Channel → Microsoft Teams**, paste the URL
as the **Workflow Webhook URL**, attach the
[contact groups](/docs/notifications/contact-groups) it should serve and save.

### Send a test
**⋯ → Send test** posts a `[TEST]` card to the channel.

> **Legacy Office 365 connectors**
>
> URLs from the retired *Incoming Webhook* Office 365 connector are accepted
> too and keep working for as long as Microsoft honors them. New setups should
> use Workflows.

## What alerts look like

Each incident is an Adaptive Card headed `🔴 DOWN: API (prod)` (or
`🟡 Degraded`, `🟢 UP`, `⏹️ Resolved`) with the diagnosis, **Expected** vs
**Detected** values, target, severity, start time, confirming locations and a
button to the incident. Several incidents within the
[grouping window](/docs/notifications#grouping-during-a-storm) arrive as one
summary card with a linked line per monitor.

## Troubleshooting

- **Test fails with a 4xx** — the workflow was deleted, disabled, or its
  owner left the organization (Workflows run under the creator's account).
  Recreate it and update the URL.
- **Card arrives but looks empty** — the workflow template must be the
  *webhook request* one; templates expecting a plain text body drop the card.

---

Canonical page: https://watchfor.io/docs/notifications/teams · All docs: https://watchfor.io/docs · Site guide: https://watchfor.io/llms.txt
