Mammoth roles and permissions, and custom roles
Mammoth has two workspace roles (Workspace Owner, Workspace Member), three project roles (Project Admin, Project Editor, Project Viewer) and two dashboard roles. You see them in Workspace Settings → Roles & Permissions, where Workspace Owners can also build custom roles. Custom roles are included on the Pro plan.
A user can hold a different project role in each project they belong to. Mammoth checks the required permission on every request before the action goes ahead.
Roles at a glance
| Level | Role (as shown in the app) | Scope |
|---|---|---|
| Workspace | Workspace Owner | The whole workspace. A workspace can have more than one Owner |
| Workspace | Workspace Member | The workspace. Project access needs being added to each project |
| Project | Project Admin | One project. A user can hold a different role in each project |
| Project | Project Editor | One project |
| Project | Project Viewer | One project, read-only |
| Dashboard | Dashboard Editor | One dashboard |
| Dashboard | Dashboard Viewer | One dashboard |
The built-in roles carry these summaries in the app:
| Role | Summary |
|---|---|
| Workspace Owner | Manage users, billing, and workspace settings |
| Workspace Member | Collaborate on projects with assigned permissions |
| Project Admin | Manage and configure project settings, share and delete |
| Project Editor | Access, edit, and manage project data and pipelines |
| Project Viewer | View Data Library items (read-only) |
Workspace Owner vs Workspace Member permissions
Workspace roles are assigned by a Workspace Owner and apply across the whole workspace.
| Capability | Workspace Owner | Workspace Member |
|---|---|---|
| Workspace settings | ||
| Rename or delete the workspace | Yes | No |
| User management | ||
| Invite users to the workspace | Yes | No |
| Modify or remove workspace users | Yes | No |
| Projects | ||
| View all project names (without needing access) | Yes | No |
| Assign users to projects they're not already in | Yes | No |
| Create a new project | Yes | Yes |
| Delete any project (including ones they don't belong to) | Yes | No |
| API keys | ||
| Create and delete workspace API tokens | Yes | Yes |
| View external service API keys | Yes | Yes |
| Add, edit, or delete external service API keys | Yes | No |
| Billing | ||
| Manage subscription and payment settings, update the plan | Yes | No |
| Activity log | ||
| View the workspace Activity Log | Yes | Yes |
| Export the Activity Log | Yes | Yes |
What a Workspace Member can do in Workspace Settings
- View the people in the workspace (User Management, read-only).
- Create projects.
- Create, edit and remove API tokens, and use the two setup cards on API Keys.
- View external AI keys, but not add or remove them.
- View the plan and storage (Plan & Storage).
- View and export the Activity Log.
Everything else in Workspace Settings needs the Owner role: renaming or deleting the workspace, inviting and removing users, changing roles, changing the plan and billing, export destinations, adding external keys and registering OAuth apps.
Project Admin vs Project Editor vs Project Viewer permissions
Project roles are assigned per project. A Workspace Member must be added to a project to open it: membership in the workspace alone doesn't grant project access.
| Capability | Project Admin | Project Editor | Project Viewer |
|---|---|---|---|
| Project settings | |||
| Edit project settings | Yes | No | No |
| Delete the project | Yes | No | No |
| User management | |||
| Add workspace members to the project | Yes | No | No |
| Invite external users to the project | Yes | No | No |
| Remove users from the project | Yes | No | No |
| Data Library | |||
| Create, edit, and delete datasets, views, and pipelines | Yes | Yes | No |
| View Data Library items | Yes | Yes | Yes |
| Live Connections | |||
| Create, update, or delete Live Connections | Yes | No | No |
| Create or modify queries from Live Connections | Yes | Yes | No |
| View Live Connections | Yes | Yes | No |
For how to give someone a project role, see Share a project and set project roles.
Dashboard Editor vs Dashboard Viewer permissions
Dashboards have their own sharing model, set in the dashboard's Share panel.
| Capability | Dashboard Editor | Dashboard Viewer |
|---|---|---|
| Modify the dashboard | Yes | No |
| View the dashboard | Yes | Yes |
Editors of a dashboard must have access to the same project as the dashboard. See Publish and share a dashboard.
Row-level security for dashboards is a plan feature, included on the Pro plan. Whether your workspace has it depends on your plan. See Row-level security.
Read the role matrix in Roles & Permissions
Open Workspace Settings and choose Roles & Permissions, between User Management and Email groups. Workspace Owners see this section, and so does anyone whose role has Manage custom roles (workspace and project). Everyone else can open the same matrix read-only from View Roles & Permissions in any role menu or project role dropdown, in a modal with Workspace Permissions and Project Permissions tabs.
Switch between Workspace and Project at the top. The note under the switch explains each: "Workspace roles control billing, users, governance, and cross-project settings." and "Project roles control access within individual projects and are available across all projects."
Each permission is a row and each role a column, with a tick or a cross per cell. Built-in roles show their short names (Owner and Member; Admin, Editor and Viewer). Each column also shows:
| Part | What it does |
|---|---|
| Custom badge | Marks a role someone in your workspace built |
| Description | The role's summary |
| User count | For example "3 users". Click it to see who holds the role, with a User Management link. With nobody, it reads "No users have this role yet." |
| Edit | On custom roles only, for people who can manage custom roles. Opens Edit role |
Use Search permissions… to find a permission, and the roles menu (Showing all roles) to hide columns. At least one role stays shown.
Custom roles: plan and who can make them
A custom role is a role you build from a list of permissions when the built-in roles don't fit. You can make custom workspace roles and custom project roles. Custom roles belong to the workspace: a custom project role can be given to anyone in any project of that workspace. Mammoth enforces a custom role on the server in the same way as a built-in role.
- Plan: custom roles are included on the Pro plan, and during a Pro trial (New Role shows a Trial pill). On a plan without them, clicking New Role shows the upgrade prompt described in When a feature isn't on your plan.
- Who: Workspace Owners, and anyone whose workspace role includes Manage custom roles (workspace and project).
- What they can grant: a Workspace Owner can put any permission in a role. Anyone else can only tick permissions their own role has. The others are greyed out with "You can't grant this permission because your own role doesn't have it."
There is no limit on the number of custom roles in a workspace.
Create a custom role
- Open Workspace Settings and choose Roles & Permissions.
- Click New Role (top right). The Create role panel opens.
- At the top, choose Workspace or Project for the role's scope. Switching scope clears the permissions you've ticked.
- Enter a Name, up to 40 characters, for example Sales reviewer.
- Check the description. By default it's an Auto-generated description built from the permissions you tick, for example "Manage the Data Library. View connections." To write your own (up to 120 characters), click Write my own. Use auto switches back.
- Under Select permissions, tick the permissions the role should have. Tick a section's box to tick every permission in it. The counter beside Select permissions shows how many you've picked out of the total.
- Click Create Role.
Mammoth shows "Role created". The new role appears as a column in the matrix, marked Custom.
Create Role stays disabled until the role has a name and at least one permission. Hover it to see why, for example "Enter a name and select at least one permission." A name already used by another role in the same scope, including a built-in name such as Owner or Admin, shows "This name is already in use. Choose another." Names are compared without regard to capitals.
Workspace permissions you can pick
| Section | Permissions (as shown) |
|---|---|
| General | Modify name, logo, etc., Delete Workspace |
| Users | Add external users to Workspace, Change user roles and manage invitations, Remove users, View workspace users |
| Subscription | Add/modify payment settings, Change subscription plan (upgrade/downgrade), Manage Connectors (add/remove/assign to Projects), View subscription plan, Delete subscription plan. Shown only on self-serve plans |
| Governance | Manage API Tokens (create/revoke), View Activity Log, Export Activity Log, Manage custom roles (workspace and project) |
| Projects | View all Project names (even without access), Assign user access to Projects they're not part of, Create a new Project, Delete any Project (even without access) |
Every custom workspace role can also open the workspace, whatever you tick.
Project permissions you can pick
| Section | Permissions (as shown) |
|---|---|
| Project Settings | Edit project settings, Delete project |
| Team | Add people to this project, Change a member's role, Remove people from this project |
| Data Library | Manage items (add/modify/delete), View items in Data Library, Download datasets and views, Configure export destinations, Execute exports / sync |
| Connections | Create/update/delete connections, Create/update/delete queries, View connections and queries |
| Workflows | Create/edit/delete workflows, View workflows (read-only), Run and rerun views, Manage execution controls (Draft Mode, Auto-Sync), Manage Parameters and Snippets, Manage Workflow Monitor (release pending items) |
| Orchestration & Approvals | Create/manage orchestration flows, Monitor orchestration status, Approve/reject Checkpoint gates |
Every custom project role can also open the project it's given on.
Permissions that tick another permission
Some permissions can't work without a read permission. Ticking one ticks the permission it needs, and unticking the needed permission unticks the ones that rely on it.
| When you tick | Mammoth also ticks |
|---|---|
| Manage items (add/modify/delete), Execute exports / sync, Run and rerun views, Manage execution controls (Draft Mode, Auto-Sync), Manage Parameters and Snippets | View items in Data Library |
| Configure export destinations | View items in Data Library and Download datasets and views |
| Create/update/delete connections, Create/update/delete queries | View connections and queries |
| Create/manage orchestration flows | Monitor orchestration status |
| Add external users to Workspace, Change user roles and manage invitations, Remove users | View workspace users |
| Export Activity Log | View Activity Log |
| Add/modify payment settings, Change subscription plan (upgrade/downgrade), Delete subscription plan | View subscription plan |
| Assign user access to Projects they're not part of | View all Project names (even without access) |
Edit a custom role
- In Roles & Permissions, find the role's column and click Edit.
- In Edit role, change the name, description or permissions.
- Click Save Changes.
Mammoth shows "Changes saved". The change applies to everyone who holds the role. Built-in roles have no Edit link and can't be changed.
If you close the panel with unsaved changes, Discard changes? asks "You have unsaved changes to this role. Discard them?" Click Discard or Keep editing.
Give someone a custom role
Custom roles appear in the same role pickers as the built-in roles, listed after them with their description:
| Role type | Where you assign it |
|---|---|
| Custom workspace role | The role menu at the top of a user's side panel in User Management, and the role selector in Existing workspace users in the Invite users to workspace dialog |
| Custom project role | The project role dropdown next to each project in a user's side panel, the project's Manage Users list, and the user list in Project Settings |
You can only assign a custom role whose permissions your own role has. Other custom roles are greyed out with "You can't assign this role because it has permissions your own role doesn't have." Workspace Owners can assign any role. See Invite and manage workspace members.
Delete a custom role
- In Roles & Permissions, click Edit on the role.
- Click Delete Role.
- In the dialog, for example Delete "Sales reviewer"?, click Delete role.
Mammoth shows "Role deleted". Deleting a role is permanent.
Keep workspace access tidy
- Limit Owner access to the people responsible for billing and workspace administration. A workspace can have more than one Owner, so keep the number small.
- Default to Project Editor for new members who work with data, and Project Viewer for people who only need to look. Give Project Admin only when the person needs to manage project membership or Live Connections.
- Remove users promptly. Removing a user from the workspace revokes all their project access at once.
- Scope API keys. When a key is for an integration that targets one project, set the project scope so it can't reach other projects. See API keys, AI assistants and connected apps.
- Review access periodically. In Workspace Settings → User Management, check who belongs to which projects and in what role, against your current team.
Limits
| Item | Limit |
|---|---|
| Custom role name | 40 characters, unique in its scope (capitals ignored) |
| Custom role description | 120 characters |
| Number of custom roles | No limit |
| Project Admins per project | No limit |
Troubleshooting custom roles
| Symptom | Cause | Fix |
|---|---|---|
| "This role cannot be deleted while it has 3 user(s) assigned. Reassign or remove them first." (only Close offered) | People still hold the role | Click the role's user count in the matrix to see who, give them another role, then delete |
| "Failed to delete role. Please try again." | A pending invitation names the role | Cancel the invitation first |
| "Failed to save role. Please try again." when renaming | A pending invitation names the role | Cancel the invitation first |
| A permission is greyed out with "You can't grant this permission because your own role doesn't have it." | Your own role lacks it | Ask a Workspace Owner |
| New Role shows an upgrade prompt | Your plan doesn't include custom roles | Custom roles are included on the Pro plan |
Related
- Invite and manage workspace members: change someone's workspace or project role.
- Share a project and set project roles: roles from inside a project.
- Security: sign-in, data security and compliance: how access is enforced and workspaces are kept apart.
- Audit logs: who changed what.
- Publish and share a dashboard: dashboard roles in practice.
Something wrong? support@mammoth.io