Notifications are optional and failures do not stop a data quality run.
EMAIL_NOTIFICATIONS_ENABLED=true
MAILTRAP_API_TOKEN=your_token
ALERT_RECIPIENTS=receiver@example.comSLACK_NOTIFICATIONS_ENABLED=true
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/...TEAMS_NOTIFICATIONS_ENABLED=true
TEAMS_WEBHOOK_URL=https://...Keep webhook URLs and tokens out of source control.
Escalation rules live in config/alert_ownership.yaml:
escalation:
CRITICAL:
after_hours: 4
escalation_level: 1
notify_team: Data Platform
HIGH:
after_hours: 24
escalation_level: 1
notify_team: Data GovernanceRun escalation manually:
python cli.py escalate-alertsThe workflow escalates unresolved CRITICAL and HIGH alerts after their SLA window, sets escalation_status, escalation_level, and escalated_at, logs ALERT_ESCALATED, and attempts Slack, Teams, and email notifications when those channels are enabled.