Skip to main content
Question

Changing course enrolment status to "In Progress" when admin enrols learner

  • June 10, 2026
  • 4 replies
  • 26 views

admin_mhshomes
Influencer I
Forum|alt.badge.img

Hello, when learners enrol themselves into a session, their course enrolment status automatically changes to "In Progress”. However, when an admin enrols them, their status remains as “Enrolled”.

Does anyone know if there’s a way to change this so that the status automatically updates when an admin enrols a learner?

Also, when a learner is marked as “Absent” from a session, is there a way to automatically change their enrolment status back to “Enrolled” instead of “In Progress”?

Having to manually update these is very time-consuming and inefficient :(

4 replies

Moshe.Machlav
Guide I
Forum|alt.badge.img+2

Hi there,

Before diving into a technical solution to force these status changes, it's worth asking: how are you using the "In Progress" and "Enrolled" statuses in your reporting? By default, Docebo relies on learner action to dictate these statuses. When an admin enrolls a user, the status correctly defaults to Enrolled because the learner hasn't actually started anything yet. The moment that learner accesses the course and launches a training material, the system automatically flips them to In Progress.

If you force the status to "In Progress" immediately upon an admin enrollment, you lose the ability to track who has actually started their training versus who is simply sitting on the roster.

If you still strictly need this to happen automatically: Yes, this is technically possible, but it requires an integration rather than a built-in toggle.

  1. For the Admin Enrollment: You would need to set up a webhook listening for the enrollment event. Using Docebo Connect (or a custom API script), you could catch that event and immediately fire a PUT request via the Docebo API to update the learner's enrollment status to "In Progress."

  2. For the Absent Reversal: You would set up a similar flow listening for session attendance updates. If attendance is marked "Absent," the API fires a PUT request to revert their status back to "Enrolled."

A note on best practices: In organizations I've worked with, the pattern that holds up best over time is letting the LMS handle enrollment statuses natively. Overriding these statuses via API usually creates downstream reporting headaches, as stakeholders start wondering why a user with 0 seconds of training material time is marked as "In Progress." Instead of changing the enrollment status for absent users, we usually rely on custom reports filtered by session attendance to identify no-shows.

For more details on how Docebo natively handles these state changes, I recommend reviewing the official documentation: Managing Course Enrollments – Docebo Help Center.

Let me know if you'd like to explore the native reporting alternatives!

 


admin_mhshomes
Influencer I
Forum|alt.badge.img

Hi ​@Moshe.Machlav, thanks for your response.

I’m referring to ILT courses, not e-learning. We have Power Users who enrol learners into sessions because they plan their work for them. So, the learners would never enrol themselves, and therefore their status wouldn’t change automatically.

The Power Users will periodically check courses and filter by course enrolment status (i.e. “Enrolled”) to see who still needs to be added to a session. This becomes an issue when “Enrolled” users do have an upcoming ILT session but their status is not “In Progress”. The PU can’t rely on filtering by “Enrolled” and “With one or more sessions” because the session might be in the past (i.e. they were a no show).

Similarly, if a learner has been enrolled into an ILT session and their course enrolment status has been changed to “In Progress” manually, when I then mark the session attendance and they were a no show, I have to manually change their course enrolment status back to “Enrolled” so that the PUs can re-enrol them.

Does that make sense?


Moshe.Machlav
Guide I
Forum|alt.badge.img+2

Ah, that makes perfect sense. ILT management definitely changes the context. Because natively, simply placing a learner into a session doesn't update the course-level status to "In Progress" (unless they launch a material inside the course), I completely understand why your Power Users are struggling with their filtered views.

Relying on manual status updates to keep those queues accurate is a massive administrative burden. The good news is that this exact scenario can be entirely automated using Docebo Connect (powered by Workato).

Here is how the automation logic is typically structured:

  1. The Session Enrollment (Trigger): Set up a listener for the "User enrolled in ILT session" event. When triggered, Docebo Connect immediately fires an API call to update the learner's Course enrollment status to "In Progress". This removes them from the Power Users' "needs scheduling" view.

  2. The No-Show Reversal (Trigger): Set up a listener for session attendance updates. If a learner is marked as "Absent", Docebo Connect catches that event and sends an API PUT request to revert their course status back to "Enrolled". This instantly drops them right back into the Power Users' queue for re-enrollment.

When I've deployed this for organizations with heavy instructor-led operations, this specific Workato flow completely eliminates the manual bottleneck and keeps the Power User dashboards perfectly clean.

If you have the Docebo Connect module, this is the perfect use case for it. Docebo recently moved all of their integration and API documentation to a new dedicated hub, so you can check out the official documentation on setting up these types of flows here: Docebo Connect – Docebo Developer Portal.

Let me know if you have questions on the specific API endpoints needed for the recipe!


admin_mhshomes
Influencer I
Forum|alt.badge.img

Thanks so much ​@Moshe.Machlav, this is really helpful advice. I will go ahead and read the article you have shared.