Inviting coaches
Manage coaches at /coach/coaches. Two roles:
- Admin — can do everything (manage families, calendars, all events, invite other coaches). Sees every group.
- Editor — can only edit events on the groups you check. Used for group-specific assistant coaches.
Both roles sign in the same way: type their email at /coach,
click the magic link in the email, they’re in.
Step by step — invite a coach
- Go to
/coach/coaches. - Under Invite a coach, fill in Name and Email.
- Check Admin if they should have full access. Skip this for group-specific editors.
- For editors, check one or more groups they should be allowed to edit. (Admins see all groups regardless.)
- Add coach.
The coach row appears in the Existing table immediately. They won’t receive a notification email — tell them out-of-band (“you’ve been added, sign in at ts.onsnowlive.com/coach with this email”).
When they sign in
- They visit
/coachand type the email you added. - We send them a magic link (single-use, valid 15 minutes).
- They click it; we set a session cookie; they’re signed in.
If they say “I never got the email”, first check the email matches exactly (case-insensitive but no typos) — magic-link requests for an unknown email silently no-op for privacy.
Editor vs admin in practice
| Action | Admin | Editor |
|---|---|---|
| Create events | ✓ | only on their groups |
| Edit events | ✓ | only on their groups |
| Mark attendance / coach notes | ✓ | only on their groups |
| Post to the channel chat | ✓ | only on their groups |
| See the families list | ✓ | ✗ |
| Add / edit families | ✓ | ✗ |
| Add calendars or groups | ✓ | ✗ |
| Invite other coaches | ✓ | ✗ |
The intent: editors are the day-of helpers; admins are the team’s operational owners.
What happens when you add or change a coach
- A row is created or updated; no notifications.
- The coach can sign in the next time they request a magic link.
- For existing coaches, role/group changes apply on their next request — currently signed-in sessions keep their old permissions until logout or session expiry.
Removing a coach
There’s no “delete coach” button — archive them instead by editing the row directly in the database (admin tool not yet wired in production; ping the dev). In practice, just removing all their group assignments effectively neutralizes an editor.