Admin GuidesAssigning Courses to Groups

Assigning Courses to Groups

Who this guide is for: Administrators and group admins who need a whole team, department or cohort to take the same training — without enrolling people one at a time, and without having to remember the next new hire.

Assigning a course to a group is a standing instruction: everyone in this group takes this course. It applies to the members who are there now and to everyone who joins later.

Two ways in — the same assignment

FromWhereUse when
The groupGroups → a group → Assigned courses”What should the Sales team be taking?”
The courseCourses → a course → Enrollments → Assigned groups”Who should be taking Fire Safety?”

Both write the same record, so whichever you use, the other view shows it.

Step-by-step

  1. Open either surface above and choose Assign courses (or Assign to groups).
  2. Search and select. Only published courses can be assigned — a draft or archived course is not offered, and choosing one is refused rather than silently ignored.
  3. From the course side only, you can also set a Due date (optional). It is applied to every enrolment the assignment creates, including those of people who join the group later.
  4. Click the Assign button (it shows how many courses or groups you selected).
  5. Read the result summary. The first line always shows how many learners were newly enrolled; the other three appear only when they apply, and the distinction between them matters:
Result lineMeaning
N learners enrolledNewly enrolled by this assignment
N learners were already enrolledSkipped. Not an error — see Assigning twice is safe below
N learners still need to choose a sessionEnrolled, but the course has instructor-led sessions and the learner must pick a cohort
N learners could not be enrolledSomething blocked it — a full course, a closed enrolment window, an unmet prerequisite

What happens to current members

Every member is enrolled through the platform’s ordinary enrolment path — the same one used when you enrol somebody by hand. That means each one gets the enrolment window check, the seat cap and waitlist, the approval step if the course requires one, the prerequisite check, a progress record, an audit-log entry, and their confirmation email. There is no “bulk mode” that quietly skips any of that.

Deactivated and deleted accounts are not enrolled.

Assigning twice is safe

An assignment is a statement about how things should be, not a one-off action, so running it again does nothing new: members already enrolled are reported as already enrolled and left alone. Press the button again after adding people to the group, or if you are not sure whether the first run finished — it cannot double-enrol anyone.

What happens to people who join later

This is the part that distinguishes an assignment from a one-time bulk enrol. Whenever somebody joins the group in one of these ways, they are enrolled in everything the group is assigned:

  • added to the group from the group’s page,
  • swept in by a dynamic group’s rules: when the rules change, when a new account matches them, or when a profile change makes someone start matching.

These joins are not enrolled automatically today. Re-run the assignment to catch them up (it is safe to repeat):

  • members synced in from Google Workspace groups or Microsoft Entra ID groups (both syncs apply auto-enrolment rules, not assignments);
  • members added to a group through SCIM provisioning from your identity provider;
  • members added through the REST API (POST /api/v1/groups/{id}/members, or POST /api/v1/users with groups);
  • members added by a CSV user import;
  • a user a group admin creates, who is added to the group admin’s groups automatically.

A dynamic-group rules change that sweeps in more than 200 people at once is also left for a re-run, so the request does not hold a database connection open.

Courses with instructor-led sessions

If a course contains an ILT/VILT session module, each learner has to choose a cohort — which is a decision about their calendar, and not one an admin can make for two hundred people.

Those members are enrolled, and reported as still needing to choose a session. They see the course with a prompt to pick their session. Nothing is left half done: the enrolment exists, and only the date is outstanding.

Large groups

Above roughly 200 member-course pairs the enrolment runs in the background and the panel shows live progress. You can leave the page — the work continues and the counts are there when you come back.

If the background run cannot be started or fails partway, the panel says so. The assignment itself still stands, so new members are still covered; re-run the assignment to catch up the ones that were missed (it is safe to repeat).

Removing an assignment

Removing an assignment never un-enrols anybody. Learners keep the course and all of their progress; several may be part-way through, and taking that away on a click is not something they could get back.

What stops is the automatic part: people who join the group afterwards are no longer enrolled. To actually remove a learner from a course, un-enrol them from the course’s Enrollments tab.

Assignments vs. auto-enrolment rules

The course Enrollments tab also has an auto-enrolment rules builder, which looks similar and behaves differently:

AssignmentAuto-enrolment rule
Existing membersEnrolled nowNot touched — the rule only fires on the next join
Future joinersEnrolledEnrolled
Triggers onGroup membershipGroup membership, or completing another course
Enrolment pathThe full path (window, seat cap, approval, prerequisites, audit, email)A direct enrolment that skips those checks

If what you want is “this group takes this course”, use the assignment. Rules remain the way to express “when someone finishes A, enrol them in B”.

Permissions

ActionNeeds
See a group’s assigned coursesenrollment:read
Assign / removeenrollment:create, plus reach over the group: Owner and Admin (any group) or the group’s own group admin

Group admins can assign only to their own groups — the same scoping that governs the rest of the group page.

Managers hold enrollment:create so they can enroll their own reports, but they cannot assign a course to a group. An assignment enrolls every member of the group, and everyone who joins it later, so it would reach people outside the manager’s reporting line. The assign controls are not shown to them, and the server refuses the request.

Automatic enrollment rules on a course’s Enrollments tab follow the same rule. A group-membership rule needs the same reach over the group as an assignment. Rules based on course completion or a user attribute select learners across the whole organization, so only Owners and Admins can add or delete them. Recurring assignments follow the same rule too.

Troubleshooting

Everyone came back as “already enrolled”. That is the expected result of re-running an assignment. Nothing is wrong.

Some members show “could not be enrolled”. Open the course’s enrolment settings. The usual causes are a seat cap with no waitlist, an enrolment window that is closed, or a prerequisite course those learners have not completed.

A course I want is not in the picker. Only published courses can be assigned. Publish it first — then assign, or simply re-run the assignment once it is live.

New members are not being enrolled. Check the assignment is still listed on the group. Also check the course is still published: an assignment to a course that was later archived stops enrolling, by design. An archived course cannot be re-published from the admin console today, so assign a published course instead. If the new members arrived by any of the joins listed in What happens to people who join later, re-run the assignment (see What happens to people who join later).

A learner is in the course but has no session. The course has instructor-led sessions and they have not chosen a cohort yet. See Courses with instructor-led sessions above.

I removed an assignment and the learners are still enrolled. That is deliberate — see Removing an assignment.