This is a classic "waitlist vs. enrollment" logic puzzle in Docebo. Before looking at technical workarounds like the API, it’s worth challenging the current structure because Enrollment Rules are designed to put people into courses, and by definition, they prioritize active enrollment over the "Waiting User" status.
The Learning Plan Approach
In most organizations I've worked with, we solve this using a Learning Plan (LP). By setting the eLearning as a prerequisite for the ILT within the LP, the learner is enrolled in the plan, but the ILT remains "Locked" until the eLearning is completed.
The "Additional Fields" Workaround
If you want to avoid Learning Plans, another pattern I've implemented involves using Enrollment Additional Fields.
-
Create a mandatory "Enrollment Additional Field" for the ILT course (e.g., a dropdown or a confirmation checkbox).
-
Set the Course Enrollment Policy to "Admin Approval." 3. When the Enrollment Rule triggers based on the eLearning completion, the user is moved to a "Pending" state because the mandatory field hasn't been handled or requires validation. This effectively keeps them in a "holding pen" that functions like a waitlist until an admin confirms them.
Automation via API (The "Pro" Way)
I’ve set this up for a few teams with very strict capacity requirements where even the LP flow wasn't enough. You can use Docebo Connect (or your middleware of choice) to:
-
Listen for the course.completed webhook (for the eLearning).
-
Trigger an API call to the /learn/v1/enrollment endpoint for the ILT course.
-
Explicitly set the status attribute to 6 (Waiting Users).
Let me know if you want to dig deeper into the API schema for the automated wait-list push!