# Team members

Invite people, understand the three roles, and know how seats are counted.

Source: https://docs.annot8.app/docs/dashboard/team-members



Membership is per workspace. Manage it in **Team**.

## Inviting [#inviting]

1. Click **Invite member**
2. Enter their email address
3. Choose **Member** or **Admin**
4. Send

They get an email with a join link. Until they accept, the invitation shows as
pending — and it already occupies a seat.

<Callout type="info">
  Invitations don't expire. If someone loses the email, revoke the invitation
  and send a fresh one rather than waiting for a timeout.
</Callout>

## Roles [#roles]

|                                 | Owner | Admin | Member    |
| ------------------------------- | ----- | ----- | --------- |
| View projects and threads       | Yes   | Yes   | Yes       |
| Comment                         | Yes   | Yes   | Yes       |
| Resolve threads                 | Yes   | Yes   | Yes       |
| Delete threads                  | Yes   | Yes   | No        |
| Create / edit / delete projects | Yes   | Yes   | No        |
| Manage integrations             | Yes   | Yes   | View only |
| Manage notification settings    | Yes   | Yes   | No        |
| Edit workspace settings         | Yes   | Yes   | No        |
| View and manage billing         | Yes   | Yes   | No        |
| Invite and remove members       | Yes   | Yes   | No        |
| Change someone's role           | Yes   | No    | No        |
| Delete the workspace            | Yes   | No    | No        |

**Owner** is whoever created the workspace. There's exactly one, and the owner
can't be removed.

**Admin** is a working administrator: everything except changing roles and
deleting the workspace. Admins can manage billing.

**Member** is read-and-participate: see projects, comment, resolve. No settings,
no invitations, no billing.

Roles are chosen when you invite someone. Only the owner can change a role
afterwards.

## Removing someone [#removing-someone]

Find them in the list and click **Remove**. They lose access immediately, their
seat frees up, and their existing comments stay — removing a person doesn't
rewrite history.

They can be re-invited later.

Two guardrails: the owner can't be removed, and an admin can't remove another
admin. Only the owner can do that.

## Pending invitations [#pending-invitations]

Pending invites can be **revoked**, which frees the seat immediately.

## Seats [#seats]

<Callout type="warn">
  **Pending invitations count toward your seat limit.** Used seats = current
  members + pending invitations. This is the most common reason an invitation is
  refused when the team list looks like it has room — check for stale pending
  invites and revoke the ones that are never going to be accepted.
</Callout>

| Plan       | Seats           |
| ---------- | --------------- |
| Free       | 3               |
| Pro        | As purchased    |
| Business   | As purchased    |
| Enterprise | No seat minimum |

Guest reviewers — people who leave feedback through a
[public link](/docs/feedback/links) without an account — **never** consume a
seat. The Free plan allows 3 distinct guest reviewers; every paid plan makes
them unlimited.

See [Seat management](/docs/billing/seats) for buying and releasing seats.

## SSO [#sso]

SAML and OIDC single sign-on is part of the **Business** and **Enterprise**
plans, configured with our team during onboarding rather than self-serve. Email
[sales@annot8.app](mailto:sales@annot8.app).
