Microsoft Teams Alerts Beta
Send FlareWarden alerts to a Microsoft Teams channel as Adaptive Cards. Create a workflow in Teams, pick Microsoft Teams as the destination in FlareWarden, paste the workflow's URL, and alerts start arriving.
What You Get
Readable alert cards, not raw payloads
Incident, SSL, DNS, and anomaly alerts arrive in your channel as Adaptive Cards: a coloured headline with a status emoji, the facts that matter (URL, cause, where the failure was verified from, how long it was down), a button straight to the monitor in FlareWarden, and when it happened in UTC. The card carries the same facts as the Slack message.
Teams shows the workflow as the sender, so cards come from Workflows (or the person who owns the workflow, depending on how it posts). FlareWarden can't set its own name or icon on them; the footer on every card says where it came from.
| Emoji | Means |
|---|---|
| 🔴 | Critical — monitor down, SSL expired, DNS failure |
| 🟡 ⚠️ 📈 🔀 🔏 | Warning — monitor degraded, SSL expiring soon, anomaly detected, DNS records changed, an unexpected certificate issued |
| 🟢 ✅ | Recovered — monitor back up, DNS recovered, anomaly resolved |
| 🔄 🧪 | Informational — SSL certificate changed, test messages |
Before You Start
What Teams needs for a webhook workflow
- A Microsoft 365 work or school account that can use Workflows in Teams. Workflows run on Power Automate, and your organization's admin can turn them off or limit them with a data policy.
- Standard and shared channels work. A private channel works once Microsoft's private-channel support for Workflows has reached your organization.
- A workflow, not an old incoming webhook. Microsoft retired Office 365 connectors in May 2026, so a URL from one no longer works and FlareWarden refuses it.
Setup
About three minutes, start to finish
Open Workflows on the channel
In Teams, go to the channel that should receive alerts, click More options (⋯) next to its name, then Workflows
Pick the webhook template
Choose Send webhook alerts to a channel, not the versions for specific people or people in an org, which need a sign-in FlareWarden can't give
Name it and choose where it posts
Call it FlareWarden, pick the team and channel, then click Save
Copy the workflow's URL
Teams shows the URL once the workflow is saved. Copy all of it
Add a Microsoft Teams destination in FlareWarden
In FlareWarden, go to Integrations, click Add Webhook, and choose Microsoft Teams
Paste the URL and connect
Give it a name and paste the URL, then pick which alerts and monitors it covers and click Connect
Send a test
Click Send a test message. Teams answers as soon as the workflow starts and posts the card a moment later; FlareWarden tells you if Teams refused the URL
Workflow URL Format
What a valid Teams workflow URL looks like
https://xxxxxxxx.xx.environment.api.powerplatform.com:443/powerautomate/automations/direct/workflows/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/triggers/manual/paths/invoke?api-version=1&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- Copy the whole URL, including the
sig=part at the end. It is what lets FlareWarden post without signing in, so the workflow's trigger must let Anyone run it. - An Azure Logic Apps URL works too, if your Logic App
posts the card it receives to Teams. Its address
starts with
https://prod-NN.region.logic.azure.com/workflows/. - A workflow URL saved as a custom webhook gets FlareWarden's signed JSON, which the Teams template can't post. Choose Microsoft Teams as the destination so alerts arrive as cards.
- Treat the URL like a password: anyone who has it can post into your channel.
Which Events Fire
Every alert type FlareWarden sends to Microsoft Teams
Incidents
incident.started
- Monitor went down or degraded
incident.recovered
- Monitor came back up, with downtime duration
SSL Certificates
ssl.expiring -
Certificate expiring soon
ssl.expired -
Certificate has expired
ssl.changed -
Certificate was replaced
ssl.issued -
Certificate Transparency logs list a certificate
for your domain from an issuer you don't expect
DNS
dns.failed - DNS
resolution failed
dns.recovered
- DNS resolution is back
dns.changed
- Your site's DNS records, or a record you watch,
changed their values
Anomalies
anomaly.detected
- Response time drifted from the learned baseline
anomaly.resolved
- Response time returned to normal
Testing
test - Sent
when you click Send test
Monitor, maintenance and cron lifecycle events go to custom webhooks only.
Troubleshooting
The things that come up
The test was sent but no card appeared
Teams answers 202 Accepted as soon as the workflow starts, before the card is posted, so a step that fails afterwards never reaches FlareWarden. Open the Workflows app in Teams, select the workflow, and check its run history for the failed step.
Teams returned HTTP 401 or 403
The workflow's trigger only lets people in your organization run it. Edit the workflow, set who can trigger it to Anyone, save, and paste the new URL into FlareWarden.
Teams returned HTTP 404
The workflow was deleted, or the URL is an old Power Automate one on logic.azure.com. Microsoft moved Power Automate trigger URLs to environment.api.powerplatform.com, and the old ones stopped working on November 30, 2025. Copy the current URL from the workflow's trigger and update the destination.
"This is a retired Office 365 connector URL"
Office 365 connectors stopped working when Microsoft retired them in May 2026. Their addresses end in webhook.office.com. Create a workflow as in the steps above and paste its URL instead.
Workflows is missing or the workflow is turned off
Your organization may block Workflows or the connectors it uses with a data policy, and a workflow whose owner left can be turned off. A Microsoft 365 admin can allow it, add a co-owner, or turn it back on. While it is off, deliveries fail and the destination's delivery history in FlareWarden shows Teams' answer.
Message size
Teams caps a message at 28 KB. FlareWarden shortens long values (an error message, a long list of DNS records) so every card stays under it.
Team on Slack, Discord or Google Chat instead? See the Slack, Discord or Google Chat alerts guide. To send signed JSON to your own endpoint, use a custom webhook.