The Team Members tab reads the same roster the Team page draws its cards from: the union of crew members, sales reps, the org membership mirror and Clerk accounts, folded so one human is one row. Each row shows name, role and contact, with an inline editor for details, crew, role, their work record and app permissions.
Also called: who works here · staff list · employee list · user accounts · add a person
- 1The tab loads /api/team/roster, which resolves people through lib/orgRoster and returns name, role, crew, sources and whether they can sign in.
- 2Rows are grouped into Office, Sales, one section per crew, and Not on a crew.
- 3Editing writes to whichever store owns the person: /api/team/member for a crew or rep row, /api/users/[id]/role for someone with a Clerk account.
- 4A header count says how many people there are and how many of them have a login.
Quoted in the file: “Under the team members tab in the Ridgeline sub-account there's nobody there. When I go to Team, I see 3 different crews of people plus salespeople… are these not supposed to be directly connected?” They were, and they weren't — this tab listed Clerk accounts on top of a browser-local array while the Team page listed the roster union. On Ridgeline that was 0 against 19. The comment names the failure mode: “the same question asked twice and answered differently, which is the failure mode this codebase keeps having.” Both surfaces now read the roster.
- Two screens answered who works here with different numbers.
- Field labour with no login was invisible in Settings.
- A browser-local copy of the team list survived long enough to show a stale list after someone was removed elsewhere.
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 →