Skip to Content

Alerts

Alert states

StateMeaning
openAnomaly is currently active
resolvedEvent rate has returned to normal

Severity levels

SeverityVisualMeaning
warningAmberRate below expected but not critically low
criticalRedRate severely below expected, or complete silence

Severity can escalate from warning to critical within a single alert if the situation worsens between cron runs.

Alert channels

Heartbeet supports sending notifications to multiple destinations per organisation. These are stored in the alert_channels table.

ChannelStatus
Email (via Resend)Available
Slack (incoming webhook)Coming soon

Default channel

When you create an organisation, a default email channel is seeded automatically using the email address you signed up with. You can add additional email addresses or Slack webhook URLs from the settings page.

Adding a channel manually

insert into alert_channels (org_id, channel, destination, enabled) values ('<org-id>', 'email', 'team@example.com', true);

Notification content

Alert opened email

  • Severity badge (WARNING / CRITICAL)
  • Beet name and time of detection
  • Expected vs actual event count and percentage drop
  • Link to the beet detail page and AI explanation

Alert resolved email

  • RESOLVED badge
  • Beet name and recovery time
  • Alert duration
  • Link to the beet detail page

Viewing alert history

The beet detail page shows a chronological list of past alerts for that beet. The admin dashboard shows recent alerts across all organisations.