Before you startBefore you can start using the alerts, make sure to install the dbt package, configure a profile and install the CLI.
This is required for the alerts to work.Elementary sends alerts using Microsoft Teams Adaptive Cards format, which provides rich formatting and interactive capabilities. You can create a webhook URL using either Microsoft Teams Connectors (legacy, being deprecated) or Power Automate Workflows (recommended).
Create a new Team
Create a new Team
Create a new Team
Go to the Microsoft Teams desktop app and create a new team.
Create a team from from a template and use the From Scratch template.
Choose Public as the kind of a team.
Call it Elementary (or whatever you prefer) and connect it to the workspace of your choice.
Option 1: Create Teams Webhook using Connectors
Option 1: Create Teams Webhook using Connectors
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 chooseManage channel
Choose Edit connectors.
Search for Incoming webhook and choose Add.
Choose Add again and add name your webhook ElementaryWebhook (or whatever you prefer). And Create the webhook.
Copy the URL of the webhook.
Option 2: Create Teams Webhook using Power Automate (OSS)
Option 2: Create Teams Webhook using Power Automate (OSS)
Create a webhook using Power Automate
You can create a webhook using Power Automate in two ways:Method 1: Directly from Teams (Recommended)
- Go to your Teams channel
- Click the three dots (…) next to the channel name
- Select
Workflows - Choose the template “Post to channel when a webhook request is received”
- Copy the webhook URL
Method 2: From Power Automate Website
- Go to Power Automate
- Create a new instant cloud flow
- Search for “When a HTTP request is received” as your trigger
- In the flow, add a “Post adaptive card in a chat or channel” action
- Configure the team and channel where you want to post
- Save the flow and copy the HTTP POST URL
- 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
config.yml file:
Teams config as CLI params
Teams config as CLI params
Teams config as in config.yml
Teams config as in config.yml
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
Execute the CLI
Make sure to run the following command after your dbt runs and tests:edr monitor if you used config.yml.
Alert on source freshness failures
Not supported in dbt cloud To alert on source freshness, you will need to runedr run-operation upload-source-freshness right after each execution of dbt source freshness.
This operation will upload the results to a table, and the execution of edr monitor will send the actual alert.
- Note that
dbt source freshnessandupload-source-freshnessneeds to run from the same machine. - Note that
upload-source-freshnessrequires passing--project-dirargument.