Communication
Overview
The Communication module is a centralised hub for sending and managing communications across all channels — Email, SMS, WhatsApp, and Push Notifications. It supports individual messages, bulk messaging, and template-based communications. Messages can be sent to rate payers, agents, and other system users.
Navigate to: Sidebar → Communication

Navigate to: /communication/email
| Element | Description |
|---|---|
| Search bar | Search emails by recipient, subject, or date |
| Filter options | Filter by status (Sent, Pending, Failed) |
| Compose button | Send a new email |
| Email card | Shows email details and status |
Email Card
| Field | Description |
|---|---|
| Subject | Email subject line |
| Recipient | To whom the email was sent |
| Status badge | Sent, Pending, or Failed |
| Date & Time | When the email was sent |
| Type | System-generated, Manual, or Template-based |
Compose Email
| Field | Required | Description |
|---|---|---|
| To | Yes | Recipient email address or search for a user/rate payer |
| Subject | Yes | Email subject line |
| Body | Yes | Email content (rich text editor) |
| Attachments | No | Upload files (max 5 files, 10MB each) |
| Template | No | Select a pre-defined template |
!!! tip "Things to check" - Email is sent to the correct recipient - Subject and body render correctly in email clients - Attachments are included and downloadable - Template selection pre-fills subject and body - Failed emails show the failure reason - Email history shows all sent emails in chronological order
SMS

Navigate to: /communication/sms
| Element | Description |
|---|---|
| Search bar | Search SMS by recipient or date |
| Filter options | Filter by status (Sent, Pending, Failed) |
| Compose button | Send a new SMS |
| SMS card | Shows SMS details and status |
SMS Card
| Field | Description |
|---|---|
| Recipient | Phone number of the recipient |
| Message | SMS content (truncated) |
| Status badge | Sent, Pending, or Failed |
| Date & Time | When the SMS was sent |
| Character Count | Number of characters used |
Compose SMS
| Field | Required | Description |
|---|---|---|
| To | Yes | Recipient phone number or search for a user/rate payer |
| Message | Yes | SMS content (160 characters per segment) |
| Template | No | Select a pre-defined template |
!!! info "SMS Character Limits" Standard SMS supports 160 characters per segment. Messages exceeding 160 characters are sent as concatenated SMS, which may incur additional charges. The character count is displayed in the compose form.
!!! tip "Things to check" - SMS is sent to the correct phone number - Message content is delivered as written - Character count updates as the user types - Concatenated SMS (160+ chars) are delivered correctly - Failed SMS show the failure reason - Template selection pre-fills the message
Bulk SMS

Navigate to: /communication/addbulksms
Send SMS to multiple recipients at once.
Bulk SMS Form
| Field | Required | Description |
|---|---|---|
| Recipients | Yes | Select individual recipients, groups, or upload a list |
| Message | Yes | SMS content |
| Template | No | Select a pre-defined template |
| Schedule | No | Send now or schedule for later |
Recipient Selection
| Method | Description |
|---|---|
| Individual | Search and select specific rate payers or users |
| Group | Select by group (e.g. all rate payers in an MMDA, all agents) |
| Filter | Filter by region, MMDA, zone, or status |
| Upload | Upload a CSV/Excel file with phone numbers |
Bulk SMS List
Navigate to: /communication/listbulksms
| Element | Description |
|---|---|
| Bulk SMS card | Shows message summary and delivery stats |
| Delivery count | Sent / Failed / Pending breakdown |
| View Details button | See individual delivery status |
!!! tip "Things to check" - Recipient selection correctly filters by group/filter criteria - Message is sent to all selected recipients - Delivery count matches the number of recipients - Failed deliveries are logged with reasons - Scheduled messages are sent at the correct time - Bulk SMS list shows all bulk campaigns
Bulk Email

Navigate to: /communication/addbulkemail
Send email to multiple recipients at once.
Bulk Email Form
| Field | Required | Description |
|---|---|---|
| Recipients | Yes | Select individual recipients, groups, or upload a list |
| Subject | Yes | Email subject line |
| Body | Yes | Email content (rich text editor) |
| Attachments | No | Upload files (max 5 files, 10MB each) |
| Template | No | Select a pre-defined template |
| Schedule | No | Send now or schedule for later |
Bulk Email List
Navigate to: /communication/listbulkemail
| Element | Description |
|---|---|
| Bulk Email card | Shows message summary and delivery stats |
| Delivery count | Sent / Failed / Pending breakdown |
| View Details button | See individual delivery status |
!!! tip "Things to check" - Recipient selection correctly filters by group/filter criteria - Email is sent to all selected recipients - Attachments are included in all emails - Delivery count matches the number of recipients - Failed deliveries are logged with reasons - Scheduled emails are sent at the correct time
Push Notifications

Navigate to: /communication/pushnotification
Manage push notifications sent to mobile app users (Rate Payer App and Agent App).
| Element | Description |
|---|---|
| Search bar | Search notifications by title or date |
| Filter options | Filter by status, type, or target audience |
| Send Notification button | Create and send a new push notification |
| Notification card | Shows notification details and delivery stats |
Push Notification Card
| Field | Description |
|---|---|
| Title | Notification title |
| Body | Notification content |
| Target Audience | Rate Payers, Agents, or All |
| Status | Sent, Pending, or Failed |
| Date & Time | When the notification was sent |
| Delivery Rate | Percentage successfully delivered |
Send Push Notification Form
| Field | Required | Description |
|---|---|---|
| Title | Yes | Notification title |
| Body | Yes | Notification content |
| Target Audience | Yes | Rate Payers, Agents, All Users |
| Filter | No | Filter by region, MMDA, or zone |
| Image | No | Optional image attachment |
| Deep Link | No | Link to a specific screen in the app |
!!! tip "Things to check" - Notification is delivered to the correct target audience - Deep link navigates to the correct screen in the mobile app - Image attachment displays correctly in the notification - Delivery rate is accurately reported - Failed deliveries are logged with reasons

Navigate to: /communication/whatsapp
| Element | Description |
|---|---|
| Search bar | Search WhatsApp messages by recipient or date |
| Filter options | Filter by status |
| Message card | Shows message details and status |
WhatsApp Card
| Field | Description |
|---|---|
| Recipient | Phone number or contact name |
| Message | WhatsApp content |
| Status badge | Sent, Pending, or Failed |
| Date & Time | When the message was sent |
| Read Status | Whether the message was read |
!!! info "WhatsApp Integration" WhatsApp messaging requires a WhatsApp Business API integration. Confirm the integration is configured and active before testing WhatsApp communications.
Message Templates

Navigate to: /communication/templatesetup
Pre-defined message templates for consistent communication across channels.
Template List
| Element | Description |
|---|---|
| Search bar | Search templates by name or content |
| Filter tabs | Filter by channel (Email, SMS, WhatsApp, Push) |
| Add Template button | Create a new template |
| Template card | Shows template name, channel, and preview |
Template Card
| Field | Description |
|---|---|
| Template Name | Descriptive name (e.g. "Bill Reminder", "Payment Confirmation") |
| Channel | Email, SMS, WhatsApp, or Push |
| Subject | Subject line (for email templates) |
| Preview | First few lines of the template content |
| Status | Active or Inactive |
| Last Modified | When the template was last updated |
Add / Edit Template
| Field | Required | Description |
|---|---|---|
| Template Name | Yes | Descriptive name |
| Channel | Yes | Email, SMS, WhatsApp, or Push |
| Subject | Conditional | Required for email templates |
| Body | Yes | Template content with placeholders |
| Placeholders | No | Available variables (e.g. {ratepayer_name}, {bill_amount}, {due_date}) |
| Status | Yes | Active or Inactive |
Available Placeholders
| Placeholder | Description | Available For |
|---|---|---|
{ratepayer_name} |
Rate payer's name | All channels |
{property_id} |
Property identifier | All channels |
{bill_number} |
Bill number | All channels |
{bill_amount} |
Billed amount (GHS/GH₵) | All channels |
{due_date} |
Payment due date | All channels |
{payment_amount} |
Payment amount (GHS/GH₵) | All channels |
{payment_date} |
Payment date | All channels |
{mmda_name} |
MMDA name | All channels |
{assembly_name} |
Assembly name | All channels |
!!! tip "Things to check" - Templates are correctly filtered by channel - Placeholders are replaced with actual values when messages are sent - Invalid placeholders are flagged during template creation - Inactive templates are not available for selection when composing - Template changes are saved correctly - Templates render correctly in the target channel (email HTML, SMS text, etc.)
Communication Workflow
Template Created (optional)
↓
Message Composed (individual or bulk)
↓
Template Applied (optional) → Placeholders Replaced
↓
Message Sent via Channel:
- Email → SMTP/API
- SMS → SMS Gateway
- WhatsApp → WhatsApp Business API
- Push → Firebase Cloud Messaging
↓
Delivery Status Updated:
- Sent → Delivered → Read (for WhatsApp)
- Sent → Failed (with reason)
↓
Communication History Updated
!!! tip "Things to check" - All channels (Email, SMS, WhatsApp, Push) deliver messages correctly - Bulk messaging handles large recipient lists without timeout - Failed messages are logged with failure reasons - Template placeholders are replaced with actual values - Communication history shows all messages across all channels - Scheduled messages are sent at the correct time - Push notifications are received on the mobile apps