A write path that routes an edit to whichever store the person actually came from — crew_members for a framer, lead_distribution_reps for a rep — so Settings can edit real people who have no Clerk user.
Also called: why does it say invite instead of edit · employee has no account · change a crew member's details
- 1POST /api/team/member, admin only, resolves the person through the roster and finds their originating store.
- 2Name, email, phone, role, crew and active status are written to that store.
- 3Not found in any store is an error, never a silent success.
- 4The permissions half of the editor stays gated on hasLogin, because permissions live on the Clerk user.
- 5Phone is deliberately not shown here, because the roster withholds it and the crew card already owns that field.
The team settings screen offered Invite beside every single employee and Edit beside none, because editing had been tied to having an account — and almost nobody on a builder's roster has one, since the crew signs in through links rather than passwords. On a real roster that meant an invitation button for eighteen of nineteen people and no way to edit any of them, which reads as broken. Anyone who works there can be edited now whether they can sign in or not, and the edit finds where that person's record actually lives before it writes. An edit that cannot be placed is refused outright, because a settings screen that accepts a change and drops it is worse than one that says no.
- Editing gated behind an account almost nobody has.
- Edits silently dropped when the person lived in another store.
- Duplicate phone fields inviting divergent copies of the same number.
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →