Inviting Members
This page has been cleared and is ready for updated Builder Studio documentation.
You add collaborators to a workspace by inviting them by email. An invite is a one-time link tied to a specific email address and a specific role. The recipient signs in with that email, accepts the invite, and becomes a member — gaining access to every canvas and credential the workspace owns, bounded by the role you chose.
Who can invite
- Owners and admins can invite members as editor or viewer, and can manage existing invites and members.
- Only the owner can invite someone as an admin. An admin cannot create another admin.
- Editors and viewers cannot invite anyone.
Send an invite
Enter the email and pick a role
Provide the collaborator's email and choose editor, viewer, or — if you are the owner — admin. The email is validated and normalized (trimmed and lowercased) so the same address resolves consistently.
An invite link is created
BuilderStudio generates a unique invite token and an invite link. The invite is recorded as
pendingwith an expiry. If a pending invite already exists for that email in the workspace, it is superseded — the older one is revoked so only the newest invite is live.The recipient gets an email
An invite email is sent to the address with the link. The recipient opens it, signs in with the matching email, and accepts.
They become a member
On accept, a membership with the invited role is created (or, if they were already a member, their role is updated to match), and the invite is marked
accepted. They now appear in the member list.
Invite lifecycle
Each invite moves through a small set of states. Only a pending, unexpired invite can be accepted.
| Status | Meaning |
|---|---|
pending | Issued and waiting to be accepted, not yet expired. |
accepted | The recipient signed in with the matching email and joined. |
revoked | Cancelled before acceptance — also what happens to an older pending invite when a newer one is sent to the same email. |
expired | Passed its expiry without being accepted. |
expired automatically, so a stale link stops working on its own.What acceptance checks
Acceptance is deliberate about safety. The invite must exist and resolve to a single token, it must still be pending, it must not have expired, and the signed-in user's email must match the invite's email. Any mismatch is rejected with a clear reason rather than silently joining the wrong person.
accept(token) token resolves to exactly one invite else: not found / no longer valid invite.status === "pending" else: no longer valid invite.expiresAt > now else: expired (and marked expired) signed-in email === invite.email else: invite is for a different email -> create or update membership with the invited role -> mark invite acceptedManage members and invites
- Change a role.Owners and admins can change an editor's or viewer's role; only the owner can grant or revoke admin. The owner's role cannot be changed.
- Remove a member. Owners and admins can remove members; only the owner can remove an admin, and no one can remove the owner.
- Resend or replace an invite. Sending a fresh invite to the same email revokes the previous pending one, so there is always at most one live invite per email per workspace.
Related
- Roles & Permissions — what the role you assign actually grants.
- Workspaces — what a new member gains access to.
- Multiplayer— what collaborating on a canvas looks like once they've joined.
Was this page helpful?