Teams has introduced a new group assignments feature, allowing students to work together and submit one assignment for the whole group. Teachers can then provide feedback and grades to either each individual student within that group or give out an overall grade for the group.
Below is a walk-through of how you can:
- Create a group assignment.
- Manually and randomly assign groups for assignments.
- Complete a group assignment (as a student).
- Grade a group assignment.

Create a group assignment.
In Assignments, select Create and then Assignment.
As with any new assignment in Teams, you can enter a title, instructions, attach any documents the students require, add points and rubrics and set due dates.
To assign the assignment to a group, go to the Assign to section and this will be currently set to the default All students. Select Group of students from the drop-down menu.
You have two options – to manually or randomly assign groups for your assignment.
Manually assign groups for assignments.
Select Manually group students from the pop-up window and then click Create groups.
This allows you to filter and manually add specific students to a group.
You can also add a group name for this group of students.
Once you’re happy with your first group, click Create.
You can then choose to add another manual group or randomly assign other groups.
Tip: There is a countdown of how many students are left to be assigned to a group at the top of the group list.
Randomly assign groups for assignments.
Select Randomly assign groups from the pop-up window.
Enter the number of groups you need and select Create groups.
You can then go in and add/remove students from groups and change the group names if necessary.
Editing and deleting assignment groups in Teams.
If you haven’t already set the assignment, you can edit and delete groups by selecting the pencil icon next to the group you wish to edit.
From here, you can add or remove members and change the group name. You can also delete the group.
Want to start over? You can recreate groups by selecting Recreate groups at the bottom of your list of groups.
Assigning a group assignment in Teams.
Once you’re happy with your groups, click Done to head back to the main Assignments page and select Assign.
Note: Currently, there is no option to edit groups after an assignment is set. You would need to delete the assignment and reassign all the groups.
Completing and submitting a group assignment as a student.
The group project is visible in the students’ general channel – they should receive a notification.
Also, if the student clicks on Assignments, they are able to view the group assessment, see who else is in their group, and open/co-author the document with their classmates.
Once the group work is complete, one of them can turn in the work on behalf of the whole group by selecting Turn in for group.
Note: If they have forgotten to add something, students can undo the turn in and add further information, attachments and work.
Reviewing a group assessment.
Teachers can see which groups have handed in the assignment by viewing the assignment in the Assignments tab in Teams.
You can choose to give the group an overall grade or grade students individually by selecting the three dots next to the selected group.
From here, you can add feedback and give points as you would any other assignment.
Click Return to return the work back to students for them to view your feedback or make amends.
Head to the Grades tab to look at a class overview of who has handed in their group assignments.
If you would like to learn more about how we can help your organisation achieve more with Microsoft, please contact a member of our team today.
Hello! Can I create these groups in Assignment using Graph API? I found out that there is the “assignTo” property in educationAssignment object (https://docs.microsoft.com/en-us/graph/api/resources/educationassignment?view=graph-rest-1.0) with type of educationAssignmentRecipient class, but it has only 2 subclasses: educationAssignmentClassRecipient (every student in the class) and educationAssignmentIndividualRecipient (string collection of IDs). There is not any GROUP property or class.
However, if I look at the network log in the browser devtools, when creating groups, a POST request is made to the https://assignments.onenote.com/api/v1.0/edu/classes/{classID}/assignments/{assignmentID}/studentGroups. And before this, a PATCH request is made to the https://assignments.onenote.com/api/v1.0/edu/classes/{classID}/assignments/{assignmentID} with data assignTo: {@odata.type: “#microsoft.education.assignments.api.educationAssignmentGroupRecipient”}.
Ha-ha! Here it is! I would also like to understand how to use it 🙂
That is an interesting question and looks like you are doing some really interesting things with the API! I’m not sure about setting assignments through the assignment API, it isn’t something we have used before. As it isn’t in the Microsoft documentation yet, it might not be fully stable, keep your eyes peeled, exciting stuff!
Hello – I have a few hundred students in one class, so setting up groups for a single assignment is pretty tedious. Unfortunately it doesn’t look like I can put them in one assignment and then duplicate that assignment so I don’t have to manually re-enter all 30+ groups. Is that right??? Or is there a way to duplicate group assignments?
I’m seriously regretting choosing Teams over our campus LMS….grrr….
It is unusual to have class teams that large and I’m not sure if all Teams assignment features are supported in 200+ classes. In a UK secondary school I would expect around 30 students in a class but I can see that it might be larger if you have university lecture groups in higher education. Is this a single class where all the students are taught together or is it a year group (whole grade) of students?

It’s quick and straightforward to put students into groups automatically (randomly):
If you are having to put students into the same group for every assignment, you might want to consider class teams for those groups rather than using this feature.
Hope that helps,
Tony
Hello there,
I have successfully assign assignment 1 to smaller groups in my class. Unfortunately for assignment 2 and 3, the students will be placed in a different group due to the nature of the assignment itself where they need bigger number and some of the students were having problems with their partner during assignment 1 and would like to change members for assignment 2 and 3.
Is there any way that for different assignments, we would have different group list?
Hi Aimi,
Yes, you can pick the groups on a per assignment basis.
Hello,
I have three classes of ~175 students each and want to use group assignments for three different assignments, with about four students in each group. I’m fine with randomly assigning the groups for the first assignment, but I want to keep the same groups for the other assignments without manually recreating the groups. Similar problem as Megan above, Sept 13 2021. I don’t want to put the students in to their own team (I’m fine with them doing that themselves, I just don’t want to deal with 120 separate teams). The only way I can think to do this is to allow late submission, until the end of the term and have them resubmit when the next assignment is due. Can the groups resubmit their work like that? Also, can I edit the assignment during this time? Unfortunately I can’t test any of this without the students loaded, and I would like to have this resolved beforehand.
Thanks
Hi Brian,
Good question on keeping the groups for other assignments. That isn’t a feature currently to keep the groups for future assignments (I guess the class membership could change over time). However, students can resubmit assignments if that is useful? And you can edit assignments. But you would only have one markbook entry.
Hope that helps,
Tony