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:
- Click New Announcement
- Enter title and body
- Select target audience: All, Students, Parents, Staff
- Optional: Pin the announcement, require acknowledgement, set expiry date
- 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 Configuration
OptiCRM supports two email providers:
| Provider | Configuration |
|---|---|
| Resend | Set RESEND_API_KEY in environment |
| SMTP | Set 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_KEYandMSG91_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)