Do you want to create a (large) series of subgroups for a group assignment, where you have multiple classes that you want to split into subgroups? Then follow the steps below. Here we explain how you can do that in bulk. If the number of groups is limited, you can also do it manually via Groups as is explained in this manual.
Upload groups in bulk
In this manual we use the example file below. You can adjust this according to your wishes.
Tip: Do you already have a sample course in which the groups are largely set up the way you want them to be in another course? If so, you can download the class list, with the (group) details of registered users, as a CSV file from that specific course. That way, you don't have to fill in the CSV file yourself from scratch.
How you do this, is explained here.
- In your course, navigate to Course Tools -> Groups
- Click New Category to create a new group category.
You create the category for the group assignment here. We will load the groups themselves later in bulk.

- Fill in the most important information, such as name, enrollment type, number of users per group.
Below we call the category 'Group AssignmentX'. We want students to register for the groups (self-enrollment) and a maximum of 3 students are allowed in a group.
- Then click Save. The category will now be created.
Next, we will add groups to this category in bulk. This can be done using the file shared above. You must customize this file yourself, where the following details are important:
- It is mandatory to register at least one user when creating groups. You use a dummy for this. In this example the TLC Dummy. In principle you can leave this as is. Users who need to be enrolled in groups must already be enrolled in the course itself.
- Provide a clear Group Name. In this example we have Class A to Class F, which we divide into 10 groups per class.
Group names must be unique within the course. - You can leave the Group Code empty, Brightspace fills this in yourself.
- Under Group Category, only enter the exact name of categories that already exist in your course. In this example, this could be the category you created in the step above.
- Always enter Enroll under Action. Rows with an empty Action field are ignored.

- Save the file as .csv, with the fields separated by commas. You can now proceed to importing the list of groups. Open the file in a text editor and replace the semicolons (;) with a comma (,) and save the .csv file.
- The name of the import file must begin with “classlist_”.
- The file size must not exceed 500 KB.
- The maximum number of users to be enrolled/deregistered must not exceed 1000, i.e. the maximum number of rows is 1001.
- The fields that must be valid for the import to work are Username, GroupName, GroupCategoryName, and Action (these must not be empty); other fields are optional.
- On the homepage of your course you will find the group management widget. Upload the file here and click on import.
The groups have now been created. The dummy is registered in each group. You can undo this in one go by removing the dummy from the class list.
- To do this, go to Course Tools -> Classlist.
- Click on the All tab
- Select the dummy and Unenroll it.
The groups are now ready for use. Students can now register for the groups (if self-enrolment was chosen) and you can link the groups to the group assignment.
Errors during import
If rows result in an error, the widget will generate and download a .csv file listing the errors along with their descriptions in the last column (“Errors”). For example, the action field is “ENROLLL” (triple “L”) instead of ‘ENROLL’ (double “L”):
See below for some examples of errors:
ERROR: Action must be either Enroll or Unenroll
- The widget only accepts two types of actions: “Enroll” and “Unenroll” (not case sensitive).
ERROR: Group category with this name not found
- The specified group category name does not exist in the course.
ERROR: Group not found
- The specified group name does not exist in the course.
ERROR: Group name must be unique
- The group with that name already exists in the course.
ERROR: Group creation failed
- The group you tried to create was not created due to an error.
ERROR: User unenrollment failed
- Unsubscription failed.
ERROR: User enrollment failed
- Registration failed.
Downloading a CSV file from a course
By using the Group Management Widget, you not only allow you to import groups using a CSV file, but also to download a CSV file containing data from a specific course, so you don't have to fill in the CSV file entirely by hand.
- Click the Download Classlist button to download the classlist as a CSV file.
This file will contain the following fields: Username, FirstName, LastName, Role, Email, GroupName, GroupCode, GroupCategoryName, and Action.


In the table above, we can see that two classlist members are enrolled as students for the course (organizational unit ID 7742). Test. Test1-user is enrolled in Group 1 under group category Category 1. Test.Test2-user is enrolled in Group 2 under group category Category 1. Below we see a list of all groups that exist in this course, regardless of whether they are empty or not: Group 1, Group 2, Group 3, Group 4. The last line shows group category Category 2, which is empty.
- The “Action” field in the downloaded file is always empty. It has been added for convenience, so that you can fill it in when importing a .csv file (next step).
- If a user has no group registrations, there is at least one row with the user information, but a blank GroupName, GroupCode, and GroupCategoryName.
- Each group has at least one line without a username and only GroupName, GroupCode, and GroupCategoryName (all other fields are empty) at the bottom of the file so that there is an overview of all groups.
- If there is a group category without any groups, there will be at least one line containing only GroupCategoryName (all other fields are empty) at the bottom of the file.
- If a user is enrolled in multiple groups, that user will be listed multiple times; each group enrollment will appear on a new line.
- If a user is not visible in the class list, they will not be displayed in the downloaded file either.