Ask a principal what they need first thing and the answer is rarely “more reports”. It is closer to: tell me what changed overnight, tell me what is going wrong today, and tell me in less time than it takes the tea to cool.
Most school software answers a different question. It offers eleven dashboards, each accurate, each requiring a decision to open. The briefing is the attempt to invert that — one assembled view that arrives without being asked for.
One Screen Instead of Nine Reports
A briefing is a set of sections, each answering something a person in that role would otherwise have gone looking for. Pending approvals waiting on a signature. Fee collection against expectation. Attendance marked and unmarked. Staff on leave. Homework set and submitted. Timetable coverage and teaching-plan progress.
The design constraint is that nothing here is new data. Every number already existed in the system; it existed in nine places. The briefing’s value is entirely in the assembly and the fact that it arrives on a schedule rather than on an act of will.
That framing matters when evaluating it. This is not analytics. It will not tell you anything your own reports could not, given twenty minutes. It will tell you the same things in ninety seconds, every day, including the days you would not have looked.
How the Briefing Is Assembled Each Morning
Mechanically the briefing is a set of direct database queries against tables the school is already writing to — attendance, fee ledger, payments, approval requests, staff attendance and leave, homework assignments and submissions, timetable entries, teaching plans, syllabus nodes.
Two properties are worth knowing.
It is cached for thirty minutes. A cache key per role, per user, per day. Open it three times before assembly and you are reading the same snapshot. This is deliberate: a briefing that recomputes on every open would be slower and no more useful, since the underlying numbers move on the scale of hours, not seconds.
The headline does not block it. A one-line summary sits above the sections, and it is generated as a fire-and-forget side task. If that generation is slow or unavailable, the briefing renders anyway, complete, with the headline absent. No school should ever be staring at a spinner because a summary sentence is being composed somewhere.
Role-Aware Sections: Principal, Admin, Accountant, Teacher
There are four distinct assemblies, and they are genuinely different rather than the same data with columns hidden.
Principal. School-wide. Attendance across classes, approvals pending, staff availability, academic progress against plan.
Admin. Operational. Approvals, staff attendance, the things that stop the building running.
Accountant. Financial. Collections, pending ledger entries, payment activity. This is the assembly the collection briefing pack draws on for its WhatsApp version.
Teacher. Personal and narrow. Their classes, their unmarked registers, their homework awaiting review, their timetable for the day.
A teacher’s briefing showing school-wide fee collection would be noise. A principal’s briefing showing one section’s homework would be worse. Splitting the assembly by role is what keeps each version short enough to read.
The 08:00 Collection Briefing on WhatsApp
The on-screen briefing waits for you to log in. For the numbers that should reach someone before they reach their desk, a pack pushes a version out.
The collection morning briefing fires daily at 08:00 in the school’s timezone, to the principal and accountant roles by default. It carries yesterday’s collection total, today’s expected amounts, and a configurable number of defaulters needing follow-up — three by default.
Its settings are the practical ones: send time, recipient roles, how many defaulters to list, whether to include yesterday’s total, whether to skip weekends, whether to skip school holidays. Holiday suppression is on by default; weekend suppression is off, because plenty of schools collect on Saturdays.
In agent mode the same data arrives as a short narrative rather than a statistics block, with defaulters ranked by a combination of amount, age and lack of response rather than a flat sort by rupees. The underlying figures are identical; the ordering reflects who is actually worth a call.
The 17:00 Attendance Wrap After Roll-Call
The evening counterpart runs after the school day. A daily attendance summary fires at 17:00 local, to the principal, carrying the overall present percentage, the absent count, and the sections that fell below a configurable threshold — 90 percent by default. Weekend and holiday suppression are both on by default here.
In agent mode the summary is assembled with each section’s own thirty-day rolling average alongside today’s figure, so a section at 84 percent is reported differently depending on whether that is a dip or its normal state. Sections in a critical dip also raise an in-app notification to their class teacher directly.
A related pack solves the upstream problem. Thirty minutes after a period ends, if no attendance has been recorded for that class today, the responsible teacher receives a push notification on their phone. It runs on a short cycle with its own per-period, per-day deduplication so a teacher cannot be nudged twice about the same period. Most of what makes an attendance summary useless is registers that were never marked; this is the pack that fixes that rather than reporting on it.
Previewing and Tuning Before You Trust It
There is a briefing preview screen for exactly this purpose. Render the briefing for a role, look at the sections, and check the numbers against what you already believe to be true about your school.
This is worth doing properly, because the first week is when a briefing earns or loses its credibility permanently. If the collection figure disagrees with your accountant’s own tally, the cause is almost always a configuration difference — which fee categories count, which academic year is marked current — and it is far cheaper to find that in a preview than in a WhatsApp message that has already gone to the principal.
Once the on-screen version reads correctly, enable the scheduled packs. The guardrails that govern their sending — deduplication, circuit breakers, quiet windows — are described in school autopilot: operations that run without you.