Notifications
Multi-channel alerting with configurable rules, quiet hours, and digest mode.
Notification Channels
| Channel | How it works |
|---|---|
| In-app | Always active — bell icon with unread count, real-time via Socket.IO |
| SMTP delivery via configured provider | |
| Slack | Webhook URL — messages posted to a channel |
| SMS | Via Twilio or 46elks — personal phone number per user |
| Webhook | HMAC-signed JSON POST to any URL |
| Web Push | Browser notifications via service worker (works when tab is closed) |
Setting Up Channels
Go to Settings → Notifications → Channels to configure:
- Email — Add email addresses to receive alerts
- Slack — Paste a Slack incoming webhook URL
- SMS — Add phone numbers (or enable per-user SMS in preferences)
- Webhook — Enter your endpoint URL (receives HMAC-signed JSON payloads)
- Web Push — Toggle on in preferences to subscribe your browser
Alert Rules
Rules map event types and severities to channels. Under Settings → Notifications → Alert Rules:
| Property | Description |
|---|---|
| Event types | INCIDENT_OPENED, TARGET_DOWN, TEST_FAILED, FINDING_ESCALATED, etc. |
| Severity filter | Only trigger for CRITICAL, WARNING, or both |
| Channels | Which channels receive this alert |
| Target scope | Optional — limit to specific targets |
| Quiet hours | Suppress during defined time ranges |
Alert Coalescing (Digest Mode)
Prevents alert floods during infrastructure-wide outages. When enabled:
- External alerts (SMS, email, Slack, webhook) are buffered
- After the digest window (default 24h), a single combined alert is sent
- New CRITICAL events still fire immediately
- Repeated target/incident alerts are suppressed within the window
- In-app notifications remain instant (only external channels are coalesced)
Configure in Settings → Team Config → Notifications.
Per-User Preferences
Each user can customize their own notification experience:
- Channel toggles — Enable/disable email, SMS, push per user
- Severity muting — Mute INFO or WARNING-level alerts
- SMS phone number — Your personal mobile for SMS alerts
- Alarm sound — Choose from 6 sounds (urgent, beacon, sonar, chime, siren, pulse)
- Voice alerts — OpenAI TTS announces events with configurable voice, speed, and template
Tip: Tip: Start with email for CRITICAL events only, then add channels as you see the alert volume.
Event Types
| Event | Trigger |
|---|---|
| INCIDENT_OPENED | New incident created from findings |
| INCIDENT_RESOLVED | All findings in an incident resolved |
| INCIDENT_ACKNOWLEDGED | Someone acknowledged the incident |
| FINDING_CREATED | New finding discovered |
| FINDING_RESOLVED | A finding was auto-resolved |
| FINDING_ESCALATED | Finding severity was raised |
| TARGET_DOWN | Uptime confirms site is down |
| TARGET_RECOVERED | Site came back online |
| TEST_FAILED | A test run completed with failures |
| TEST_RECOVERED | A previously failing test now passes |
| SCAN_COMPLETED | A full scan workflow finished |
| BILLING_LIMIT_REACHED | Monthly usage limit hit |
| ACTION_REQUIRED | Setup prompt (e.g. add B2B credentials) |