Skip to main content
Elementary Teams integration includes sending Teams alerts on failures in dbt tests and models. The alerts are sent using Microsoft Teams Adaptive Cards format, which provides rich formatting and interactive capabilities. MS Teams supports Elementary Alerts, but unlike Slack, it does not support the Elementary report or multiple channels.

Integration options

There are two ways to create a webhook for Microsoft Teams:
  1. Microsoft Teams Connectors (Legacy): The traditional way of creating webhooks, but this method is being deprecated by Microsoft.
  2. Power Automate Workflows (Recommended): The newer, more flexible way to create webhooks. Note that when using this method, Elementary CLI cannot directly verify if messages were delivered - you’ll need to monitor your workflow runs in Power Automate.
Microsoft 365 Connectors (previously called Office 365 Connectors) are nearing deprecation. We recommend using Power Automate Workflows for new integrations.

Teams integration setup

First create a Microsoft Teams team:

Create a new Team

Go to the Microsoft Teams desktop app and create a new team.Microsoft Teams teamCreate a team from from a template and use the From Scratch template.Microsoft Teams templateChoose Public as the kind of a team.Microsoft Teams public teamCall it Elementary (or whatever you prefer) and connect it to the workspace of your choice.Microsoft Teams Elementary team
Now it's time to set up a webhook. You have two options for creating a webhook:

Create a webhook using Connectors

Note: Microsoft 365 Connectors are set to be deprecated end of 2025. Consider using Power Automate Workflows (Option 2) for new integrations.Go to a channel in your Team and choose Manage channelTeams manage channelChoose Edit connectors.Teams edit connectorsSearch for Incoming webhook and choose Add.Teams add incoming webhookChoose Add again and add name your webhook ElementaryWebhook (or whatever you prefer). And Create the webhook.Teams create webhookCopy the URL of the webhook.Teams copy URL webhook

Create a webhook using Power Automate

You can create a webhook using Power Automate in two ways:
  1. Go to your Teams channel
  2. Click the three dots (...) next to the channel name
  3. Select Workflows
  4. Choose the template "Post to channel when a webhook request is received"
  5. Copy the webhook URL

Method 2: From Power Automate Website

  1. Go to Power Automate
  2. Create a new instant cloud flow
  3. Search for "When a HTTP request is received" as your trigger
  4. In the flow, add a "Post adaptive card in a chat or channel" action
  5. Configure the team and channel where you want to post
  6. Save the flow and copy the HTTP POST URL
Important Notes:
  • When using Power Automate Workflows, Elementary CLI cannot directly verify if messages were successfully delivered. You'll need to monitor your workflow runs in Power Automate to check for any delivery issues.
  • Workflows can't post in private channels as a flow bot, but can post on behalf of a user
  • Workflows can only be created in your default environment
Lastly, pass the webhook URL (from either method) to the CLI as a param or in the config.yml file:

Webhook:

Use the webhook URL when you execute edr monitor using the option -tw, --teams-webhook:
edr monitor --teams-webhook <your_teams_webhook_url>
The CLI reads the Teams integration from a file, copy it into a file called config.yml. Create it here: HOME_DIR/.edr/config.ymlHere is the format in the yml itself:

Webhook:

config.yml
teams:
  teams_webhook: <your_teams_webhook_url>
I