Notifications
Stay informed with real-time alerts for every important event across your dashboard — new leads, deal updates, payment confirmations, SEO changes, and budget warnings. Notifications are delivered in-dashboard and can be configured per alert type.
Alert Types
| Category | Alert | Severity | Description |
|---|---|---|---|
| Leads | New lead | Info | A new form submission was received |
| CRM | Deal stage change | Info | A deal moved to a different pipeline stage |
| CRM | Invoice paid | Info | An invoice payment was received |
| CRM | Overdue invoice | Warning | An invoice has passed its due date without payment |
| SEO | Ranking change | Info | A tracked keyword moved ±3 or more positions |
| SEO | PageSpeed drop | Warning | Core Web Vitals or performance score dropped below threshold |
| SEO | New SEO task | Info | An AI agent generated a new action item |
| Ads | Budget threshold | Warning | Ad spend is approaching your configured daily or monthly limit |
| Payments | Payment received | Info | A Stripe payment was successfully processed |
| System | Sync error | Critical | An integration sync failed (e.g. Google Ads API error) |
Severity Levels
Notifications are color-coded by severity:
- Info (blue) — Routine events that keep you updated
- Warning (orange) — Events that may require attention
- Critical (red) — Issues that need immediate action
Notification Center
Click the bell icon in the dashboard header to open the notification center:
- Unread badge — Shows the count of unread notifications
- Notification list — All notifications sorted by newest first
- Filter by type — Show only specific alert categories
- Filter by severity — Show only warnings, critical alerts, etc.
- Mark as read — Click individual notifications or use "Mark all as read"
- Click to navigate — Each notification links to the relevant dashboard section
Settings
Configure your notification preferences in Settings → Notifications:
- Toggle per alert type — Enable or disable each notification individually
- Severity threshold — Choose to only receive warnings and critical alerts (suppress info-level)
- In-dashboard delivery — All notifications appear in the notification center by default
How It Works
Notifications are generated by Cloudflare Workers and Supabase database triggers:
- Lead notifications — Triggered by a database insert on
crm.leads - CRM notifications — Triggered by status changes on deals, invoices, and quotes
- SEO notifications — Generated by SEO agent workers when significant changes are detected
- Ads notifications — Generated by the ads sync worker when budget thresholds are approached
- Payment notifications — Triggered by Stripe webhook events
All notifications are stored in the notifications table with client_id for multi-tenant isolation and read_at for read/unread tracking.
Table of Contents
