Enrolment ::: enrol_autoenrol
Maintained by Mark Ward, RobertoRoberto Pinna
Adds functionality to automatically enrol users onto a course, either as they log in to your Moodle site or as they access a course. This plugin was at first intended for use on courses which you want all users to be able to access but can also be configured for more advanced purposes as reserved access courses. Using the new user filtering you can think at Autoenrol as a Swiss Army knife for Moodle enrolments.
Latest release:
3311 sites
130 fans
Current versions available: 3

When added to a course this enrolment plugin can enrol users onto a course automatically, either as they log in to your Moodle site or as they access to the course.
It was at first intended for use on site-wide courses such as "Moodle Help" or "Learner Voice".
In addition the plugin has advanced functionality to support automatically grouping and filtering users based upon their profile fields. Depending on how your user accounts are setup this may help you to give access to certain user groups.

Configuration of the plugin is managed by two capabilities which allow administrators to easily control who has access to the plugin.

New advanced user filtering (available from 2.3)
A complete rewrite of Autoenrol filter that use moodle standard availability interface adds great flexibility in user filtering.
The moodle profile availability core plugin unfortunately does not include language and authentication method. 
If you need them, you can install additional availability plugins like Restriction by language and Restriction by authentication.


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4
Screenshot #5


Mark Ward (Lead maintainer)
Roberto Pinna: Maintainer
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Roberto
    Fri, Mar 4, 2022, 4:38 PM
    Hello Mark,
    I can't immagine what happens. The only things you need to do are: install, enable plugin (with the eye-icon), go to course Enrol methods page, add in instance with the dropdown menu.
    Please check permissions if changed them.
  • Roberto
    Fri, Mar 4, 2022, 4:41 PM
    Hi Pável,
    I think that you need to check auto enrol plugin settings in both courses.
    Did you configured auto enrol on login?

  • Fri, Mar 4, 2022, 6:09 PM
    Hello, Course 1 student is enrolled when he logs in to Moodle, after logging in he sees Course 1 and Course 2, he should see only Course 1.

    Autoenrol v 2.3.1
    Moodle 3.11.5+
  • Mon, Mar 7, 2022, 3:35 PM
    Hi Roberto,
    Thank you for the useful plugin. It is working fine. Can you help me with scheduling autoenrol sync part.I have configured crontab in my server.Whenever I set a time to run a task,it changes to ASAP however if I click run row task runs successfully and auto enrol happening.
    I would like to know when this task is triggering and also why task next run time is changing to ASAP.Kindly help.
  • Mon, Mar 7, 2022, 9:12 PM
    Thank you for your plugin.
    I have a question. Where can I see the list of auto-enrolled students in a course?
  • Roberto
    Mon, Mar 7, 2022, 9:58 PM
    Hello P H,
    I already answered to this question on February 11, 2022.
    You can find the list of enrolled user in a course under Participants.
    If you need, you can filter autoenrolled students using enrolment method filter.
    You can find all information about it in Moodle documentation:

  • Roberto
    Mon, Mar 7, 2022, 11:34 PM
    Hi Aathithya A,
    \enrol_autoenrol\task\sync_enrolments task is disabled by default.
    Autoenrol generally does not need this task because users could be enrolled on login or when they access to a course.
    This task could be useful on courses that need to enrol users also when they not access to Moodle (for example a
    It checks if all your moodle users need to be enrolled with each autoenrol instances.
    As you can understand it takes a lot of resource (time, CPU, database) to do all things, please if enable it, run one time a day by night.

  • Tue, Mar 8, 2022, 1:28 AM
    Hi Roberto,
    Thanks for your reply. I want to schedule a task for auto enroll instead of waiting for user to login, So that bulk user/group of user can be assign with a course on same enrolment date. I could run a task successfully by clicking run now, but when I set task timing , as soon as the time reaches it changes to ASAP. Appreciate your help!!
  • Roberto
    Tue, Mar 8, 2022, 3:33 PM
    Hi Aathithya A,
    task scheduling is managed by Moodle core.
    When a task or some tasks take to much time, Moodle reschedule them As Soon As Possible until each task is completed.
    Then the task timing is set back the right next time.
  • Tue, Mar 15, 2022, 6:41 PM
    Hi Roberto,

    Plugin is working fine without any issue. I would like know ,how to give the restriction set as an array' ?(for eg : multiple idnumber by comma separator ) I tried using comma separation in restriction field is not taking it. Kindly let me know the correct way of doing it.
    Appreciate your help.
  • Roberto
    Wed, Mar 16, 2022, 4:18 PM
    Hi Aathithya A,
    AutoEnrol filters are provided by availability restriction plugins installed in you moodle.
    The core user profile availability restriction plugin admit only one value per instance.
    If you need to filter several idnumbers you need to add more user profile restriction instances and put them in OR.
    Additional availability plugins ( could be installed/developed in order to add more filtering functionality. I do not know if someone developed an availability plugin that implement a way to put a list of idnumber.

  • Fri, Mar 18, 2022, 1:07 AM
    Hello Roberto Pinna!
    I and Henrique Cavet work togheter. I will bring again a doubt about what is happening.

    "Hi Henrique,
    it depend by how you configure autoenrol and your moodle site. Autoenrol, if configured with enrol at login, will enrol each confirmed user to the course when they successfully login to your site."

    We configured the registration to start when there is a login on the site, but after 1 day of the autoenrol configuration, all users with the configured conditions, regardless of whether they entered the platform, were automatically enrolled.
    Could you help us as to why this is happening?

    Thanks, Heloisa
  • Roberto
    Fri, Mar 18, 2022, 7:04 PM
    Hello Heloisa,
    probably you have activated the sync_enrolment task in Server->Scheduled task.
    Please leave it disabled, it's available only for particular cases.

  • Fri, Apr 1, 2022, 5:52 PM
    can we have a list of all placeholders for the emailing in this plugin please? I need the "course id" and I tried all of those possibilities with no result:
  • Roberto
    Fri, Apr 1, 2022, 7:13 PM
    Hi Pedro,
    you can't use "course id".
    Admitted placeholder are:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Please login to post comments