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