Data Shepherd separates two things: recording an alert, and delivering it.
When an alert is recorded
An alert is recorded when a rule that has at least one alert destination finds a problem or cannot run. It appears on the Alerts page straight away. In each rule’s form on the Rules page you choose its email recipients and whether it also posts to your webhook channel.
A rule with no destination still records each run on the Executions page, but raises no alert. Schema-drift alerts are the exception: they are recorded for every connected table whose columns changed, with no destination needed.
Where alerts can be sent
Delivery is optional. It goes through Snowflake’s own notification service, so it needs a notification integration that an account admin creates in your account and grants to the app. Data Shepherd makes no outbound network call of its own and stores no webhook URL. The app’s scheduling task does the sending, so scheduling must be switched on for anything to be delivered.
- Email - to people who are verified users of your Snowflake account. Snowflake rejects any other address.
- Slack - by webhook, to a channel you choose. All Slack alerts go to the one channel set in the integration.
The Settings page generates the setup script for you and has a Send test message button to confirm your channel receives it.
What an alert tells you
Each alert names the table, the rule, the column, the number of affected rows and when it was raised. It does not carry the rows themselves. Alerts on the same table, at the same level, raised within the same five-minute window arrive as one message.
Acknowledging
Acknowledge an alert on the Alerts page once someone has picked it up. Acknowledging cancels any message for that alert that has not yet been sent, and who acknowledged it is kept in the audit trail.
Quiet hours
Quiet hours hold alert delivery during a window you choose. Rules keep running, and anything held back is delivered when the window ends.
The usage guide has the SQL for setting up each channel.