Deliver in-app and email notification

When a CRM event occurs (e.g. lead assigned, ticket escalated, deal won), the system delivers real-time in-app notifications and optional email/SMS/push notifications based on a configurable event matrix.

When this happens: A CRM event fires that matches an entry in the notification event matrix.

Step by step

  1. 1

    Click the bell icon — Notification Panel opens: list of notifications (newest first), Unread bold, Read dimmed, Mark all read link.

    A CRM event fires (e.g. LeadAssigned to SR). Resolves the event against the notification matrix to determine: target recipients, applicable channels (In-App, Email, SMS, Push). EasyCRM checks each recipient's personal preferences — if recipient has disabled Email for this event type, email is skipped. In-App: Creates notification record in the database. Pushes via SignalR to connected clients in real-time. Recipient's browser shows: badge count increment on the bell icon + toast notification. Email: Renders email template with event-specific variables (e.g. Lead Name, Assigned By). EasyCRM sends via SMTP. SMS (if enabled): Sends via Twilio to recipient's registered phone number. Browser Push (if opted in): Sends push notification via Web Push API.

  2. 2

    Click a notification — navigates to the related entity (e.g. The assigned Lead). Notification marked as read.

Other paths

User is offline

SignalR cannot reach you. Notification persisted in DB. When user reconnects, badge count reflects unread notifications.

Bulk event (many recipients)

An event targets multiple users (e.g. Broadcast announcement). Notification created per recipient. Email throttled: max 100 emails per event batch.

Review notification history

Open Notification Panel — View All Full notification history (paginated). Filter by: Unread, Type. Sorted newest first.

If something goes wrong

Email delivery failure

SMTP send fails (server unreachable). Queues for retry (up to 3 retries over 15 minutes). After 3 failures, marks email as Failed Logged for Admin review. In-app notification still delivered.

Sms delivery failure

Twilio API returns error (invalid number, insufficient balance). SMS marked as Failed In-app notification still delivered.

Good to know

  • In-app notifications are always delivered (cannot be disabled by users).
  • Email and SMS channels are optional per user preference.
  • Notifications are persisted for 90 days, then auto-purged.
  • Real-time delivery via SignalR WebSocket.
  • Email throttling: max 100 emails per event batch to prevent SMTP overload.
  • Email subjects follow pattern: "[CRM] {Event Summary}" (e.g. "[CRM] Lead assigned: Jane Smith").