The school workspace
Bringing your roster in
Loading learners and their guardians from a spreadsheet — the columns that matter, the dry run that catches problems before anything is saved, and the thirty minutes you have to undo it.
Nobody types eighteen hundred learners in by hand. Imports, in the Advanced part of your menu, is how a school’s roster arrives — learners and the adults attached to them, out of whatever spreadsheet the office already keeps.
The landing screen describes itself plainly: bulk-add learners and their guardians from a spreadsheet, with past imports listed below. Each past run shows its file name, how many of its rows were ready, when it was uploaded, and a status — Ready to import, Preparing, Importing, Imported, Imported with skips, Failed or Undone. Opening one reopens that run exactly where it was left.
Step one: the file
New import is headed Step 1 of 2 — choose your file, and promises that
every row is checked before anything is saved. You can drag a file in or pick
one: CSV, .xlsx or .xls, up to 25 MB.
Two buttons are worth pressing before you upload anything. Download CSV template gives you a file with the right headings already in it. Show column guide lists what each column is for.
Four columns are required: the learner’s first name, the learner’s surname, the guardian’s full name, and at least one way to reach that guardian — a phone number or an email address. A learner with no reachable adult is a learner nobody can be told about, which is why the import will not accept one.
The badge value is not one of them. Badges are paired physically, on the bulk pairing screen, after the roster is in — and a school’s own roster export almost never carries a badge number, so requiring one would turn a five-minute job into a spreadsheet nobody needed to build. A learner imports without one and shows as “no badge yet” until you pair it.
The learner’s name is asked for in two columns rather than one because a class list is read down the surname column — a teacher looking for a child scans for the family name, and so does anyone reading a report. Keep a compound surname whole in the surname column: van der Merwe, le Roux, du Plessis all belong there in full. If your own system keeps a single combined name, upload it in the older single name column instead and it will still be accepted; the system splits it at the first space, which is right for most rows and is the guess the two columns exist to remove.
The optional columns are where most of the long-term pain is avoided. Class name and grade place the learner. Relationship and contact order describe the guardian. The badge value belongs here too, for a school that already has it. And then there is your school’s own learner number — optional to supply, and the single most valuable thing on the list. It is what a repeat import matches on. Give it, and re-importing a learner updates the child you already have, even after their badge has been replaced. Leave it out, and the only thing left to match on is the badge — so a replaced badge reads as a new arrival and the same child quietly appears twice.
One optional column does something no other one does. Collection restriction takes the REASON a particular guardian may not collect a learner — a court order number, say — written in words. Leave it empty for the guardians who may. Anything you write in it is recorded as a collection restriction the gate enforces, so it is worth filling in during the import rather than as a set of edits afterwards: the restrictions arrive with the roster, on the day the roster does.
Step two: the dry run
Uploading takes you to Step 2 of 2 — check the rows below, then import the ones that are ready. Nothing has been written to your school yet. This is a rehearsal of the import, and it is the whole reason the feature is two screens rather than one button.
Four counts sit at the top: rows in the file, rows ready to import, rows with warnings, and rows with errors.
How your columns were read is the panel to open first. It shows which column of your file landed in which field, and says why it matters — a mis-read column is invisible later. Change one and the whole preview re-checks itself. If your file mentions classes the school does not have, Class names that need an answer asks you to decide once, rather than guessing eighteen hundred times.
Every problem row is explained in words rather than codes: a guardian who needs a phone or an email, a phone number that is not valid, a badge that already belongs to another learner, a row duplicated inside your own file, a name that may match an existing learner. Press Fix on a row and correct it there and then; the preview re-runs against your correction.
Two ways to finish are offered under If some rows have problems. Import only if every row is valid refuses to write anything while an error remains — the safe default for a first load. Import valid rows, skip the rest brings in what is clean and leaves the rest for you to fix later.
Committing, and undoing
The import button names the number of LEARNERS it is about to add, and confirms before it does: this adds the learners and their guardians, and you can undo it for thirty minutes afterwards. That number is deliberately not the row count beside it — a roster carries one row per guardian, so a learner with two guardians is two rows, and the figure the app reports afterwards has always been learners.
At that moment the app asks for your passkey. This is the largest single write of personal information a school ever makes in MySentinel — hundreds of children and their families in one press — so it is held behind the same confirmation as a lockdown rather than a plain button.
A progress bar follows the run. When it finishes you get the result: how many learners and guardians were created, how many rows were skipped, and how long you have to undo.
Undo this import is the safety net, and it is deliberately awkward. You type
ROLLBACK and confirm with your passkey, and the screen tells you exactly what
that means: it removes the learners and guardians this import added, and releases
their badges so you can re-import a corrected file over the top. It cannot be
reversed. Thirty minutes is enough to notice that a column was mapped wrongly,
and short enough that undo never becomes a way of deleting real history.
If a run stops part-way, the screen says so honestly — the learners it already added are on your roster — and offers both directions: Carry on importing from where it stopped, or undo everything it added.
After the import
Learners arrive without photos, and guardians arrive unconfirmed. Photos and badge pairing are covered in the learners chapter; guardians added this way go through the same contact-confirmation round as any guardian added by hand, so they appear in your verification queue rather than being silently trusted.