Admin

Manage staff and roles

Every person who touches Thermal — whoever answers the phone, dispatches jobs, or works a truck — gets a staff record with a role. The role decides what they can see and do; you don't configure access separately from adding the person. This guide covers adding and managing any staff member. If you're specifically bringing on a field technician, Add a technician walks the same steps with the technician's-eye view of what they land in.

The four roles

The Staff list
  • Owner — full access to everything, including Integrations. A shop needs at least one; Thermal won't let you demote your last remaining owner.
  • Office — full access except Integrations. The right role for CSR, billing, and back-office staff who run the business day to day but shouldn't be connecting QuickBooks or Stripe.
  • Dispatcher — the work surface only: dispatch, work orders, customers, agreements, proposals, invoices, reports, equipment, and inspections. No Staff, Price Book, Settings, Integrations, Inventory, or Purchasing.
  • Technician — no office-app access at all. A technician signs in to the separate field app (/tech), scoped to their own assigned jobs, schedule, and van inventory.

The exact area-by-role access matrix — generated straight from the app's access-control code, so it can't drift from what the product actually enforces — is in Roles & permissions.

Add a staff member

  1. Open Staff and choose Add staff.
  2. Enter their First name, Last name, Email, and Phone. The email is what they'll sign in with — leave it blank and the person is added as a record (assignable, has a name) but gets no login.
  3. Set Role to whichever of the four roles matches what they should see and do (above).
  4. If the shop has more than one branch, set their Branch — this only appears once you've set up a second branch. See Set up branches for what a home branch controls.
  5. Optionally fill in Hire date and Base rate ($/hr) — used for payroll and job-costing reports, not required to get someone working.
  6. Leave Status on Active. On leave is for someone temporarily out — it doesn't remove their access, just flags their status.
  7. Choose Add staff. If you entered an email, Thermal sends an invite — the person sets their own password from there. Until they accept it, their row shows Pending invite.

Manage an existing staff member

Open any row from the Staff list to edit their name, role, contact info, hire date, base rate, or status. A few things worth knowing:

  • Changing someone's role takes effect immediately — the next time they load the app, their access matches the new role. Downgrading a Dispatcher to Technician, for instance, moves them out of the office app entirely.
  • You can't demote your last owner. If a staff member's row shows they're the only owner left, the Role field is locked until you promote someone else to Owner first.
  • A blank email that gets filled in sends a fresh invite — useful for a technician you added without one who's now ready to sign in.
  • Adding an email or deactivating someone updates their access on Thermal's side (Clerk) automatically — there's no separate "revoke access" step beyond changing their status.

Reference

  • Area access by role and default branch visibility by role — generated from lib/rbac.ts and the branch-scope resolver — are in Roles & permissions.
  • Who can reach Staff — Owners and Office users. See the same reference for the full matrix.

On this page