# Microsoft Teams (/en/docs/platform/features/alerting/channels/teams)



A Microsoft Teams channel type posts each alert as a message in one Teams channel, through a [Workflows (Power Automate) webhook](https://support.microsoft.com/en-us/office/create-incoming-webhooks-with-workflows-for-microsoft-teams-8ae491c7-0394-4861-ba59-055e33f75498). Create the workflow in Teams, paste its URL into CentralCSP, send a test.

<Callout type="warn" title="Legacy Office 365 connectors are not supported">
  Microsoft retired Office 365 connector webhooks. A `webhook.office.com` URL is rejected here by design; only Power Automate workflow URLs are accepted, hosted under `logic.azure.com` or `api.powerplatform.com`. If your team still has an old connector URL, replace it with a workflow using the steps below.
</Callout>

## Prerequisites [#prerequisites]

* The website **Manager** role in CentralCSP.
* A Microsoft 365 account that can add workflows to the target team. The webhook templates do not require a Power Automate premium license.

## 1. Create the workflow webhook in Teams [#1-create-the-workflow-webhook-in-teams]

1. In Teams, open the channel that should receive alerts, select **More options** (the three dots next to the channel name), then **Workflows**.
2. Choose the template **Post to a channel when a webhook request is received** (also listed as **Send webhook alerts to a channel**).
3. Sign in if prompted, confirm the team and channel, and add the workflow.
4. Copy the webhook URL shown once the workflow is created. It is hosted under `logic.azure.com` or `api.powerplatform.com`.

You can also build the same flow from [Power Automate](https://make.powerautomate.com) with the trigger **When a Teams webhook request is received**. Microsoft's guide is at [Create incoming webhooks with Workflows for Microsoft Teams](https://support.microsoft.com/en-us/office/create-incoming-webhooks-with-workflows-for-microsoft-teams-8ae491c7-0394-4861-ba59-055e33f75498).

Two behaviours worth knowing. Messages are posted by the **Workflows** bot, not by a name you choose. And the workflow is owned by the account that created it; if that account is disabled or leaves the organization, the flow stops, so consider creating it with a service account.

## 2. Add the channel in CentralCSP [#2-add-the-channel-in-centralcsp]

1. In the dashboard, go to **Alerts** > **Configuration** > **Add channel**.
2. Name the channel, choose the **Microsoft Teams** type, and paste the workflow URL.
3. Save.

The URL is validated as you type: the host must be under `logic.azure.com` (including the `.us` and `.cn` sovereign clouds) or `api.powerplatform.com`. A retired `webhook.office.com` connector URL is rejected before you save.

## 3. Test the channel [#3-test-the-channel]

Select **Test** on the new channel. A sample alert built from a fake CSP violation is sent immediately.

If the message does not arrive, open the workflow's run history in Teams (**Workflows** > your flow) or in Power Automate. A run that appears there but posts nothing means the flow's action failed; no run at all means the URL is wrong or the flow is turned off.

## Next steps [#next-steps]

* [Create a rule](/en/docs/platform/features/alerting/rules) that delivers to this channel.
* [Channels overview](/en/docs/platform/features/alerting/channels) for auto-disable behaviour and limits.
* [Delivery history](/en/docs/platform/features/alerting/deliveries) to audit what was sent.
