Members and roles
Invite people into a workspace and control what they are allowed to do.
On this page
Members live at /dashboard/members, reached from Members in the workspace switcher or the sidebar. The page is headed Members with Manage who can access this workspace and their roles. and has two tabs: Members and Roles.
Before you begin
Inviting members needs the Pro plan or Enterprise. On Free and Starter the Invite Members button opens an upgrade dialog titled Upgrade to Invite Members with You need the Pro plan to invite members to your workspace.
You also need the Manage members permission. Without it the button is disabled with the tooltip You do not have permission to do this.
A workspace holds up to 50 members, counting pending invitations. Past that, inviting answers This workspace has reached its 50-member limit. Contact support to increase it!
Invite someone
Click Invite Members at the top right of the members table. The dialog is titled Invite Members.
- Type an address in the Email field.
- If you can manage roles, pick the role from the dropdown next to it. It defaults to
Member. - Click Add, or press Enter. The address moves into the list below with its role beside it.
- Repeat for as many people as you want, then click Invite Member (or Invite Members for more than one).
The email field validates as you type and blocks the obvious mistakes before you send anything: Email is invalid!, This email is already in the list! and User is already a member!
Sending can still be refused by the server, and it names the addresses at fault: You cannot invite yourself to workspace!, Some users are already members!, Some users already have pending invitations!
Each invitation is emailed as a link and expires after 7 days.
Read the members table
The table has six columns: User, Role, Status, Last Active, Date Added and a menu.
Status is one of two badges. Pending in amber means the invitation has been sent but not accepted. Active in green means they are in.
A pending row shows the invited address with the name Invited Member, because there is nothing else known about them yet.
Last Active is the more recent of the last time they used the web app and the last time they used the app, and reads - when neither has happened.
Filter and sort
Above the table are a search box placeholder Search by email or name, a role filter and a sort dropdown.
The role filter lists All, Accepted, Pending, Owner, Member, and then every custom role you have created. Sort is Newest or Oldest by date added.
With no members the table reads No members and Invite teammates to collaborate in this workspace. With a search or filter applied that becomes No matching members and Try a different search or role filter. If the list fails to load you get Could not load members and Refresh the page to try again.
Change someone's role
The Role cell is a dropdown when you hold the Manage roles permission and the member has accepted. Pick Member or any custom role and it saves immediately.
Two cases show a plain badge instead of a dropdown: the workspace owner, whose cell always reads Owner, and anyone still pending. The owner role cannot be assigned or changed from here at all.
Resend, cancel and remove
The three dots at the end of a row hold the actions, and what is in the menu depends on the status.
| Row status | Menu items |
|---|---|
| Pending | Resend Invite, Cancel Invite |
| Active | Remove Member |
| Workspace owner | none, disabled with The workspace owner cannot be removed. |
Removing asks first: Remove member? with <their address> will lose access to this workspace. You can invite them again later. Cancelling an invitation happens straight away with no confirmation.
Resending is rate limited to once every 30 seconds per invitation. Too soon and you get Please wait <remaining time> before resending the invite!
Without the Manage members permission the menu is disabled on every row with the tooltip You do not have permission to do this.
The two built-in roles
The Roles tab lists two rows badged System that you cannot edit or delete.
| Role | Subtitle | What it can do |
|---|---|---|
| Owner | Full access |
Every permission, including billing and deleting the workspace |
| Member | Base access |
Access the workspace and its projects, nothing else |
Both rows have a View permissions item in their menu, which opens the permission list read only.
Every permission
A custom role is a name plus a set of switches. These are the switches, in the order the dialog shows them.
| Permission | What it allows |
|---|---|
| Manage members | Invite, remove and manage workspace members |
| Edit workspace | Change the workspace name and logo |
| Delete projects | Delete any project in the workspace |
| Transfer projects | Transfer projects to other users |
| Move projects | Move projects between workspaces |
| Manage domains | Add and remove custom domains |
| Edit folders | Rename folders |
| Delete folders | Delete folders |
| Move folders | Move folders between workspaces |
| Manage roles | Create, edit and delete workspace roles |
| API access | Reach this workspace with a token from an AI client |
| Manage billing | Manage the subscription, payment method and invoices |
| Delete workspace | Permanently delete the workspace and all its projects |
The last two are marked Owner only with a padlock and their switches are permanently off. They belong to the owner and cannot be granted to anyone else.
Every custom role also carries workspace access implicitly, so you never have to switch it on.
Create a custom role
On the Roles tab, click Create Role. The button is disabled in three situations, each with its own tooltip: You do not have permission to manage roles., Upgrade to the Pro plan to manage roles. and You can create up to 10 roles per workspace.
The dialog asks for a Role name between 2 and 32 characters, placeholder e.g. Editor, and at least one permission. Create role stays disabled until both are true. Editing an existing role uses the same dialog with Save changes, and the button only wakes up once something actually changed.
Each role row shows its permission count and how many people hold it, for example 3 permissions · 2 members.
Delete a custom role
Choose Delete role from the row menu. The confirmation reads Members with this role will be moved back to the Member role. This cannot be undone.
That is exactly what happens: everyone holding the role becomes a plain Member.
Accept an invitation
An invited person gets an email with a link. Following it opens a confirmation that lists what accepting does, then Accept Invite.
They can also accept from inside Modulify. When something is waiting, a button appears near the bottom of the sidebar reading 1 pending invitation or 3 pending invitations. Clicking it opens Pending invitations with Projects and workspaces people have shared with you. and two tabs, Projects and Workspaces, each showing who sent it, when, and when it expires.
If everything has been withdrawn or expired by the time they open it, the dialog closes itself with the message The last invitation was withdrawn by the sender or has expired, so there is nothing waiting for you.
Next
- Workspaces covers creating, renaming and transferring the workspace itself.
- Transfer a project is the per-project handover, which is a different thing.
- Tokens and scopes explains the API access permission from the other side.