Skip to content

Notifications & alerts - dashboard + bid-invite expiration + reminders

StageEstimated
StatusDeferred
Design statusIn progress
Estimate1w (M)
ConfidenceMedium
LinearPIN-479 ↗
Linear statusDone
DesignDesign ↗
Linear epicPlatform Foundation
ModuleSettings & Admin ↗

Status check: deferred, but shipped work exists

This surface is marked deferred, yet Linear shows PIN-479 as Done. Confirm whether it actually shipped (move the status off deferred) or only the remaining scope is deferred. Flagged for reconciliation.

Priority: Medium · Route: /dashboard

Scope

In-app notification fan-out for workflow events across SOV billing, bid invites, RFIs, change orders, and submittals: each event creates a role-scoped notification row per recipient, with independent per-user read state and click-through to the source record. (Source: PIN-479.)

Acceptance criteria

  • 17 notification types covered: SOV billing (7 stages), bid invite accepted/declined, RFI submitted/answered/closed, change order submitted/approved/rejected, submittal approved/returned
  • One notification row created per target user, scoped by role (not a single shared feed)
  • Read state tracked independently per recipient
  • Clicking a notification navigates to the underlying record
  • Notifications fire alongside existing email alerts, not instead of them

Conor's comments

Is this not the notifcation icon in top right?

Notes

Dashboard + email exist per QA; formalize expiration alerts + handoff

Open question for Conor

-