For the complete documentation index, see llms.txt. Markdown versions are available by appending .md to documentation URLs.

Microsoft Teams Alerts - Configure a Notification Channel

SigNoz Cloud - This page applies to SigNoz Cloud editions.
Self-Host - This page applies to self-hosted SigNoz editions.

Overview

A Microsoft Teams notification channel sends SigNoz alerts to a channel through a Workflow webhook. You can reuse this notification channel in multiple alert rules.

Prerequisites

Before you configure Microsoft Teams as a notification channel, you need:

  • Permission to create a workflow for the target Microsoft Teams channel.
  • SigNoz Self-Hosted v0.76.0 or later. SigNoz Cloud supports Workflow webhooks.

Create a Workflow Webhook

  1. Open the Workflows app in Microsoft Teams.
  2. Search for the Send webhook alerts to a channel template.
  3. Select the template.
  4. If Teams requests authentication, authenticate your Microsoft account.
  5. Select the target Team and Channel.
  6. Click Save to create the workflow.
  7. Copy the webhook URL from the workflow details page.

Microsoft gives more setup details in send messages in Teams using incoming webhooks.

Access Notification Channels

Navigate to Settings > Notification Channels in SigNoz. SigNoz lists configured notification channels on this page.

You can reach the same page from the Notification Channels tab on the Alerts page.

Notification Channels page in SigNoz with configured alert channels.
The Notification Channels page lists all configured channels.

Create a Notification Channel

  1. Navigate to Settings > Notification Channels and click + New Alert Channel.
  2. Enter a channel Name.
  3. Select Microsoft Teams as the Type.
  4. Paste the Workflow webhook URL into Webhook URL.
  5. Leave Title and Description empty. SigNoz then sends the default alert message.
  6. If you want a custom message, enter your own Title and Description templates.
  7. Keep Send resolved alerts on to receive a notification when an alert resolves.

The Title and Description fields support Go templates. Microsoft Teams renders the message as an Adaptive Card, which supports a small subset of Markdown: **bold**, _italic_, lists, and [label](url) links. Headers, tables, and images do not render.

Microsoft Teams notification channel form with a Power Automate Workflow webhook URL, and Title and Description templates.
A Microsoft Teams notification channel that uses a Workflow webhook URL and custom templates.

Validate

  1. Click Test on the notification channel form. SigNoz sends a test alert to the Workflow webhook.
  2. Open the target channel in Microsoft Teams. Make sure that a test alert appears.
  3. Return to SigNoz.
  4. Click Save.

If the test fails, see Troubleshooting.

Migrate From an Office 365 Connector

If an existing notification channel uses an Office 365 Connector URL, replace it with a Workflow webhook URL:

  1. Create a Workflow webhook for the same Microsoft Teams channel.
  2. Navigate to Settings > Notification Channels in SigNoz.
  3. Click Edit for the Microsoft Teams notification channel.
  4. Replace the old Webhook URL with the Workflow webhook URL.
  5. Click Test. Make sure that the test alert appears in Microsoft Teams.
  6. Click Save.

Receive Alerts in Microsoft Teams

Add the notification channel to an alert rule. SigNoz sends a message when the alert fires or resolves.

A SigNoz alert message in a Microsoft Teams channel.
A SigNoz alert in the configured Microsoft Teams channel.

Turn Off Resolved Alerts

The Send resolved alerts toggle is on by default. To stop resolved notifications:

  1. Navigate to Settings > Notification Channels.
  2. Click Edit for the Microsoft Teams notification channel.
  3. Toggle off Send resolved alerts.
  4. Click Save.
Send resolved alerts toggle in the notification channel form.
Turn off Send resolved alerts to stop resolved notifications.

Configure With the API

You can create a Microsoft Teams notification channel with the SigNoz API.

API endpoint: POST /api/v1/channels

Send a POST request with the following curl command:

curl '<your-signoz-url>/api/v1/channels' \
  -H 'SIGNOZ-API-KEY: <your-api-key>' \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "name": "Prod Critical Alerts - Microsoft Teams",
    "msteamsv2_configs": [
        {
            "send_resolved": true,
            "webhook_url": "<your-teams-workflow-webhook-url>",
            "title": "[{{ .Status | toUpper }}{{ if eq .Status \"firing\" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .CommonLabels.alertname }}{{ if .CommonLabels.job }} for {{ .CommonLabels.job }}{{ end }}\n {{- if gt (len .CommonLabels) (len .GroupLabels) -}}\n {{\" \"}}(\n {{- with .CommonLabels.Remove .GroupLabels.Names }}\n {{- range $index, $label := .SortedPairs -}}\n {{ if $index }}, {{ end }}\n {{- $label.Name }}=\"{{ $label.Value -}}\"\n {{- end }}\n {{- end -}}\n )\n {{- end }}",
            "text": "{{ range .Alerts -}}\n**Alert:** {{ .Labels.alertname }}{{ if .Labels.severity }} - {{ .Labels.severity }}{{ end }}\n\n{{ if .Annotations.summary -}}\n**Summary:** {{ .Annotations.summary }}\n\n{{ end -}}\n{{ if .Annotations.description -}}\n**Description:** {{ .Annotations.description }}\n\n{{ end -}}\n{{ if .Annotations.related_logs -}}\n**Related logs:** [View in logs explorer]({{ .Annotations.related_logs }})\n\n{{ end -}}\n{{ if .Annotations.related_traces -}}\n**Related traces:** [View in traces explorer]({{ .Annotations.related_traces }})\n\n{{ end -}}\n**Details:**\n\n{{ range .Labels.SortedPairs }}- **{{ .Name }}:** {{ .Value }}\r{{ end }}\n{{ end }}"
        }
    ]
}'

Verify these values:

  • <your-signoz-url>: Your SigNoz base URL.
  • <your-api-key>: An API key from Settings > Service Accounts. See Service Accounts.
  • <your-teams-workflow-webhook-url>: The URL that you copied from the Microsoft Teams workflow.

Request body attributes:

FieldTypeDescription
namestringThe unique name of the notification channel. Required.
msteamsv2_configsarrayA list of Microsoft Teams Workflow configurations.
msteamsv2_configs[].send_resolvedbooleanSends a notification when an alert resolves.
msteamsv2_configs[].webhook_urlstringThe Microsoft Teams Workflow webhook URL. Required.
msteamsv2_configs[].titlestringThe message title template. You can use Go templates.
msteamsv2_configs[].textstringThe message body template. You can use Go templates.

Troubleshooting

The test returns an error

  • Make sure that Webhook URL contains the complete URL from the workflow details page.
  • Make sure that you used a Workflow webhook URL. Office 365 Connector URLs no longer work.
  • Open the workflow in Microsoft Teams.
  • Make sure that Microsoft Teams marks the workflow as enabled.
  • If SigNoz cannot reach the URL, examine the network and proxy rules for outbound HTTPS requests.

The workflow does not post messages

  • Open the workflow run history.
  • Examine the failed run.
  • Make sure that the workflow still has a valid owner and connection.
  • If the workflow has no valid owner, ask a Power Platform administrator to assign one.

The test works, but alert notifications do not arrive

Make sure that the alert rule routes notifications to this Microsoft Teams channel. See Routing Policies.

If the problem continues, contact SigNoz Support at support@signoz.io.

Next Steps

Get Help

If you need help with the steps in this topic, please reach out to us on SigNoz Community Slack. If you are a SigNoz Cloud user, please use in product chat support located at the bottom right corner of your SigNoz instance or contact us at cloud-support@signoz.io.

Is this page helpful

Last updated—August 23, 2026

Edit on GitHub