Microsoft Teams

The Integrator posts each alert to a Teams channel as an Adaptive Card, with an HTTP POST to a webhook URL. In Teams, that URL is created with the Workflows app.

Step 1: create the webhook workflow

You need to be a member of the team, and your organisation must allow the Workflows app.

  1. In Teams, open the channel, click ⋯ (More options) next to its name and choose Workflows. (You can also open the Workflows app and search its templates.)
  2. Choose the template Send webhook alerts to a channel.
  3. Name the workflow, for example Mugnsoft alerts, and sign in to the connections it asks for, then Next.
  4. Check the Team and Channel, and click Add workflow (or Save).
  5. Copy the webhook URL shown at the end (it can also be found later in the workflow’s details, under the trigger When a Teams webhook request is received).

Official guide: Create incoming webhooks with Workflows for Microsoft Teams.

The URL carries a signature (sig=…): anyone who has it can post in the channel. Treat it as a secret. Mugnsoft stores it encrypted. Cards are posted under the Workflows (Flow bot) identity; a custom name or icon is not possible. The workflow belongs to the person who created it: if that account is disabled, the workflow stops. A shared service account avoids that.

Step 2: configure Mugnsoft

Default for every monitor of an Integrator — Integrator → General → Notifications → Teams: switch On fail and/or On change on, and paste the URL in Default webhook.

Per monitor — monitor → Actions → Teams card: switch the trigger(s) on. Leave Webhook empty to use the Integrator’s default, or paste another workflow’s URL to post this monitor to another channel.

Save both forms with the disk icon.

What is posted

An Adaptive Card (version 1.4, full width) with:

  • a header in the status colour (green OK, yellow MINOR/MAJOR/TIMEOUT, red otherwise) carrying the headline;
  • the facts (monitor, type, status and duration, target, probe, check time) and the probe’s message;
  • a Locate in 3D view button.

Test it

From Mugnsoft — in the Integrator’s Notifications block, click ⚡ on the Teams card. The Integrator posts a [TEST] Mugnsoft notification test card to the webhook shown in the field (or its saved default) and reports the HTTP error, if any.

By hand — post a card with the same shape the Integrator sends, from the Integrator’s host:


curl -s -X POST "https://...your-workflow-url..." \
  -H "Content-Type: application/json" \
  -d '{"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":"Mugnsoft test card","weight":"Bolder"}]}}]}'

The workflow answers 202 Accepted and the card appears in the channel within a few seconds (a run is listed in the workflow’s Run history). Quote the URL: it contains & characters.

Then run the end-to-end test.

Troubleshooting

The Integrator logs the HTTP status and the start of the answer: teams webhook returned HTTP <code>: ….

Symptom Cause and action
HTTP 401 / 403 The workflow requires authentication (wrong template), or the URL lost part of its query string (sig=). Recreate it with Send webhook alerts to a channel and copy the whole URL.
Any error on a webhook.office.com URL An old Office 365 connector URL: connectors no longer work since May 2026. Create a Workflows webhook.
202 but no card in the channel Open the workflow’s Run history: the run shows the failing step. Usual causes: the workflow owner lost access to the team, the channel was deleted, or the workflow was turned off.
Cards arrive late Workflows runs asynchronously; a delay of a few seconds to a minute is normal.
Too many cards An ON FAIL rule for 0 checks posts at every check. Use for N checks or ON CHANGE.

More in Troubleshooting.

Translations