Before you start
Before 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).
First create a Microsoft Teams 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.
Now it's time to set up a webhook. You have two options for creating a webhook:
Option 1: Create Teams 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 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)
You can create a webhook using Power Automate in two ways:
Workflows
Important Notes:
Lastly, pass the webhook URL (from either method) to the CLI as a param or in the config.yml
file:
Teams config as CLI params
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.yml
Here is the format in the yml itself:
Make sure to run the following command after your dbt runs and tests:
Or just edr monitor
if you used config.yml
.
Not supported in dbt cloud
To alert on source freshness, you will need to run edr 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.
dbt source freshness
and upload-source-freshness
needs to run from the same machine.upload-source-freshness
requires passing --project-dir
argument.In order to monitor continuously, use your orchestrator to execute it regularly (we recommend running it right after your dbt job ends to monitor the latest data updates).
Read more about how to deploy Elementary in production. If you need help or wish to consult on this, reach out to us on Slack.