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

CategoryAlertSeverityDescription
LeadsNew leadInfoA new form submission was received
CRMDeal stage changeInfoA deal moved to a different pipeline stage
CRMInvoice paidInfoAn invoice payment was received
CRMOverdue invoiceWarningAn invoice has passed its due date without payment
SEORanking changeInfoA tracked keyword moved ±3 or more positions
SEOPageSpeed dropWarningCore Web Vitals or performance score dropped below threshold
SEONew SEO taskInfoAn AI agent generated a new action item
AdsBudget thresholdWarningAd spend is approaching your configured daily or monthly limit
PaymentsPayment receivedInfoA Stripe payment was successfully processed
SystemSync errorCriticalAn 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:

  1. Lead notifications — Triggered by a database insert on crm.leads
  2. CRM notifications — Triggered by status changes on deals, invoices, and quotes
  3. SEO notifications — Generated by SEO agent workers when significant changes are detected
  4. Ads notifications — Generated by the ads sync worker when budget thresholds are approached
  5. 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.