Modulify

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.

  1. Type an address in the Email field.
  2. If you can manage roles, pick the role from the dropdown next to it. It defaults to Member.
  3. Click Add, or press Enter. The address moves into the list below with its role beside it.
  4. 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.