Open navigation

How to Create a Custom Role


Every organisation is different in the way that they manage and use their platform. By default, Moodle provides a range of different user roles, each with different permissions which make them suitable for different users within your organisation. In some cases, you may require the addition of a new “custom” role which builds upon an existing role but with the addition/removal of key permissions which are relevant within your organisation. This guide will show you how to add a new “custom” role to your platform.

Step 1 - Navigate

In order to create a new role, you’ll need to go to the following page on your platform, whilst logged in as a site administrator:

Site Administration > Users > Permissions > Define roles

Step 2 - Adding a new role

Within the Define Roles page, you’ll see a range of different default roles which exist on your platform, as shown below:

Test pathway content page

In order to add a new role you need to click on the “Add a new role” button in the bottom left of the page. This will open a new role creation page as shown in the screenshot below:

Test pathway content page

There are two key areas within this page, we’ll touch on each of these below:

  • Use role or archetype - This setting allows you to use a pre-existing role on the platform as a template for your new role, that is, you’ll have the same permissions as the selected role or archetype and from there you can make the unique changes to the permissions to fit your new custom role. If you wish to start with a blank user role you can set this to “No role”, however, we recommend starting with an existing role where possible. 
  • Use role presets - If you have an existing role import file then you can upload this here to import the changes to the new role.

Once you’ve set the basis for your new role you can click “Continue”. On the following page you’ll be able to provide a name and relevant description for your new role (the description will be particularly helpful for future reference). You can then scroll down to the list of permissions and enter the advanced settings by clicking “Show advanced”. 

Test pathway content page

With the advanced settings enabled, you’ll now be able to edit the permissions shown within the permissions list. Each permission has four possible options to choose from and we’ll take a look at each of these options below:

  • Not set - This  will copy the permissions from a broader context or another role where those abilities are defined. For instance, if a student can attempt quiz questions in a course, they'll also be able to do so in a specific quiz. However, if permission is never granted at any level, the user won't have that ability.
  • Allow - This allows a user to use a capability within a specific context, and this permission extends to lower contexts. For instance, if a user has the role of student in a course, they can start discussions in all forums within that course, unless a forum has an override to block that capability.
  • Prevent - Selecting this option removes the permission for this role, even if it was granted in a higher context. If any other role grants the same permission, whether higher or lower in context, this won't prevent it.
  • Prohibit - This will deny permissions to a role without any chance of override in lower contexts or by other roles. For instance, if an admin needs to prevent someone from starting discussions in any forum across the entire system, they can create a role with that capability set to 'Prohibit' and assign it to the user at the system level.

Step 3 - Save

Once you’ve made the required changes to your new role, scroll down to the bottom of the page and click “Save changes”. The new role can then be assigned to users on your platform as required. 

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.