Staff & Onboarding
Inviting staff
Owners invite new staff members from the app. An automated, branded email is sent to the invitee with an activation link.
Activation
The invited staff member clicks the link, verifies their identity via an emailed OTP code, and sets their own password.
Onboarding states
A staff record moves through:
INVITATION_PENDING → EMAIL_VERIFIED → PROFILE_INCOMPLETE → ONBOARDING_COMPLETED → ACTIVEThe final ONBOARDING_COMPLETED → ACTIVE step is admin-gated, not
automatic — once a staff member finishes their profile, an admin must
explicitly approve them (a tick-icon action in the Staff Directory table,
next to the onboarding-state badge) before they show as fully active.
This was previously a real gap: nothing in the codebase ever transitioned a
staff member out of ONBOARDING_COMPLETED, even though the UI already had
a badge expecting that eventual state. Fixed by adding the explicit
approval action rather than making the transition automatic — the existing
UI already implied a deliberate gate was intended.
Admin auditing
Owners receive automated security-alert emails whenever a staff member accepts an invite, verifies their identity, or resets/changes their password.
Staff management UI
Admins have a dedicated Staff Detail page showing personal/work info, workload stats, assigned customers, and admin controls (role, department, commission tier, active/inactive toggle).