Inviting team members
How to invite team members (Admin, Member, or Viewer) to your ADO Pilot org, when invites expire, and how to handle duplicates.
Last updated
Admins invite team members from the Team settings page. An invite emails the recipient a link, appears in the Pending Invitations list until it is accepted or cancelled, and expires automatically after 14 days.
Send an invite
Only Admins see the Invite member button. If you do not see it, your role is not Admin — see Roles and permissions.
Step 1 — Open the Team page
In the dashboard, go to Settings → Team. You will see the current member list and the Role permissions card.
Step 2 — Click Invite member
The Invite member button is in the top right of the Team page header. It opens the Invite team member dialog.
Step 3 — Enter the email and pick a role
Type the recipient's email address and choose Admin, Member, or Viewer from the role dropdown. Use the role descriptions on the same page as a reference, or see the capability matrix below. There is no separate "promote to Admin" flow — pick the role you want at invite time. To change someone's role later, remove them and re-invite with the new role (see Roles and permissions).
Step 4 — Click Send invite
Click Send invite to submit the dialog. The new invite appears in the Pending Invitations list with the recipient's email, the inviting admin, the role badge, and an Expires date.
ADO Pilot has three organization roles. The descriptions below match what the Role permissions card on the Team settings page shows in the dashboard.
- Admin — Full access to all settings, billing, team management, and repository configuration.
- Member — Can manage repositories, view reviews, and configure notification preferences.
- Viewer — Read-only access to review history and repository status. Cannot change settings.
| Capability | Admin | Member | Viewer |
|---|---|---|---|
| View dashboard, reviews, and findings | Yes | Yes | Yes |
| View repository status and integration page | Yes | Yes | Yes |
| View team members and pending invites | Yes | Yes | Yes |
| View billing and subscription | Yes | Yes | Yes |
| Configure repository settings | Yes | No | No |
| Change notification settings | Yes | No | No |
| Test webhooks | Yes | No | No |
| Invite team members | Yes | No | No |
| Cancel pending invites | Yes | No | No |
| Remove team members | Yes | No | No |
| Start Stripe checkout | Yes | No | No |
| Open the Stripe billing portal | Yes | No | No |
| Change the overage cap | Yes | No | No |
How long invites last
Pending invites expire 14 days after they are sent. After that, the invite is removed from Cosmos via native TTL and the link in the invite email no longer works. Send a fresh invite if the recipient missed the window.
Duplicates and conflicts
The invite endpoint rejects the request before it creates anything if the email already maps to an active invite or member. The exact responses are:
| Situation | HTTP status | Message |
|---|---|---|
| Email is already a member of this org | 409 | That user is already a member of this org |
| An invite for the same email is still pending | 409 | An invite is already pending for that email |
| Email or role is missing or malformed | 400 | Invalid email or role |
| Caller is not an Admin | 403 | Only admins can invite team members |
If a previous invite is in the way, cancel it first (see below), then send a new invite.
Cancel a pending invite
In the Pending Invitations list, click the red X on the invite row. The invite is deleted from Cosmos immediately. If the recipient later opens the invite link, the link no longer resolves to a valid invite and they cannot join the org through it.
There is no undo. Send a new invite if you cancel by mistake.
What the recipient sees
The recipient receives an email with a link that points back to the dashboard's invite-acceptance flow. Once they accept, they appear in the Members list with the role you selected, the invite is removed from Pending Invitations, and they can sign in.