Skip to content

Importing staff

Who this is for: Admin, Tenant owner
What you'll achieve: Bulk-load people from CSV or Excel with correct duty tiers

Requires role

staff.import — Tenant owner or Admin

Before you begin

  • Download or copy the CSV template from the Staff page (or use templates/staff.csv in the repo)
  • Decide duty tiers for each person

Staff import panel

CSV import

Columns

ColumnRequiredNotes
NameYesDisplay name
EmailNoContact / matching
TeamNoMaps to grade/team banding
RoleNoJob title label
Duty tierRecommendedpreferred, acceptable, last_resort, or excluded
First aiderNotrue / false

Example:

csv
Name,Email,Team,Role,Duty tier,First aider
Alex Example,alex@school.test,Professional Services,Teaching Assistant,preferred,true
Sam Example,sam@school.test,Teaching Staff,Class Teacher,last_resort,false

Steps

  1. Open Staff.
  2. Download the CSV template if needed.
  3. Paste CSV rows into the import area (or follow the on-page paste flow).
  4. Review validation messages.
  5. Confirm the import.

XLSX import (traffic-light tiers)

SchoolRota can parse Kenley-style spreadsheets where duty eligibility is encoded as cell fill colour (traffic lights) rather than a text column.

Typical colour mapping:

Colour cueDuty tier
GreenPreferred / eligible
AmberAcceptable / caution
RedLast resort or excluded (per parser rules)

Exact mapping follows the domain helpers (dutyTierFromFillRgb / dutyTierFromLabel). Prefer an explicit Duty tier column in CSV when you control the file format.

Steps

  1. Open Staff.
  2. Upload the .xlsx file.
  3. Review parsed rows and tiers.
  4. Confirm the import.

After import

  1. Spot-check a few people in the directory.
  2. Assign leads on the weekly template in Initial setup.
  3. Optionally add weekly commitments.

What happens next

Troubleshooting

ProblemWhat to try
Tiers all defaultCheck column header spelling or XLSX fill colours
Duplicate namesPrefer unique emails; clean the sheet before re-import
Empty importEnsure a header row and at least one data row

SchoolRota documentation — every slot covered, every day.