Send alerts to Slack, Microsoft Teams, Discord, Google Chat, Mattermost, Telegram or PagerDuty
From Teams up
From Teams up, an admin can send the organization's alerts to a shared channel as well as by email. Go to Settings → Notifications. Under Shared channels, pick the service in Kind and type a name for the channel in Name. Paste what the service gave you, as the section for it below says, and press Add channel. Then press Send test beside the channel to check it.
Slack, Microsoft Teams, Discord, Google Chat, Mattermost, Telegram and Webhook, an HTTPS address of your own, come with Teams. PagerDuty comes with Enterprise. Only admins see and change shared channels. Alert emails to members carry on as before.
Slack
In Slack, add an incoming webhook for the channel and copy its URL. Paste it in Webhook URL. It starts with https://hooks.slack.com/services/.
Microsoft Teams
Microsoft Teams takes a Workflows webhook. In Microsoft Teams, open More options (…) beside the channel and choose Workflows. Pick the template Send webhook alerts to a channel, save it, and copy the webhook link. Paste it in Webhook URL.
The link's host ends in logic.azure.com or api.powerplatform.com. Microsoft is retiring the older connectors, and we refuse their addresses on webhook.office.com.
Discord
In the Discord channel's settings, under Integrations, create a webhook and copy its URL. Paste it in Webhook URL. It starts with https://discord.com/api/webhooks/.
Google Chat
In the space, open Apps and integrations, choose Webhooks, add one and copy its URL. Paste the whole URL in Webhook URL. It is on chat.googleapis.com and ends with a key and a token, and we need both.
Mattermost
In Mattermost, open Integrations, choose Incoming Webhooks, add one for a channel and copy its URL. Paste it in Webhook URL. Mattermost can run on any server, so we accept any HTTPS address with a public host name. We refuse an address that is a bare IP address, or whose name leads to a private network.
Telegram
Telegram takes a bot token and a chat number instead of a URL. Make a bot with BotFather and paste its token in Telegram bot token. Add the bot to the chat, group or channel, and enter the chat's number in Telegram chat ID. The number may start with a minus sign.
PagerDuty
On a PagerDuty service, add an Events API v2 integration and paste its integration key in PagerDuty routing key. Paste the key, not a URL.
Each alert opens an incident. When the alert clears, we resolve the incident, even if the channel was turned off in between.
Your own HTTPS address
Pick Webhook to have each alert posted as JSON to an HTTPS address of yours. The same rules as for Mattermost apply to the address.
Right after you add the channel, the page shows its signing secret once. Copy it then. Each post is signed the Standard Webhooks way with that secret, and the channel's Delivery log page shows how to check the signature. The New secret button makes a new secret and shows it once. The old secret stops working at once.
Every alert, or the ones you choose
Send every alert here is ticked when you add a channel. It adds the channel to every alert rule of the domains you have now. A domain you add later does not get it. For that domain, choose the channel in each rule on its Alerts page.
Clear the box to choose rule by rule from the start. Turn alerts on or off shows where.
Test the channel
A new channel shows Not tested until a test gets through. Press Send test: we post a sample alert marked as a test, and the page says whether it was delivered. A PagerDuty test opens an incident and resolves it at once. A channel that is off cannot be tested.
When messages arrive
Chat channels get alerts in batches. We wait 10 minutes after the first alert, so alerts that fire close together arrive as one message. PagerDuty and your own HTTPS address get each alert on its own, without that wait. Channels do not follow the pace of alert emails.
Messages are in the organization's default language, which an admin sets on Settings → Organization. Times in them are in UTC.
When posts fail
If a post fails, we try again after a wait that grows each time (1 minute → 5 minutes → 30 minutes → 120 minutes), up to 5 tries in all. An answer that refuses the post for good, such as 404 when the webhook was deleted, stops the tries at once.
The channel shows the error under its name and stays on. The next post that gets through clears the error.
The channel's Delivery log page lists the last 50 messages we posted to it, newest first, each with its result and any error. We keep each message's entry for 90 days.
Turn off or delete a channel
The Turn off button stops posting and keeps the channel. Turn on starts it again. Delete channel removes the channel with its delivery log.
If the organization moves to a plan without the channel's service, the channel shows Paused by the plan and gets nothing. We keep it, and it works again on a plan that includes the service. You can still turn it off or delete it.
A summary in a chat channel
From Teams up, a chat channel can also get the organization's summary. Get a summary by email says how.
The webhook channel or an API webhook
There are two kinds of webhook. Pick by what the program should hear about.
- The Webhook channel on this page carries alerts only, and only from the rules that send to it. Its events are
alert.openedandalert.resolved, with the alert's text in the organization's language. Use it when a program should get alerts the way a chat channel does. - An API webhook covers every domain. An admin adds one on Settings → Developer → Webhooks, from Teams up. Besides
alert.firedandalert.resolved, it can carryreport.receivedandexport.ready. After a new secret, the old one keeps signing for 24 hours. Use it when a program keeps its own copy of your data or acts on new reports. The API pages describe it.
Published 27 October 2026 · Checked 27 October 2026