Start free
In this section

How-to guides

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.opened and alert.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.fired and alert.resolved, it can carry report.received and export.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