SMS
Send manual messages and configure automatic attendance SMS.
The SMS screen sends messages to guardians, students and staff. It also hosts automatic attendance-triggered SMS rules.
Prerequisite
SMS requires a connected SMS gateway. See to connect one.
Sending a manual message
- Open SMS.
- Choose the recipients — an individual, a class, a section, guardians of a class, staff, and so on.
- Type the message (or pick a saved template).
- Send.
Sent messages appear in Delivery logs.
Automatic SMS (attendance-triggered)
ApexityEdu can send SMS automatically when attendance events happen. Configure this in SMS → Automatic (administrator/staff).
The master switch
There is one master switch (SMS automation). It is off by default — no
school spends money on SMS without opting in. Turning it off silences every
automatic message instantly, whatever the individual rules say.
Rules — one per event
Each attendance event has its own independently switchable rule:
| Event | Fires when |
|---|---|
present | A student is recorded present for the day. |
late | The arrival punch is past the grace period. |
absent | A student has no punch after the day is closed out (fired by the hourly sweep — never on weekends, days off or holidays, and never for a student on approved leave). |
early_out | The out-punch is before the school day ends. |
in_punch | Every arrival, regardless of present/late. |
out_punch | Every departure, regardless of timing. |
What each rule configures
- Audience — guardians, the student, both, or the staff member.
- Message — an inline body, or a saved template. Templates support
{{variables}}such asstudent_name,roll,class_name,section_name,date,in_time,out_time,late_minutes,status,school_name. Unknown placeholders are removed automatically, never sent raw. - Thresholds — e.g. a minimum lateness (
min_late_minutes) so a two-minute delay doesn’t trigger an SMS. - Send window — e.g. only after first period, once absence is confirmed.
- Quiet hours — never message a guardian at 3am.
- Rate limits — a per-recipient daily cap and a minimum gap
(
throttle_minutes). - Scope — restrict the rule to specific classes.
Answering “why didn’t the guardian get an SMS?”
Every decision — sent and suppressed — is written to a dispatch log with a human-readable reason. Open SMS → Automatic → Dispatch log to see exactly why a message went out or was held back (“Daily cap reached”, “Inside quiet hours”, “Late by 3 min, below the 10 min threshold”, and so on).
Sent automatic messages are also mirrored into Delivery logs, so manual and automatic messages appear together.
Absence messages — how they work
Absence has no punch to trigger it, so the scheduled absence sweep marks
un-punched students absent after the school’s close time (see
Attendance). That is what fires the absent rule.
Two independent guards keep absence messages holiday-safe:
- The sweep refuses to create absences on weekends, days off or holidays.
- The SMS layer re-checks the date before dispatching any absence message.
So a manual mark on a holiday can’t text guardians either.
Admission SMS
Admissions have their own SMS settings, configured per form (see Admissions). Student and teacher forms message different people with different variables.
Tips
- Start with the master switch off, then enable only the rules you want.
- Set quiet hours and daily caps so you don’t over-message or message at night.
- Use the dispatch log whenever a guardian says they didn’t receive a message — it tells you exactly why.