Alerts
Audience: Customer — this page documents alert configuration and notification settings.
The alerts page (/dashboard/alerts) configures notifications for rule violations.
URL
/dashboard/alerts
Access
- Starter: Daily Violation Digest only (email)
- Pro / Enterprise: Full alert builder with all channels
Feature gate: alerts_full
Starter Plan View
Starter users see a simplified "Daily Violation Digest" card:
- Single email input field
- Save button to configure the daily digest recipient
- Upgrade prompt to Pro for the full alert builder
The digest card checks for existing daily alerts on load and pre-fills the email if one exists. If no digest alert exists, saving creates one via POST /api/v1/alerts/daily-digest.
Pro / Enterprise View
Full alert management with create, edit, toggle, test, and delete capabilities.
Alert List
Each alert is displayed as a card with:
| Element | Description |
|---|---|
| Toggle | Enable/disable switch |
| Name | Alert display name |
| Channel badges | Icons for each enabled channel (Email, Slack, Discord, etc.) |
| Frequency | immediate, hourly, or daily |
| Severity icons | Which severities trigger this alert |
| Last triggered | Date of most recent notification |
| Test button | Send a test notification |
| Edit button | Navigate to edit page |
| Delete button | Remove alert (with confirmation) |
Channel Badges
Icons represent active channels:
| Channel | Icon |
|---|---|
| Slack | MessageSquare |
| Discord | Hash |
| Teams | Globe |
| Webhook | Webhook |
| PagerDuty | Webhook |
| OpsGenie | Webhook |
| Datadog | Webhook |
Creating Alerts
The "Create Alert" button navigates to /dashboard/alerts/create where users configure:
| Setting | Description |
|---|---|
| Name | Alert display name |
| Rules | Which rules to monitor (multi-select from active rules) |
| Severities | Which severity levels trigger the alert |
| Channels | Notification channels with per-channel configuration |
| Frequency | immediate (real-time), hourly (batched), daily (digest) |
Channel Configuration
Each channel has its own settings:
| Channel | Configuration |
|---|---|
| Recipient email addresses | |
| Slack | Webhook URL |
| Discord | Webhook URL |
| Teams | Webhook URL |
| Webhook | URL, optional headers |
| PagerDuty | Integration key |
| OpsGenie | API key |
| Datadog | API key, site region |
Alert Actions
| Action | Method | Endpoint |
|---|---|---|
| List | GET |
/api/v1/alerts |
| Create | POST |
/api/v1/alerts |
| Create digest | POST |
/api/v1/alerts/daily-digest |
| Update | PUT |
/api/v1/alerts/{id} |
| Delete | DELETE |
/api/v1/alerts/{id} |
| Test | POST |
/api/v1/alerts/test (body: { alertId, channel }) |
Test Notifications
The test button sends a sample notification to the specified channel. The server generates a test violation payload and sends it through the channel's delivery mechanism. Results are displayed in a browser alert dialog.
Frequency Enforcement
- Immediate: Notifications sent in real-time as violations are detected
- Hourly: Violations batched and sent every hour
- Daily: All violations aggregated into a daily digest email
The Tasks service (rule-checker) handles frequency enforcement and digest compilation.
See Also
- Notifications — Channel implementation details
- Rules — Configuring rules that trigger alerts
- Violations — Viewing violations that triggered alerts
- Feature Gating — Plan restrictions