Skip to main content

The Four Roles

Settings → Members — the roster with each person's role picker and status
Every member of a workspace has exactly one role. Roles are per-workspace — the same person can be an Admin in one workspace and a Viewer in another. Seats follow the plan, not the role. On a paid plan, the Owner, Admins, and Members each hold a paid seat, billed to the Owner; the subscription starts with the Owner’s seat, and each invitation adds one. Viewers are free on every plan. A Free workspace has no paid seats at all: it is the Owner plus Viewers, which is why Member and Admin need Starter or higher.

Permission matrix

A Viewer who opens a create or edit page sees a Read-only access notice instead, and the API Keys and Billing entries are hidden from them. Viewers are the right way to loop in a PM, a manager, or a client who needs to see results but shouldn’t touch tests.

Inviting Someone

Invitations live in Workspace Settings → Members, or use the Invite members shortcut in the workspace switcher. Both are for Admins and the Owner.
The Invite Members button at the top right of Settings → Members
1

Enter their email and pick a role

An invitation is for one email address at a time. The role picker appears once you’ve typed an address — Member is the sensible default for a teammate who’ll work on tests; pick Viewer for someone who only needs to see results. In a Free workspace only Viewer can be picked; Member and Admin are greyed out with Starter and up.
Invite members dialog — email field with the role picker open on Admin, Member, and Viewer (free)
2

Confirm the seat (paid roles only)

Admin and Member invitations take a paid seat. If the workspace already has an unused seat this cycle, the invitation is created right away. Otherwise a Confirm changes summary shows the prorated amount, Continue to Payment takes you to Stripe, and the invitation appears under pending invitations as soon as the payment goes through. Viewer invitations skip this step entirely: viewer seats are free.
3

Send them the link

TestSprite doesn’t email invitations. Clicking Create Invitation Link opens an Invitation link ready dialog with the link; copy it and send it yourself, in Slack, a DM, or your own email. After a Stripe payment there is no dialog: copy the link from the invitation’s pending row in the roster (Copy invitation link), which works any time.The link is bound to the invited email address: the recipient must sign in with that exact email to accept, then click Join workspace. Links expire after 7 days; the roster shows the time left on each pending invitation. If a link expires or is lost, use New invitation link on that row — the old one stops working.
The dialog refuses the address with “already a member of this workspace” or “already has a pending invitation”. To change an existing member’s role, use the roster instead; for someone who hasn’t accepted yet, copy the link again from their pending row, or issue a fresh one with New invitation link.
No. Ownership can’t be assigned by invitation or role change. The current Owner can transfer it to an Admin or Member from that person’s row menu in the roster (Transfer ownership); you type their email to confirm and become an Admin yourself. The default workspace, the one created at signup, can’t be transferred.
Yes, per plan: 10 on Free, 25 on Starter, 50 on Standard, 100 on Pro, unlimited on Enterprise. Pending Viewer invitations count toward it. Past the cap, inviting fails with “Viewer limit reached” until you revoke an invitation, remove a Viewer, or upgrade.
The workspace is on the Free plan, which supports Viewers only — read-only guests are free and need no subscription. Member and Admin seats need Starter or higher: the Owner can upgrade from Settings → Plan, or create a new workspace on a paid plan.

Changing a Member’s Role

Admins and the Owner can change any member’s role from the Role dropdown in Workspace Settings → Members, except the Owner’s, which is fixed. In a Free workspace there is nothing to change: everyone besides the Owner is a Viewer, and promoting someone needs a paid plan.
The Role column in the roster — a dropdown on each row, and plain text for the Owner
Switching between Admin and Member is immediate and free. Crossing the Viewer boundary moves a seat too:
  • Member/Admin → Viewer frees their paid seat after you confirm. The freed seat stays usable until the end of the current billing cycle.
  • Viewer → Member/Admin needs a paid seat first. If an empty paid seat exists it’s used automatically; otherwise you pay for one on Stripe, and the role changes once that’s done.

Removing a Member — and Leaving

A roster row's overflow menu open on Remove Member
  • Admins and the Owner can remove anyone except the Owner, from the roster’s row menu. Removal takes effect immediately: the person loses access, and any API keys they minted in this workspace stop working. A paid seat stays paid through the current cycle and stops billing from the next one.
  • Anyone except the Owner can leave — use Leave Workspace on your own row, whatever your role. Afterwards, pick another workspace from the switcher; your default workspace is always there.
  • The Owner can’t leave or be removed. To step away, the Owner transfers ownership first (becoming an Admin), or deletes the workspace.

Where to Go Next

Workspaces

Free vs. paid workspaces, switching, and deletion

Sharing a Project

The fast path for showing one project to someone new

API Keys

Keys are bound to your membership in a workspace