Custom Notifications
Custom Notifications
Overview
The Custom Notifications module allows administrators to create and send custom notifications to users. Unlike system-generated notifications that are triggered automatically by events, custom notifications give you full control over the content, timing, and audience. This powerful feature is ideal for announcements, maintenance alerts, feature updates, policy changes, and emergency communications. You can target all users, specific users, or role-based groups, and schedule notifications for future delivery.
Accessing Custom Notifications
Navigation path: Dashboard > Communication > Notifications > Custom
Required permission: notifications.view, notifications.create
Quick Access: Click on "Custom Notifications" in the Communication sidebar menu
Key Features
- Rich Content Creation: Create notifications with custom titles, messages, and priority levels
- Flexible Targeting: Send to all users, specific users, or role-based groups
- Scheduled Delivery: Schedule notifications for future delivery or save as drafts
- Draft System: Prepare notifications in advance without sending them immediately
- Status Tracking: Monitor notification status (draft, scheduled, sent)
- Duplicate Functionality: Quickly create similar notifications by duplicating existing ones
- Expiration Dates: Set automatic expiration times for time-sensitive notifications
- Dismissible Control: Choose whether users can dismiss the notification
- Send Now Option: Override scheduled time and send immediately
- Internal Organization: Use internal names and descriptions for team reference
Main Interface
Custom Notifications List
The main page displays all custom notifications in a card-based layout. Each notification card shows:
- Internal Name: Descriptive name for internal reference
- Status Badge: Draft (gray), Scheduled (blue), or Sent (green)
- Level Badge: Info (blue), Warning (yellow), Error (red), or Critical (purple)
- Description: Optional explanation of the notification's purpose
- Content Preview: Title and truncated message in a preview box
- Target Information: Who will receive the notification (all users, specific users, or role-based)
- Scheduling Info: Scheduled send time (if applicable)
- Sent Info: When the notification was sent (if applicable)
- Action Buttons: Send Now, Duplicate, Edit, and Delete
Empty State
When no custom notifications exist, you'll see:
- Large bullhorn icon
- Message: "No custom notifications yet"
- "Create Your First Notification" button
Notification Levels
Info (Blue)
- Use for: General information, updates, tips, feature announcements
- Visual: Blue badge and blue background in emails
- Priority: Low
- Example: "New feature available: Dark mode is now enabled"
Warning (Yellow)
- Use for: Important notices requiring attention, upcoming changes
- Visual: Yellow badge and yellow background in emails
- Priority: Medium
- Example: "Scheduled maintenance in 24 hours"
Error (Red)
- Use for: Issues that need to be addressed, service disruptions
- Visual: Red badge and red background in emails
- Priority: High
- Example: "Service temporarily unavailable"
Critical (Purple)
- Use for: Urgent issues requiring immediate action, security alerts
- Visual: Purple badge and dark red background in emails
- Priority: Highest
- Example: "Security update required immediately"
Target Types
All Users
Sends the notification to every user in the system.
Target Configuration:
{}
Use Cases:
- System-wide announcements
- Maintenance notifications
- Feature launches
- Policy updates
Example: "The system will be down for maintenance on Saturday from 2-4 AM"
Specific Users
Sends the notification to selected users by their user IDs.
Target Configuration:
{
"user_ids": [1, 2, 3, 15, 42]
}
Use Cases:
- Personal messages to specific administrators
- Beta feature access notifications
- Account-specific alerts
- VIP user communications
Example: "You've been granted access to the new analytics dashboard"
Role Based
Sends the notification to all users with specific roles.
Target Configuration:
{
"roles": ["admin", "moderator", "editor"]
}
Use Cases:
- Role-specific training announcements
- Permission changes affecting specific roles
- Feature access by role
- Team-specific communications
Example: "New moderation tools available for moderators and admins"
Notification Status
Draft
- Notification is saved but not sent
- Can be edited and modified
- Not visible to users
- Can be sent immediately or scheduled
Scheduled
- Notification is scheduled for future delivery
- Will be sent automatically at the scheduled time
- Can be sent immediately by clicking "Send Now"
- Can be edited before scheduled time
Sent
- Notification has been delivered to target users
- Cannot be edited or resent
- Can be duplicated to create a similar notification
- Shows sent timestamp and recipient count
Common Tasks
Task 1: Creating a Custom Notification
- Navigate to Dashboard > Communication > Notifications > Custom
- Click Create Notification button in the top right
- Fill in the basic information:
- Internal Name: Descriptive name for your reference (e.g., "System Maintenance Alert")
- Description: Optional explanation of the notification's purpose
- Configure the notification content:
- Level: Select info, warning, error, or critical
- Title: The title users will see (e.g., "Scheduled Maintenance")
- Message: The full message users will see
- Configure the target audience:
- Target Type: Select all users, specific users, or role based
- Target Configuration: Enter JSON configuration based on target type
- Set additional options:
- Scheduled Send Time: Leave empty for draft, or set future date/time
- Expiration Time: Optional auto-dismiss time
- Allow users to dismiss: Toggle on/off (default: on)
- Click Create Notification
Expected result: Notification is created with draft or scheduled status and appears in the list.
Task 2: Sending a System-Wide Announcement
Scenario: Announce a new feature to all users.
- Navigate to Dashboard > Communication > Notifications > Custom
- Click Create Notification
- Enter basic information:
- Internal Name: "Dark Mode Feature Launch"
- Description: "Announce new dark mode feature to all users"
- Configure content:
- Level: Info
- Title: "New Feature: Dark Mode"
- Message: "We're excited to announce that dark mode is now available! You can toggle it in your profile settings. Enjoy a more comfortable viewing experience in low-light environments."
- Configure target:
- Target Type: All Users
- Target Configuration:
{}
- Leave Scheduled Send Time empty (will save as draft)
- Ensure Allow users to dismiss is checked
- Click Create Notification
- Back on the list page, click Send Now (paper plane icon)
- Confirm sending
Result: All users receive the notification immediately.
Task 3: Scheduling a Maintenance Alert
Scenario: Notify users about upcoming maintenance 24 hours in advance.
- Navigate to Dashboard > Communication > Notifications > Custom
- Click Create Notification
- Enter basic information:
- Internal Name: "Weekend Maintenance Alert"
- Description: "Notify users 24 hours before scheduled maintenance"
- Configure content:
- Level: Warning
- Title: "Scheduled Maintenance"
- Message: "The system will be unavailable on Saturday, January 20th from 2:00 AM to 4:00 AM EST for scheduled maintenance. Please save your work and plan accordingly. We apologize for any inconvenience."
- Configure target:
- Target Type: All Users
- Target Configuration:
{}
- Set Scheduled Send Time: January 19th at 2:00 AM (24 hours before maintenance)
- Set Expiration Time: January 20th at 4:00 AM (when maintenance ends)
- Ensure Allow users to dismiss is checked
- Click Create Notification
Result: Notification is scheduled and will be sent automatically at the specified time.
Task 4: Sending Role-Specific Notifications
Scenario: Notify administrators about new admin features.
- Navigate to Dashboard > Communication > Notifications > Custom
- Click Create Notification
- Enter basic information:
- Internal Name: "New Admin Tools"
- Description: "Announce new admin dashboard features"
- Configure content:
- Level: Info
- Title: "New Admin Dashboard Features"
- Message: "We've added new analytics and reporting tools to the admin dashboard. Check out the new 'Analytics' section in the sidebar to explore enhanced data visualization and export capabilities."
- Configure target:
- Target Type: Role Based
- Target Configuration:
{"roles": ["admin", "super-admin"]}
- Leave Scheduled Send Time empty
- Click Create Notification
- Click Send Now to deliver immediately
Result: Only users with admin or super-admin roles receive the notification.
Task 5: Creating an Emergency Alert
Scenario: Send a critical security alert immediately.
- Navigate to Dashboard > Communication > Notifications > Custom
- Click Create Notification
- Enter basic information:
- Internal Name: "Security Update Required"
- Description: "Critical security patch notification"
- Configure content:
- Level: Critical
- Title: "🔴 Security Update Required"
- Message: "A critical security update is available. Please log out and log back in within the next hour to apply the update. This is required for all users to maintain system security."
- Configure target:
- Target Type: All Users
- Target Configuration:
{}
- Leave Scheduled Send Time empty
- Set Expiration Time: 2 hours from now
- Uncheck "Allow users to dismiss" (force visibility)
- Click Create Notification
- Click Send Now immediately
Result: All users receive a critical notification that cannot be dismissed until expiration.
Task 6: Duplicating a Notification
- Navigate to Dashboard > Communication > Notifications > Custom
- Locate the notification you want to duplicate
- Click the Copy icon (duplicate button)
- The page refreshes with a new notification created
- The duplicate has "(Copy)" appended to the name
- The duplicate is saved as a draft
- Click Edit to modify the duplicated notification
- Make your changes and save
Use case: Quickly create similar notifications for recurring announcements or different user groups.
Task 7: Editing a Draft or Scheduled Notification
- Navigate to Dashboard > Communication > Notifications > Custom
- Locate the notification with "Draft" or "Scheduled" status
- Click the Edit icon (pencil button)
- Modify any fields as needed
- Click Update Notification
Expected result: Changes are saved and the notification remains in its current status.
Note: Sent notifications cannot be edited. Duplicate them instead if you need to send a similar notification.
Task 8: Sending a Scheduled Notification Immediately
- Navigate to Dashboard > Communication > Notifications > Custom
- Locate the scheduled notification
- Click the Send Now icon (paper plane button)
- Confirm sending in the popup dialog
- Wait for confirmation message showing recipient count
Expected result: Notification is sent immediately regardless of scheduled time, and status changes to "Sent".
Task 9: Deleting a Notification
- Navigate to Dashboard > Communication > Notifications > Custom
- Locate the notification you want to delete
- Click the Trash icon (delete button)
- Confirm deletion in the popup dialog
- The page refreshes with the notification removed
Warning: This action cannot be undone. Deleting a sent notification removes the custom notification record but does not remove notifications already delivered to users.
Settings and Options
Internal Name (Required)
- Type: Text (max 255 characters)
- Description: Name for internal reference only, not visible to users
- Example: "Monthly Newsletter - January 2024"
- Best Practice: Use descriptive names that indicate purpose and timing
Description (Optional)
- Type: Multiline text
- Description: Detailed explanation for team reference
- Example: "Monthly newsletter sent to all active users on the first Monday of each month"
- Best Practice: Document the purpose, audience, and any special considerations
Level (Required)
- Type: Select dropdown
- Options: info, warning, error, critical
- Description: Priority level affecting visual appearance and user attention
- Default: info
- Best Practice: Use critical sparingly to maintain its impact
Title (Required)
- Type: Text (max 255 characters)
- Description: Notification title visible to users
- Example: "New Feature Available"
- Best Practice: Keep concise and action-oriented
Message (Required)
- Type: Multiline text
- Description: Full notification message visible to users
- Example: "We've added a new dark mode feature. Toggle it in your profile settings."
- Best Practice: Be clear, concise, and include any necessary actions
Target Type (Required)
- Type: Select dropdown
- Options: all_users, specific_users, role_based
- Description: Determines who receives the notification
- Default: all_users
Target Configuration (Required)
- Type: JSON object
- Description: Configuration for the selected target type
- Validation: Must be valid JSON
- Examples:
- All users:
{} - Specific users:
{"user_ids": [1, 2, 3]} - Role based:
{"roles": ["admin", "moderator"]}
- All users:
Scheduled Send Time (Optional)
- Type: Datetime picker
- Description: When to automatically send the notification
- Format: YYYY-MM-DD HH:MM
- Behavior: If empty, notification is saved as draft
- Best Practice: Schedule during low-traffic hours for system announcements
Expiration Time (Optional)
- Type: Datetime picker
- Description: When the notification should automatically expire and be dismissed
- Format: YYYY-MM-DD HH:MM
- Use Cases: Time-sensitive alerts, event reminders, temporary notices
Allow Users to Dismiss (Optional)
- Type: Boolean toggle
- Default: true (checked)
- Description: Whether users can manually dismiss the notification
- Best Practice: Disable only for critical notifications that require acknowledgment
Permissions
The following permissions control access to Custom Notifications:
notifications.view: Required to access the custom notifications page and view notificationsnotifications.create: Required to create new custom notificationsnotifications.update: Required to edit draft and scheduled notificationsnotifications.delete: Required to delete custom notifications
Note: Custom notification management is typically restricted to administrators with full notification permissions.
Tips and Best Practices
- Plan ahead: Use the draft system to prepare notifications in advance
- Test with yourself: Create a specific_users notification targeting only your account to test content
- Use descriptive internal names: Make it easy for team members to understand notification purpose
- Schedule wisely: Send non-urgent notifications during business hours
- Consider timezones: Remember that scheduled times use server timezone
- Keep messages concise: Users are more likely to read shorter notifications
- Use appropriate levels: Don't overuse critical level or it loses impact
- Include actions: Tell users what they should do in response to the notification
- Set expiration dates: Remove time-sensitive notifications automatically
- Duplicate for efficiency: Reuse successful notification templates
- Document in description: Explain why the notification was created for future reference
- Coordinate with team: Ensure multiple admins aren't sending conflicting notifications
- Monitor delivery: Check that scheduled notifications are sent successfully
- Archive old notifications: Delete sent notifications that are no longer relevant
- Use role-based targeting: Segment communications for better relevance
Troubleshooting
Problem: Cannot create custom notification
Solution:
- Verify you have
notifications.createpermission - Check that all required fields are filled
- Validate JSON syntax in target configuration
- Ensure target_config matches the selected target_type
- Try refreshing the page and attempting again
- Check browser console for JavaScript errors
- Clear browser cache and cookies
- Contact an administrator if permissions are missing
Problem: JSON syntax error in target configuration
Solution:
- Use a JSON validator (jsonlint.com) to check syntax
- Ensure all quotes are double quotes (")
- Check for missing commas or brackets
- Remove trailing commas
- Copy examples from documentation
- For all users, use empty object:
{} - For specific users:
{"user_ids": [1, 2, 3]} - For role based:
{"roles": ["admin"]}
Problem: Scheduled notification not sending
Solution:
- Verify the scheduled time is in the future when creating
- Check that the notification status is "Scheduled" not "Draft"
- Ensure the scheduled task/cron job is running
- Review system logs for errors
- Verify server timezone matches your expectations
- Check if the notification was manually sent before scheduled time
- Contact system administrator to verify task scheduler is working
Problem: Notification sent to wrong users
Solution:
- Review target_type and target_config before sending
- Verify user IDs are correct in specific_users configuration
- Check that role names match exactly in role_based configuration
- Test with a small group first (specific_users with your account)
- Duplicate and modify if you need to resend to correct audience
- Document target configuration in description field for future reference
Problem: Cannot edit notification
Solution:
- Check notification status - only draft and scheduled can be edited
- Sent notifications cannot be edited (duplicate instead)
- Verify you have
notifications.updatepermission - Try refreshing the page
- Check if another admin is editing the same notification
- Contact an administrator if you need to modify a sent notification
Problem: Users not receiving notifications
Solution:
- Verify notification was actually sent (check status is "Sent")
- Check that target users exist and are active
- Ensure users have
notifications.viewpermission - Verify notification preferences aren't blocking custom notifications
- Check if notification rules are auto-dismissing the notifications
- Review system logs for delivery errors
- Ask users to refresh their page or check the Notifications page
- Verify the notification hasn't expired
Problem: Cannot delete notification
Solution:
- Verify you have
notifications.deletepermission - Confirm deletion in the popup dialog
- Try refreshing the page
- Check browser console for errors
- Ensure you're not trying to delete while another admin is editing
- Contact an administrator if permissions are missing
Problem: Duplicate button not working
Solution:
- Refresh the page and try again
- Check browser console for JavaScript errors
- Verify you have
notifications.createpermission - Clear browser cache
- Try a different browser
- Check if you've reached any notification limits
Problem: Expiration not working
Solution:
- Verify expiration time is in the future when creating
- Check that the expiration task/cron job is running
- Ensure server timezone is configured correctly
- Review system logs for errors
- Verify the notification was actually delivered to users
- Contact system administrator to verify task scheduler
Related Modules
- Notifications: View all notifications including custom ones
- Notification Preferences: Configure how users receive custom notifications
- Notification Rules: Set up automatic actions for custom notifications
- Audit Logs: Track who created and sent custom notifications
- Users: Manage users who receive notifications
- Roles: Manage roles for role-based targeting
Quick Links
Need More Help?
Our comprehensive documentation covers everything from basic setup to advanced configurations. Check out these additional resources: