> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devhelm.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft Teams

> Send DevHelm incident alerts to Microsoft Teams channels using webhook connectors

Connect DevHelm to Microsoft Teams to receive incident notifications in your channels.

## Setup

<Steps>
  <Step title="Create a Teams webhook">
    1. In Microsoft Teams, go to the channel where you want alerts
    2. Click **...** → **Connectors** (or **Workflows** in newer versions)
    3. Set up an **Incoming Webhook** connector
    4. Name it (e.g., "DevHelm Alerts") and copy the webhook URL
  </Step>

  <Step title="Create the alert channel in DevHelm">
    <CodeGroup>
      ```bash CLI theme={null}
      devhelm alert-channels create \
        --name "Teams Alerts" \
        --type teams \
        --webhook-url "https://your-org.webhook.office.com/..."
      ```

      ```yaml devhelm.yml theme={null}
      alertChannels:
        - name: Teams Alerts
          config:
            channelType: teams
            webhookUrl: ${TEAMS_WEBHOOK_URL}
      ```
    </CodeGroup>
  </Step>

  <Step title="Test the channel">
    ```bash theme={null}
    devhelm alert-channels test <channel-id>
    ```
  </Step>
</Steps>

## Configuration

| Field        | Description                          | Required |
| ------------ | ------------------------------------ | -------- |
| `webhookUrl` | Microsoft Teams incoming webhook URL | Yes      |

<Note>
  The webhook URL must contain `.office.com/` or `.logic.azure.com/`. Power Automate webhook URLs are supported.
</Note>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Webhook URL rejected">
    DevHelm validates that the URL contains `.office.com/` or `.logic.azure.com/`. Legacy webhook URLs from other domains are not supported.
  </Accordion>

  <Accordion title="Microsoft retiring Office 365 connectors">
    Microsoft is transitioning from Office 365 Connectors to Power Automate Workflows. If your connector URL stops working, create a new webhook using Power Automate → "When a Teams webhook request is received" trigger.
  </Accordion>
</AccordionGroup>
