Appearance
Setting up WhatsApp
The question every school asks. There are two completely different ways to do WhatsApp here, and picking the wrong one wastes weeks.
Read this part first
Schools ask for "WhatsApp" expecting it to work like the app on their phone — type a message, press send, free. Official automated WhatsApp is not that. It is a Meta-approved business channel with verification, approved wording and a per-message cost.
So the system supports both:
| Manual (click-to-chat) | Official WhatsApp API | |
|---|---|---|
| Cost | Free | Paid, per conversation |
| Approval needed | None | Meta business verification, plus approval of every message template |
| Ready in | Minutes | Days to weeks |
| Automatic sending | No — staff presses send | Yes |
| Bulk sending | No — one at a time | Yes |
| Phone number | The school's existing number | A dedicated number that has never been used on WhatsApp |
| Attachments | No — send a link instead | Yes |
| Best for | Fee follow-up, individual parent contact | Attendance alerts, fee reminders, results to everyone |
Most schools should start with manual
It works today, costs nothing, and covers the thing schools actually do most: chasing individual parents. Move to the API when they want messages going out automatically to hundreds of people.
Option 1: Manual WhatsApp (click-to-chat)
Staff see a WhatsApp button next to a parent's number. Clicking it opens WhatsApp — Web, Desktop or phone, whichever they use — with the message already typed. They read it and press send themselves.
Nothing is sent by the system, so there is no approval, no template and no cost.
To turn it on: enable manual WhatsApp in the school's notification settings. The buttons appear wherever a parent or staff number is shown.
It cannot attach files
Click-to-chat cannot carry a PDF. To "send a receipt", put a link to the receipt in the message and the parent opens it. The system does this for you where receipts are involved.
Two smaller things worth knowing:
- If a number is missing or unusable, the button appears disabled rather than opening a broken chat
- Numbers without a country code use the school's country, so local-format numbers still work
Option 2: Official WhatsApp API
For messages that go out on their own — attendance alerts, fee reminders, results.
Seven providers are supported:
Meta Cloud API · Gupshup · 360dialog · Twilio · Wati · UltraMsg · SendWapi
Meta Cloud is the direct route and usually the cheapest. The others resell it with an easier setup and their own dashboards.
What Meta requires — this is not our rule
| Requirement | What it means |
|---|---|
| Business verification | Meta verifies the business really exists. Documents, and days of waiting |
| A dedicated phone number | It cannot be a number already on WhatsApp or WhatsApp Business. Using the school office number means losing it from the phones |
| Approved templates | Every message sent first must match wording Meta approved in advance |
| The 24-hour window | Once a parent replies, you may send free-form messages for 24 hours. After that, templates only |
The dedicated number catches everyone out
A school gives its main office number, then discovers that number no longer works in the WhatsApp app their staff use all day. Use a new SIM, and tell the school this before they choose.
Templates in practice
A template is fixed wording with blanks — "Dear 1, fees of 2 are due on 3". You submit it, Meta approves it, then you may only send that exact wording with the blanks filled.
Approval takes anywhere from minutes to days. Rejections are usually for sounding promotional. Plan the wording before promising a school a go-live date.
Setting it up
Platform-wide settings live under Sidebar → Comms Wallet → Meta / DLT Config. Rates and balances are under Wallet Oversight and Rate Cards, exactly as with SMS.
A school with its own WhatsApp provider account can use it instead, and then its messages always go through its own account.
Which should you choose?
Turning on manual WhatsApp does not stop you adding the API later. Many schools run both — automatic reminders through the API, individual follow-up by click-to-chat.
If WhatsApp is not working
| What you see | Cause |
|---|---|
| Button does nothing, or looks greyed out | The parent has no usable number saved, or manual WhatsApp is switched off for that school |
| Opens WhatsApp but the chat is empty | The number is stored without a country code and the school has no country set |
| Template messages rejected | Wording does not exactly match what Meta approved |
| "Outside 24-hour window" | The parent has not replied recently — only approved templates can be sent |
| Automatic messages never send | The cron job — same cause as email and SMS |
| Messages fail once the balance hits zero | Top up the school's wallet |