Appearance
Signing in
Who this is for: All users
What you'll achieve: Open your school portal and sign in with SSO or email and password
Before you begin
- Your school’s subdomain (for example
demoorriverside) - An invited account (email + temporary password from your admin)
Portal URL
Each school lives under a tenant path:
https://{your-host}/t/{subdomain}/loginExamples:
| Environment | URL |
|---|---|
| Local demo | http://localhost:3001/t/demo/login |
| Production pattern | https://app.schoolrota.com/t/{subdomain}/login |
Multi-site trusts (Phase 9)
When a tenant has multiple school sites, canonical URLs will include a site segment: /t/{subdomain}/sites/{siteCode}/login. Single-school tenants keep the current path; legacy URLs redirect to the default site.

Steps
- Open your school’s login URL.
- If your school has SSO enabled, select Sign in with Microsoft (or Google/Okta).
- Otherwise enter your email and password and select Sign in.
- You land on your role’s home — My schedule for staff (personal timetable), Today for duty leads and office staff.

Demo credentials (local only)
| Field | Value |
|---|---|
admin@demo.school | |
| Password | changeme123 |
Production
Never use demo passwords in production. Change temporary passwords after first login when your school process requires it.
Sign out
- Open Admin in the sidebar (Configure section).
- Select Sign out.
Current limitations
- Password reset is not self-service in the product yet. Contact a school admin if you are locked out.
- SAML IdPs are not supported yet — use OIDC (Entra, Okta, Google). See SSO setup or the IdP pilot runbooks.
- MFA is stored but not enforced at login yet.
Troubleshooting
| Problem | What to try |
|---|---|
| Wrong school | Check the {subdomain} segment in the URL |
| Invalid credentials | Confirm email spelling and temporary password with your admin |
| Redirected back to login | Session expired — sign in again |
