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
- Open the Workflows app in Microsoft Teams.
- Search for the Send webhook alerts to a channel template.
- Select the template.
- If Teams requests authentication, authenticate your Microsoft account.
- Select the target Team and Channel.
- Click Save to create the workflow.
- 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.

Create a Notification Channel
- Navigate to
Settings > Notification Channelsand click + New Alert Channel. - Enter a channel Name.
- Select Microsoft Teams as the Type.
- Paste the Workflow webhook URL into Webhook URL.
- Leave Title and Description empty. SigNoz then sends the default alert message.
- If you want a custom message, enter your own Title and Description templates.
- 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.

Validate
- Click Test on the notification channel form. SigNoz sends a test alert to the Workflow webhook.
- Open the target channel in Microsoft Teams. Make sure that a test alert appears.
- Return to SigNoz.
- 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:
- Create a Workflow webhook for the same Microsoft Teams channel.
- Navigate to
Settings > Notification Channelsin SigNoz. - Click Edit for the Microsoft Teams notification channel.
- Replace the old Webhook URL with the Workflow webhook URL.
- Click Test. Make sure that the test alert appears in Microsoft Teams.
- 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.

Turn Off Resolved Alerts
The Send resolved alerts toggle is on by default. To stop resolved notifications:
- Navigate to
Settings > Notification Channels. - Click Edit for the Microsoft Teams notification channel.
- Toggle off Send resolved alerts.
- Click Save.

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:
| Field | Type | Description |
|---|---|---|
name | string | The unique name of the notification channel. Required. |
msteamsv2_configs | array | A list of Microsoft Teams Workflow configurations. |
msteamsv2_configs[].send_resolved | boolean | Sends a notification when an alert resolves. |
msteamsv2_configs[].webhook_url | string | The Microsoft Teams Workflow webhook URL. Required. |
msteamsv2_configs[].title | string | The message title template. You can use Go templates. |
msteamsv2_configs[].text | string | The 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
- Create an alert rule and route it to this channel: Manage Alerts
- Configure another notification channel: Notification Channels
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.