M365 Groups
Microsoft 365 Groups provide collaboration-focused group functionality that provisions shared resources including a mailbox, calendar, SharePoint site, Planner, and optionally a Team. Members get automatic access to all associated resources.
Overview
Microsoft 365 Groups are the membership service underlying Teams, SharePoint team sites, Outlook groups, Planner plans, and Yammer communities. Managing a group automatically manages membership for all connected services.
M365 Group Features
Shared Resources
When you create an M365 Group, the following resources are automatically provisioned:
- Shared Mailbox — Group email address for conversations
- Shared Calendar — Scheduling for group events
- SharePoint Site — Document library and team site
- Planner — Task management boards
- OneNote — Shared notebook
- Teams — Chat, meetings, and collaboration (optional)
Privacy Settings
- Public — Discoverable by all users, anyone can join
- Private — Hidden from discovery, owner approval required to join
Email Settings
- Send Copies — Members receive email in their personal inbox
- Allow External Senders — Receive email from outside the organization
- Hide from GAL — Hide the group from the Global Address List
Group-Based Licensing
Assign licenses to an M365 group instead of individual users. When users join the group, they automatically receive the assigned licenses. Requires Azure AD Premium.
- Assign Licenses — Select which SKUs to assign to group members
- Service Plans — Toggle individual services within each SKU
- Processing Status — View pending, succeeded, and failed assignments
- Error Handling — Resolve conflicts when users have direct assignments
Dynamic Group Rules
M365 Groups can use dynamic membership rules based on user attributes:
// All Sales department members
(user.department -eq "Sales")
// All managers
(user.jobTitle -contains "Manager")Dynamic groups require Azure AD Premium P1 license.
Graph API Endpoints
GET /groups— List all groupsPOST /groups— Create groupGET /groups/{id}/members— Get membersPOST /groups/{id}/members/$ref— Add memberDELETE /groups/{id}/members/{userId}/$ref— Remove memberPOST /groups/{id}/assignLicense— Assign licenses
API Reference
GET /api/user-management-identity/groups?type=m365— List M365 groupsPOST /api/user-management-identity/groups— Create new M365 groupGET /api/user-management-identity/groups/:groupId/members— Get group membersPOST /api/user-management-identity/groups/:groupId/members— Add members to group