Communication

Announcements, messaging, email, SMS, and notifications

Overview

OptiCRM provides multiple communication channels — announcements, internal messaging, email, SMS, and in-app notifications.

Announcements

Creating Announcements (Admin)

Navigate to Communication > Announcements:

  1. Click New Announcement
  2. Enter title and body
  3. Select target audience: All, Students, Parents, Staff
  4. Optional: Pin the announcement, require acknowledgement, set expiry date
  5. Click Publish

Viewing Announcements (Portal)

Parents and students see announcements on the portal filtered by their role. If acknowledgement is required, they can click Acknowledge to confirm they've read it.

Acknowledgement Tracking

Admins can see who has acknowledged each announcement by clicking on it in the list. The detail panel shows:

  • Total acknowledgement count
  • Individual names, roles, and dates

Internal Messaging

Sending Messages

Messages work like a simple chat system:

  • Thread-based conversations
  • Direct (1:1) messaging between any users
  • Unread message tracking with badges

Portal Messages

Parents and students can send and receive messages from the portal:

  • Thread list with last message preview
  • Chat view with real-time sending
  • Back navigation between thread list and conversation

Email

Email Configuration

OptiCRM supports two email providers:

ProviderConfiguration
ResendSet RESEND_API_KEY in environment
SMTPSet SMTP_HOST, SMTP_USER, SMTP_PASS

If neither is configured, emails are logged to the console (development mode).

Automated Emails

The system sends emails automatically for:

  • User creation (welcome email with credentials)
  • Staff creation (welcome email with login details)
  • Password reset requests
  • Portal registration approval
  • Institution signup verification
  • Scheduled report delivery
  • Data exception alerts
  • Fee reminders

Testing Email

Admins can test email configuration at POST /api/admin/test-email.

SMS (MSG91)

SMS integration via MSG91:

  • Template-based messages (DLT compliant for India)
  • Requires MSG91_AUTH_KEY and MSG91_TEMPLATE_ID
  • Used for attendance alerts, fee reminders

In-App Notifications

  • Real-time delivery via Server-Sent Events (SSE)
  • Bell icon with unread count badge in the dashboard header
  • Mark as read (individual or all)
  • Redis-backed unread counters for performance

Notification Rules

Admins can create rules at Settings > Notification Rules:

  • Trigger on events (e.g., fee overdue, attendance marked)
  • Evaluate conditions (e.g., amount > 10000)
  • Route to recipients (by role, specific user, or field value)
  • Send via selected channels (email, SMS, in-app)