AI Assistant for School Administrators
Ask your school data questions in plain English — no spreadsheets, no SQL, no waiting
1. Why an AI Assistant?
Every school generates mountains of data — enrolment figures, fee balances, exam scores, attendance records, teacher workloads. Getting answers from this data usually means one of three things:
- Export to Excel — download a CSV, build a pivot table, hope the columns line up
- Ask the IT person — wait two days for a custom report
- Navigate five different pages — open Students, filter by class, count manually, then switch to Fees and do it again
SchoolAdmin’s AI Assistant eliminates all three. Type a question in plain English, and get an answer in seconds — complete with tables, charts, and statistics pulled live from your school’s data.
What makes it different from a chatbot?
Typical chatbots give scripted answers from a knowledge base. SchoolAdmin’s Assistant actually reads your school’s live database to answer questions. When you ask “How many S2 students haven’t paid fees?”, it queries your real student and billing records — the same data you see in the Students and Fees modules — and returns the exact answer.
2. Opening the Assistant
The Assistant lives inside your SchoolAdmin dashboard. You can access it in two ways:
- Sidebar icon — Click the chat bubble icon in the left navigation bar. The Assistant opens as a full page with your conversation history on the left and the chat area on the right.
- Keyboard shortcut — Press Ctrl + K (or Cmd + K on Mac) from anywhere in the dashboard to jump straight to the Assistant.
The first time you open it, you’ll see a welcome screen with suggested questions to get you started. These suggestions are tailored to your role — a Bursar sees fee-related prompts, while a Director of Studies sees academic ones.
3. Your First Question
Let’s walk through a typical interaction. You’re the Head Teacher and it’s mid-term. You want to know how fee collection is going.
Type into the chat input:
Within a few seconds, the Assistant responds with:
- A statistics card showing total billed, total collected, collection rate percentage, and outstanding balance
- A brief narrative summary explaining the numbers in context
- A progress bar visualising the collection rate
You didn’t have to open the Fees module, filter by term, or export anything. One question, one answer.
Follow-up questions
The Assistant remembers context within a conversation. So you can follow up naturally:
It understands you’re still asking about Term 1 2026 fees and returns a sorted table of classes ranked by collection rate, with the worst performers highlighted.
4. How It Works Behind the Scenes
You don’t need to understand the internals to use the Assistant, but knowing the basics helps you trust the answers and ask better questions.
The query pipeline
When you type a question, it goes through a multi-step process:
- Understand intent — The AI reads your question and determines which parts of the school database are relevant. “How many S1 students are there?” maps to the students and classes tables.
- Build the query — It writes a precise database query to fetch exactly the data needed. This is like asking a fluent SQL developer to translate your English into a database command.
- Validate safety — Before executing, the query passes through multiple safety checks: only read-only operations are allowed, sensitive columns (like passwords) are blocked, and the query is limited to your school’s data.
- Execute & verify — The query runs against your live database. Results are checked for anomalies — if something looks off (e.g., negative student counts), the system retries with corrections.
- Format the response — Raw data is transformed into a human-friendly format: narrative text, tables, charts, or statistics cards depending on what best communicates the answer.
Thinking indicator
While the Assistant works through these steps, you’ll see a thinking indicator that shows real-time progress: “Selecting relevant data…”, “Building query…”, “Fetching results…”. Most questions are answered within 5–15 seconds.
5. What You Can Ask
The Assistant understands 15 data domains across your school. Here are the key areas with example questions:
Students & Enrolment
- “How many students are enrolled this term?”
- “Show me S3 Blue’s class list”
- “How many boys vs girls in O-Level?”
- “Which students transferred out this year?”
- “List all students without guardian contact information”
Fees & Finance
- “What is our total outstanding balance?”
- “Which students owe more than 500,000 UGX?”
- “Compare fee collection between Term 1 and Term 2”
- “Show me daily payment collections for the last 30 days”
- “How much have we collected from S1 this term?”
Staff & Teachers
- “How many teachers do we have?”
- “Which teachers are qualified to teach Physics?”
- “Show me staff who joined in the last 6 months”
- “What is the teacher-to-student ratio per class?”
Academics & Assessment
- “What is the average score for S4 Mathematics?”
- “Which students scored below 40% in the mid-term exams?”
- “Compare S2 Red and S2 Blue performance in English”
- “Show me the top 10 students in S3 by aggregate score”
Attendance
- “What was the attendance rate last week?”
- “Which students have missed more than 5 days this term?”
- “Show me Monday attendance trends for S1”
Timetable & Scheduling
- “How many periods does Mr. Opio teach per week?”
- “Which teachers have free periods on Wednesday?”
- “Are there any timetable conflicts this term?”
Cross-domain questions
The most powerful queries combine multiple data domains:
- “Which S4 students have both attendance below 80% AND fees outstanding?”
- “Show me the classes with the best exam results AND highest fee collection rate”
- “How many teachers are teaching subjects they’re not qualified for?”
6. Slash Commands
For common queries, the Assistant supports slash commands — quick shortcuts that pre-fill a query template. Type / in the chat input to see the full list.
| Command | What it does |
|---|---|
/students | Quick student enrolment summary with breakdown by class and gender |
/teachers | Staff overview with qualification and workload stats |
/fees | Fee collection summary for the current term |
/attendance | Today’s or this week’s attendance rates |
/performance | Latest exam performance summary across classes |
/dashboard | High-level school health overview (students, fees, attendance, staff) |
Slash commands are fully editable. After selecting one, you can modify the pre-filled text before sending. For example, /fees pre-fills “Show me the fee collection summary for the current term” — you might change it to “Show me the fee collection summary for Term 2 2025” before pressing Enter.
7. Rich Responses
The Assistant doesn’t just return plain text. Depending on the type of question, it chooses the most effective visual format.
Statistics cards
For numeric summaries (“How many students?”, “What’s the collection rate?”), you get KPI cards — large, bold numbers with labels, optional trend indicators (up/down arrows), and colour coding (green for good, red for concerning).
Tables
For list-type answers (“Show me students who…”, “List teachers with…”), you get interactive tables with:
- Column sorting — click any column header to sort ascending/descending
- Filtering — type in the search box to instantly filter rows
- Pagination — large result sets are paginated for readability
- Export — click the download button to export the table as a CSV file
Charts
For comparisons and trends, the Assistant generates visual charts:
- Bar charts — compare values across categories (e.g., fee collection by class)
- Pie charts — show proportions (e.g., gender distribution)
- Progress bars — visualise completion rates (e.g., 73% fees collected)
- Distribution charts — show spread of values (e.g., exam score distribution)
Narrative summaries
Every data response includes a plain-English explanation of the numbers. The Assistant doesn’t just say “427” — it says “You have 427 students enrolled this term, up 12% from last term. S1 has the largest intake at 98 students.”
Combined responses
Complex questions often combine multiple formats. Asking “How is S3 performing?” might return a statistics card with the class average, a bar chart comparing subject scores, a table of the bottom 10 students, and a narrative tying it all together.
8. Conversations & History
Every interaction with the Assistant is saved as a conversation thread. The conversation sidebar on the left shows all your past threads, grouped by date (Today, Yesterday, This Week, Earlier).
Managing conversations
- New conversation — click the “+” button to start a fresh thread. Use this when switching topics (e.g., from fees to attendance).
- Resume a conversation — click any thread in the sidebar to continue where you left off. The Assistant remembers the full context.
- Rename — right-click (or long-press on mobile) a thread to give it a meaningful name like “Term 1 Fee Analysis”.
- Pin — pin important conversations to the top of the list so they don’t get buried.
- Delete — remove conversations you no longer need.
Context within a thread
Within a single conversation, the Assistant maintains context. This means:
- You can use pronouns: “Show me S2 students” → “How many of them are boys?”
- Filters carry forward: “Show me S4 exam results” → “Now filter for Mathematics only”
- You can ask for different views of the same data: “Show this as a chart instead”
9. File Processing & Upload
The Assistant can work with files you upload directly into the chat. This is particularly useful when you have data in spreadsheets or documents that you want to compare with your school’s records.
How to upload
Click the attachment icon (paperclip) in the chat input, or simply drag and drop a file into the conversation. Supported formats include:
- Spreadsheets — .xlsx, .xls, .csv
- Documents — .pdf, .docx
- Images — .png, .jpg (e.g., scanned documents)
What you can do with uploaded files
- Reconcile data — Upload a bank statement CSV and ask “Which payments in this file don’t match our fee records?”
- Bulk verify — Upload a Ministry student list and ask “Which students on this list are not in our system?”
- Analyse external data — Upload UNEB results and ask “How do our mock exam predictions compare to actual results?”
- Extract information — Upload a scanned letter and ask “Summarise the key points in this document”
10. Mark Entry by File Upload
One of the Assistant’s most powerful features is bulk mark entry via file upload. Instead of entering exam scores one by one through the Assessments module, teachers can upload a spreadsheet and the Assistant handles the rest.
How it works
- Prepare your spreadsheet — Create a simple Excel or CSV file with columns for student name (or registration number), subject, and score. The exact column names are flexible — the Assistant is smart enough to recognise common variations.
- Upload to the Assistant — Drag the file into the chat or click the attachment icon.
- Describe the context — Type something like “These are S2 Blue Mathematics mid-term exam marks”.
- Review the preview — The Assistant shows a summary of what it detected: number of students, subject, assessment type, and a preview table with matched student records.
- Confirm and save — If everything looks correct, confirm and the marks are saved to the Assessment module automatically.
Smart matching
The Assistant uses intelligent matching to link spreadsheet rows to your school’s student records:
- Registration number matching — exact match on student ID or registration number (most reliable)
- Name matching — fuzzy matching that handles spelling variations, name order differences, and common abbreviations
- Duplicate detection — flags rows where the same student appears more than once
- Unmatched rows — clearly highlights any rows that couldn’t be matched so you can fix them manually
Supported assessment types
File upload mark entry works with all assessment types configured in your school: beginning-of-term exams, mid-term exams, end-of-term exams, practicals, coursework, and any custom types you’ve defined.
11. Data Security & Tenant Isolation
Security is built into every layer of the Assistant. Here’s how your data stays safe:
Tenant isolation
SchoolAdmin is a multi-tenant system — many schools share the same platform. The Assistant enforces strict tenant isolation:
- Every query is automatically scoped to your school only. You cannot accidentally (or intentionally) access another school’s data.
- Your school’s
tenant_idis injected into every database query at the platform level, not by the AI. This means even a cleverly worded question cannot bypass the boundary.
Read-only access
The Assistant operates with read-only database permissions. It can run SELECT queries to fetch data but cannot run INSERT, UPDATE, DELETE, or any other data-modifying commands. The only exception is the mark entry feature, which uses a separate, purpose-built write path with its own validation.
Query safety checks
Before any query reaches your database, it passes through multiple safety layers:
- Keyword blocklist — queries containing dangerous SQL keywords (DROP, ALTER, TRUNCATE, etc.) are rejected
- Table allowlist — only approved tables can be queried (no access to system tables, authentication tables, or configuration tables)
- Column blocklist — sensitive columns like password hashes, API keys, and tokens are never returned
- Query limits — complex queries are bounded to prevent excessive database load
Audit logging
Every question asked and every query executed is logged in an audit trail. School administrators with the appropriate permissions can review the Assistant audit log to see who asked what and when.
12. Tips for Better Answers
The Assistant is remarkably good at understanding natural language, but a few habits will help you get the most out of it.
Be specific about time
Instead of “Show me fee collection”, say “Show me fee collection for Term 1 2026”. The Assistant defaults to the current term when time isn’t specified, but being explicit avoids ambiguity.
Name the class or stream
Instead of “How is S2 doing?”, say “How is S2 Blue doing in Mathematics?” More specific questions get more useful answers.
Ask one thing at a time
The Assistant can handle complex multi-part questions, but you’ll get cleaner results if you break them up:
- Instead of: “Show me fee collection, student enrolment, and exam results for S3”
- Try: “Show me S3 fee collection this term” → then “Now show me their exam results”
Use follow-ups to drill down
Start broad, then narrow down. “Which classes have low attendance?” → “Show me the individual students in S4 Red who missed more than 3 days”. The Assistant maintains context, so each follow-up builds on the previous answer.
Ask for different formats
If the Assistant gives you a table but you wanted a chart, just say “Show this as a bar chart” or “Can I see this as a pie chart instead?”
Use natural Ugandan education terms
The Assistant understands Uganda-specific education terminology: “S1” through “S6”, “O-Level” and “A-Level”, “UCE” and “UACE”, “UNEB”, “USE grant”, “PLE”, subject combinations like “HEG” and “PCM”, and more. Use the terms you’re familiar with.
13. Real-World Scenarios
Scenario 1: Board meeting preparation
The Board of Governors meeting is tomorrow. The Head Teacher needs a snapshot of school performance.
The Assistant returns a comprehensive summary with statistics cards for each area, a comparison with the previous term, and a narrative highlighting key achievements and concerns. Export the table data to CSV and paste it into your board report.
Scenario 2: Identifying at-risk students
The Director of Studies wants to catch struggling students early.
Follow-up: “Of those students, which ones also have attendance below 75%?”
The first question returns a table of at-risk students. The follow-up cross-references attendance data to find students with both academic and attendance problems — the ones who need urgent intervention.
Scenario 3: Fee follow-up campaign
The Bursar needs to contact parents of students with large outstanding balances.
The Assistant returns a table with student names, classes, outstanding amounts, and guardian contact details. Click the export button to download a CSV that can be used for SMS or WhatsApp broadcast.
Scenario 4: Teacher workload balancing
The Deputy Head Teacher is planning the next term’s teaching assignments.
Follow-up: “Which teachers have capacity for more periods?”
A sorted table with bar-chart visualisation makes it immediately clear who is overloaded and who has spare capacity.
Scenario 5: Bulk mark entry
The Mathematics department has just marked 180 S2 mid-term papers and recorded scores in Excel.
“These are S2 Mathematics mid-term exam scores out of 100”
The Assistant reads the spreadsheet, matches each row to a student record, shows a preview with 176 matched and 4 unmatched, and asks for confirmation. After approval, all 176 scores are saved to the Assessment module in seconds — a task that would have taken 45 minutes of manual entry.
Scenario 6: Quick compliance check
An inspector from the Ministry of Education is visiting next week.
Follow-up: “What about students missing birth certificate information?”
Instantly identify gaps in your records before the inspector does.
14. Limitations
The Assistant is powerful, but it’s important to understand its boundaries:
What it cannot do
- Modify data — It cannot edit student records, change fees, adjust timetables, or delete anything (except through purpose-built features like mark entry with explicit confirmation).
- Access external systems — It only queries your SchoolAdmin database. It cannot check bank accounts, Ministry portals, or other external systems.
- Predict the future — It reports on existing data. “How many students will enrol next year?” is a guess, not a data query. It will tell you this honestly.
- Access other schools — Strictly limited to your school’s data, even if you ask about another school by name.
When answers might be imprecise
- Ambiguous questions — “How are we doing?” is too vague. The Assistant will ask for clarification or make a reasonable assumption and tell you what it assumed.
- Very complex queries — Questions involving five or more data domains at once may produce partial answers. Break them into smaller questions.
- Data that isn’t entered — The Assistant can only report on data in the system. If attendance hasn’t been recorded for a particular week, it will tell you the data is missing rather than guess.
15. Glossary
| Term | Definition |
|---|---|
| AI Assistant | SchoolAdmin’s built-in conversational interface that answers school data questions in plain English. |
| Conversation thread | A single chat session with the Assistant. Context is maintained within a thread but not across threads. |
| Slash command | A shortcut (e.g., /fees) that pre-fills a common query in the chat input. |
| KPI card | A visual statistics card showing a key metric as a large number with a label, used in the Assistant’s responses. |
| Tenant isolation | The security boundary that ensures each school’s data is completely separate from other schools on the same platform. |
| Query pipeline | The multi-step process the Assistant uses to translate your question into a database query and format the results. |
| Rich response | An Assistant reply that includes tables, charts, statistics cards, or other visual elements beyond plain text. |
| File upload | The ability to attach spreadsheets, documents, or images to a conversation for the Assistant to process. |
| Mark entry | The process of recording exam/assessment scores. The Assistant supports bulk mark entry via file upload. |
| Fuzzy matching | An intelligent matching algorithm that links student names in uploaded files to database records, even with spelling variations. |
| Audit log | A chronological record of all questions asked and queries executed by the Assistant, used for accountability and compliance. |
| Thinking indicator | The real-time progress display shown while the Assistant processes your question (e.g., “Building query…”). |
| Context | The conversational memory that allows follow-up questions within the same thread (e.g., “of those students” refers to the previous result). |
| Export | Download Assistant table results as a CSV file for use in spreadsheets or reports. |
| Read-only | The Assistant’s default operating mode — it can view your data but cannot change it. |