Team Management

Manage invitations, member access, permissions, assignments, and team activity.

BeginnerownermanageradminUpdated 2026-09-23

Team Management

Clean Estimate provides three dedicated pages under Settings > Team:

  • Members — invite people, review access status, and manage profiles,

roles, service-location scope, crew assignment, and active access.

  • Permissions — grant or remove permissions for an individual teammate.
  • Activity — review supported team access, estimate, proposal, and pipeline

activity by teammate and action.

The dedicated pages keep the useful V1 team workflow while using V2's Clerk organization membership, location confinement, and server-enforced permissions. It does not change the native mobile app's approved navigation or layout.

Who can manage the team

Team administration follows effective permissions, not a displayed role name alone. A teammate needs Manage team (manage_team) to open these pages and change another non-owner member.

  • An all-location owner with Manage team can manage non-owner profiles,

roles, assignments, access, invitations, and individual permission grants.

  • An all-location non-owner manager with Manage team can manage non-owner

profiles, roles, assignments, access, and invitations, but cannot change individual permission grants.

  • A location-pinned manager with Manage team can see and manage only

non-owner members pinned to that same location. They can invite a non-owner teammate only into that persisted location. They cannot create an all-location or sibling-location invitation, unpin a member to All locations, move someone to a sibling location, or change individual permission grants.

You cannot use these controls to change your own role, permissions, location scope, or active state. Owner access is protected and is not offered as an assignable invitation role. Owner rows cannot be edited or deactivated through Team. The narrow exception is reactivation: an all-location owner may reactivate another inactive owner after the provider membership check succeeds.

Review the Members roster

The Members roster shows active and inactive joined teammates. Search finds a joined member by saved profile details, and the status control switches between Active, Inactive, and All members.

Each roster row identifies the member and retains the saved business profile, role, service-location scope, crew, and access status. Full name and verified login email are identity-provider data: they are read-only in the team editor and cannot be silently replaced by a company administrator.

In Settings > Team > Members, the roster shows a teammate's full name when available, then login email; if neither is available, it shows Team member. This changes only the display label, not member identities or assignments.

Pending invitations appear in a separate Team invitations lifecycle block, not in the joined-member search or status filter. That block shows the retained recipient and role plus the provider-confirmed delivery or review state and the available resend or revoke actions.

Invite a teammate

  1. Open Settings > Team > Members.
  2. Select Add member.
  3. Enter the teammate's name and email.
  4. Choose a non-owner role: Administrator, Office, **Sales

representative, or Crew**.

  1. Choose either All locations or one service location, then optionally

choose one eligible crew.

  1. Review the profile and assignment choices, then send the invitation.

The pending invitation retains the exact profile, role, location, and crew selected when it was sent. Those values do not silently change while the recipient is completing sign-in. Manage the joined member's individual grants from Permissions.

Use Resend access email when the same pending teammate needs a new email. Use Revoke invite when the person should no longer be able to join. Both actions operate on the durable pending record, so an old or replaced invitation cannot create a second member or revive revoked access.

Edit a member profile

Open a member from the roster to update the company-managed phone, job title, and private internal notes. Full name and verified login email remain read-only. The teammate changes their own name, email, or password through Clerk's verified My Account flow.

Changing a role reseeds the member's permission flags from the selected V2 role defaults. Clean Estimate asks for confirmation first because individually granted permissions may change. Historical estimates, messages, jobs, and activity remain attributed to the same member.

Assign a location and crew

V2 supports one of these member location scopes:

  • All locations
  • One pinned service location

It does not support an arbitrary subset of several locations. A member can be assigned to one crew or no crew; multi-crew membership is not part of this workflow.

Crews belong to one service location. A pinned member can join only a crew at that same location. Clean Estimate blocks an incompatible location or crew change, and it can require future appointments or crew conflicts to be resolved before the assignment changes. An all-location member may be assigned to one eligible crew anywhere in the organization.

Deactivate or Reactivate a member

Select Deactivate for an eligible non-owner member, enter the required reason, and confirm to remove current Clean Estimate access without deleting the member or their history. The reason is limited to 500 characters and remains visible with the inactive member. The member's profile, role, location, crew, permissions, and historical work stay attached to the organization.

Select Reactivate to restore local access. An in-scope teammate with Manage team may reactivate an eligible non-owner; only an all-location owner may reactivate another inactive owner. Clean Estimate first confirms that the person's Clerk organization membership still exists. If the provider membership is missing, the member stays inactive. After the provider removal has reconciled, use Add member with the same verified email to send a new invitation; Clean Estimate reuses the durable member identity and history instead of creating an unrelated active duplicate. If provider state is still ambiguous, another invitation remains blocked until reconciliation finishes. If the provider cannot be checked, reactivation fails closed and can be tried again later. A concurrent deactivation or access change wins over an older reactivation request.

Invitation sends, resends, and revocations also reconcile local state with Clerk. If Clerk cannot confirm an outcome, Clean Estimate keeps the durable row in a reviewable state and asks you to reload before trying another action. Do not create a second invitation to work around that message. A matching provider acceptance completes the pending member, and a matching provider membership removal deactivates access. Older removal events from a replaced provider membership cannot deactivate the newer membership.

Set individual permissions

Open Permissions from the Team workspace to review an individual member's saved grants. Only an all-location owner with Manage team can change or reset those grants. Clean Estimate does not edit a shared permission template for every person with the same role. See Roles and Permissions for the role defaults, available grants, and server enforcement rules.

The same Permissions tab also carries a Rehash access toggle, gating that one teammate's access to the Rehash queue. It sits outside the versioned permission grants above: any teammate with Manage team access to the selected member can turn it on or off, not only an all-location owner. A change takes effect on the teammate's next request.

The same member workspace has a separate Red Line access control. Owner, Admin, and Sales representative roles allow it by default; Office and Crew deny it. A teammate who can manage the selected member can set an explicit allow or deny, or choose Use role default to clear that exception. This controls private Red Line estimate details only; it does not grant View all commissions or bypass the estimate's below-floor approval requirement. See Setting Up Your Default Pricing.

Review Activity

Open Activity to review a bounded, newest-first feed. Filter by member or action and select Load more activity to continue through older rows.

The Activity feed includes:

  • invitation reserve, send, ambiguous, failure, revoke, expiry, resend, and

acceptance events;

  • member profile, role, individual permission, location, crew, deactivation,

reactivation, and company sign-in membership changes;

  • estimate creation;
  • every sent proposal revision, including resends as separate send rows;
  • recorded proposal views, aggregated with the view count;
  • proposal acceptance with the exact accepted revision, option, and total;
  • proposal decline and genuine proposal expiry; and
  • lead pipeline stage history.

Activity uses a named teammate only when the underlying history stores that actor. Customer activity is labeled Customer; deadline expiry and other recorded system work use the appropriate system or automation label. Estimate creation, proposal sends, declines, and older rows without actor evidence show Unknown instead of treating the estimate's current assignee as the person who performed an earlier action. The member filter therefore matches business events only when that member is the stored actor; it does not filter business events by mutable assignment.

A location-pinned manager receives only rows allowed by that location's record scope; they cannot use Activity to inspect sibling-location estimates, leads, or teammates. Activity is not a sign-in audit and does not claim to show login events.

Training and certifications

Settings → Training and certifications is a separate page, also gated on Manage team. It is where the office defines which certifications and trainings the organization tracks — a name, whether it is required or optional, an optional Valid for (days) expiry, and an active/inactive state — and records the date a specific teammate completed one. A crew member's own status (complete, expired, missing, or optional) is read-only on their mobile app; nothing on that page lets a crew member record their own completion. See Crew Pay for the related Settings page that covers pay policy and crew splits.

V1 differences retained intentionally

V1 used Manager, Sales Rep, Crew Lead, and Technician role labels plus a shared role-template permission editor. V2 uses Administrator, Office, Sales representative, and Crew, then stores authoritative permissions per member. V2 also adds explicit location and crew confinement to the team workflow. Unlike V1, a company administrator cannot overwrite another person's full name or verified login email; Clerk's verified account flow owns those identity fields. These differences preserve V2's identity, server authorization, and scheduling boundaries rather than recreating the older client-side assumptions.

Tips

  • Start with the least access a teammate needs and add a specific permission

only when their job requires it.

  • Review pending and inactive records regularly instead of sending duplicate

invitations.

  • Resolve future schedule conflicts before moving a teammate to another

location or crew.

  • Keep team administration, refunds, exports, financial reports, and

below-floor approval limited to accountable people.

Was this article helpful?

Still need help? Contact support