Alerts

Send the alert to the person who owns the table.

An alert nobody owns is noise. Tidewater routes each one by owner, severity and time of day, attaches the impact, and keeps everything that can wait for the morning digest.

Routing

Rules that read like a runbook.

Match on the table's owner, the severity and the hour. The first rule that matches decides who is told and how. Rules are listed in order, so anyone can see why an alert went where it did.

  • Slack, Microsoft Teams, PagerDuty, Opsgenie, e-mail and signed webhooks
  • Owners imported from dbt meta tags or set in the product
  • Quiet hours that hold low severity alerts for the digest

Context

The cause and the impact, in the alert.

Each alert names the late table, the upstream step that started late and the assets downstream. The history of the alert is kept, so the next on-call engineer sees what was tried.

  • Upstream cause found by walking the lineage graph backwards
  • Downstream assets listed with owners and recent views
  • Acknowledge and resolve from Slack without opening the product

Digest

One e-mail instead of eleven pings.

Anything that can wait for morning goes into a single digest per team, sorted by what it affects. High severity alerts still arrive the moment they happen.

  • A digest per owning team, at the hour that team chooses
  • Duplicate alerts merged, including after an orchestrator restart
  • Everything in the digest links back to the alert history

Under the hood

How it works, briefly.

Deduplicated

One incident is one alert, however many checks it fails. Repeated failures update the alert instead of sending another.

Signed webhooks

Every webhook carries an HMAC signature and a timestamp, so your receiver can reject anything that did not come from Tidewater.

Owners, not channels

People and teams own tables. If a team renames its channel or an engineer leaves, change the owner once and the rules follow.

Related documentation

See your own pipelines in Tidewater

Book a 30 minute walkthrough. We connect a sample of your setup and show you what it would have caught last month.