Microsoft Teams
The Microsoft Teams notifications integration posts build and release events to a Teams channel. When a build completes on merge, a build fails, or a release is deployed, codev sends an Adaptive Card to the channel behind a Teams incoming webhook — with the repository, commit, release candidates, work items, and a button linking back to the run.
You configure it under Settings > Organization > Integrations > Microsoft Teams. Only organization owners can manage it.
What gets posted
codev sends a card for three events:
| Event | When it fires | Card |
|---|---|---|
| Build succeeded | A build completes after a merge | Commit, release candidates, work items, View build |
| Build failed | A build fails | The same fields, View failed build |
| Release deployed | A release finishes deploying | Release name, environment, domain, status, View release |
The Notify on setting controls which of these are delivered:
- All builds & releases — every event above.
- Failures only — only failed builds. Successful builds and successful deployments are skipped.


Create the incoming webhook in Microsoft Teams
Teams receives external webhooks through a channel Workflows automation. Creating one takes a minute and does not require admin rights on the team:
- In Microsoft Teams, open the channel the notifications should post to, click the channel's ⋯ (More options) menu and choose Workflows.
- Search the templates for webhook and pick Send webhook alerts to a channel.

- The team and channel are pre-selected from where you opened the dialog. Confirm them and click Save.

- On the created workflow's page, click Copy webhook link. This is the URL codev posts to (
https://….logic.azure.com/…orhttps://….powerplatform.com/…).

The webhook URL is a channel-posting credential — anyone holding it can post cards to that channel. codev stores it encrypted in the integrations credential store; it is never written into project configuration or returned by project reads.
Classic Office 365 connector webhooks (https://….webhook.office.com/…) also work, but Microsoft is retiring connectors in favor of Workflows. New setups should use the Workflows path above.
Configure the integration in codev
- Go to Settings > Organization > Integrations and open the Microsoft Teams tile.
- Paste the Webhook URL. It must be an
https://URL. - Leave Enable notifications on, and pick a Notify on mode — All builds & releases or Failures only.
- Under Availability, select Specific project and choose the project. Notification settings are per project, so a project must be selected.
- Click Add Integration.
Saving stores the webhook URL as an encrypted credential and writes the enable flag and mode to the selected project's configuration (notifications.teams).

Changing the mode later
The enable flag and mode live in the project's configuration under notifications.teams:
{
"notifications": {
"teams": {
"enabled": true,
"mode": "failures"
}
}
}Edit them from the project's Update Project dialog (the configuration editor), or re-add the integration with the new mode. Setting enabled to false stops deliveries without removing the stored webhook credential.
Troubleshooting
- No cards arrive — check that the project's configuration has
notifications.teams.enabled: trueand that the integration is scoped to that project. In Failures only mode, successful builds and deployments are skipped by design. - The workflow was deleted or turned off in Teams — the webhook URL stops accepting posts. Recreate the workflow, copy the new link, and re-add the integration; the old credential is replaced.
- The workflow's run history shows failures — open the workflow in Teams (channel ⋯ > Workflows) and check its Run history; a failed run means Teams received the post but could not deliver the card.