Custom Roles
Custom roles let you create permission sets tailored to your organization's needs. While the 6 system roles cover common scenarios, custom roles provide fine-grained control for specialized workflows.
Creating a Custom Role
1
Open Roles & Permissions
Navigate to Settings → Roles & Permissions. You'll see two tables: System Roles (read-only) and Custom Roles.
2
Click "Create Custom Role"
Click the Create Custom Role button above the custom roles table. A drawer opens with the role creation form.
3
Enter Role Details
Provide a name and optional description. The name must be unique within your organization.
4
Select Permissions
Use the permission tree to select specific permissions. Expand categories to see individual permissions. A badge shows the total count of selected permissions.
5
Save the Role
Click Create to save. The new role appears in the Custom Roles table and can now be assigned to users.
Role Form Fields
| Field | Required | Type | Description |
|---|---|---|---|
Role Name | Required | text | A descriptive name for the custom role (e.g., "Content Reviewer"). |
Description | Optional | textarea | Optional text explaining the purpose of this role. |
Permissions | Required | tree-select | Select individual permissions from the permission tree. Permissions are grouped by category. |
Managing Custom Roles
From the Roles & Permissions page, you can perform these actions on custom roles:
- View Details — Click a role to see its name, slug, description, and full permission list
- Edit — Modify the role name, description, or permissions. Changes apply immediately to all users with this role
- Clone — Duplicate an existing role as a starting point for a new one. Useful for creating variations
- Delete — Remove a custom role. Users assigned to this role will lose the associated permissions
Common Use Cases
- Content Reviewer — Can view and approve questions but not create exams (question:view, question:update)
- Reports Analyst — Can view analytics and generate reports but not manage users (analytics:view, reports:view, reports:create)
- Exam Coordinator — Can create and schedule exams but not grade them (exam:create, exam:update, exam:assign)
- Read-Only Admin — Can view all data across branches but not modify anything (all :view permissions)