Client user

A client user is a person at a client who logs in to SAQ; regular by default, elevated when added to a project, and optionally the billing contact.

Written for
user, admin, integration-developer
Roles
client-user, elevated-client-user, billing-contact
Requires
Feature
clients

A client user is a person at a client who can log in and follow their own tickets. They belong to exactly one client per workspace. Owners and Admins add them under Clients → Users by email; a new address gets a magic-link login, and the person can later set a password or add a passkey to get a full login. The same person can be a client user in one workspace and a workspace user in another, but never both in the same workspace.

Client users come in two modes:

Mode How it happens What they see and do
Regular Default for every client user Tickets they started or are a viewer on; Shared comments only; may move their own ticket to the customer-resolve state
Elevated Added as a member of a project (needs a full login) Also tickets in that project billed to their client; Shared and Internal comments; may be assigned tickets

How it relates to other concepts

  • Elevation is a project role (Member or Project manager) on one project. A client project manager may elevate other users of their own client only.
  • The Billing contact flag lets a client user download their client's client timesheets; it works only with a full login.
  • Regular client users cannot mint API tokens. Elevated client users can, naming at least one project.
  • Client users do not take a seat on the plan.

Rules

  • Client users never log time and never see notes, non-billable time, estimates, rates, or amounts, even when elevated. They see billable minutes and whether they are billed yet.
  • They cannot set billing fields. An elevated client user's change of kind is refused while the ticket has unbilled billable time.
  • Staff comments are never visible to a client user, elevated or not.
  • A regular client user's kind, state, priority, dates, labels, and estimate on a new ticket are ignored; their ticket gets the inbound kind and the workspace defaults.
  • Removing a client user ends their elevations, viewer grants, and assignments in this workspace; their login and other workspaces are unaffected.

Example

Ola at Nordic Retail reports a bug by email and later logs in with a magic link to read the shared replies. When Nordic Retail joins a longer project, Ola sets a password, is added to retail-shop as Member, and now sees every ticket on that project billed to Nordic Retail, including internal comments.