Model notifications
Set up dbt to notify the appropriate model owners through email about issues as soon as they occur, while the job is still running. Model owners can specify which statuses to receive notifications about:
Success
andFails
for modelsWarning
,Success
, andFails
for tests
With model-level notifications, model owners can be the first ones to know about issues before anyone else (like the stakeholders).
To be timely and keep the number of notifications to a reasonable amount when multiple models or tests trigger them, dbt observes the following guidelines when notifying the owners:
- Send a notification to each unique owner/email during a job run about any models (with status of failure/success) or tests (with status of warning/failure/success). Each owner receives only one notification, the initial one.
- No notifications sent about subsequent models or tests while a dbt job is still running.
- Each owner/user who subscribes to notifications for one or more statuses (like failure, success, warning) will receive only one email notification at the end of the job run.
- The email includes a consolidated list of all models or tests that match the statuses the user subscribed to, instead of sending separate emails for each status.
Create configuration YAML files in your project for dbt to send notifications about the status of your models and tests.
Prerequisites
- Your dbt Cloud administrator has enabled the appropriate account setting for you.
- Your environment(s) must be on a release track instead of a legacy dbt Core version.
Configure groups
Define your groups in any .yml
file in your models directory. Each group must have a single email address specified — multiple email fields or lists aren't supported.
The following example shows how to define groups in a groups.yml
file.
version: 2
groups:
- name: finance
description: "Models related to the finance department"
owner:
# Email is required to receive model-level notifications, additional properties are also allowed.
name: "Finance Team"
email: finance@dbtlabs.com
favorite_food: donuts
- name: marketing
description: "Models related to the marketing department"
owner:
name: "Marketing Team"
email: marketing@dbtlabs.com
favorite_food: jaffles
Attach groups to models
Attach groups to models as you would any other config, in either the dbt_project.yml
or whatever.yml
files. For example:
version: 2
models:
- name: sales
description: "Sales data model"
config:
group: finance
- name: campaigns
description: "Campaigns data model"
config:
group: marketing
By assigning groups in the dbt_project.yml
file, you can capture all models in a subdirectory at once.
In this example, model notifications related to staging models go to the data engineering group, marts/sales
models to the finance team, and marts/campaigns
models to the marketing team.
config-version: 2
name: "jaffle_shop"
[...]
models:
jaffle_shop:
staging:
+group: data_engineering
marts:
sales:
+group: finance
campaigns:
+group: marketing
Attaching a group to a model also encompasses its tests, so you will also receive notifications for a model's test failures.
Enable access to model notifications
Provide dbt Cloud account members the ability to configure and receive alerts about issues with models or tests that are encountered during job runs.
To use model-level notifications, your dbt Cloud account must have access to the feature. Ask your dbt Cloud administrator to enable this feature for account members by following these steps:
- Navigate to Notification settings from your profile name in the sidebar (lower left-hand side).
- From Email notifications, enable the setting Enable group/owner notifications on models under the Model notifications section. Then, specify which statuses to receive notifications about (Success, Warning, and/or Fails).