# Office 365 Group Configuration
Configures the provisioning of a Microsoft 365 Group (connected to Teams, Planner, and SharePoint) including site structure, team channels, tabs, and task planning.
Referenced by: Modern site configuration and team collaboration scenarios.
# Overview
Office365GroupCfg defines properties for creating Microsoft 365 Groups connected to SharePoint, Microsoft Teams, and Planner. It combines site configuration with team collaboration features.
Child configurations:
SiteCfg— site structure (referenced viaSiteSet)TeamChannelCfg (list)— team channels and tabsPlannerCfg— task planning and board managementPageCfg (list)— team pages
# Applied when
Microsoft 365 Groups are provisioned when:
- Referenced in a modern site provisioning request or team collaboration scenario
- SharePoint Online only — Microsoft 365 Groups are not supported on SharePoint 2016 or on-premises
- Applied during group creation; the group is created with the associated SharePoint site, Microsoft Team, and Planner board
- All child configurations (site structure, team channels, Planner board) are applied hierarchically during group provisioning
- The associated SharePoint site is created as part of the group and inherits all configured structure from
SiteCfg - Team channels are created immediately; Planner board is set up after the team is created
# Core settings
# Name
Type: string | Default: — | Required: Yes
Unique name for this configuration.
# FormatUrl
Type: string | Default: {MatterCode} | Required: Yes
Server-relative URL pattern for the SharePoint site. Supports {ClientCode}, {MatterCode}, and other dynamic variables. Only used during creation — changing this value does not rename an existing site.
# FormatDisplayName
Type: string | Default: {MatterName} ({MatterCode}) | Required: No
Display name pattern for the Microsoft 365 Group. Supports dynamic variables.
# FormatDescription
Type: string | Default: {MatterCode} - {MatterName} / {ClientCode} - {ClientName} | Required: No
Group description pattern. Supports dynamic variables.
# SiteSet
Type: string | Default: — | Required: No
Name of the SiteCfg to apply to the associated SharePoint site.
# GroupSet
Type: string | Default: — | Required: No
Name of the GroupCfg to apply for SharePoint group membership configuration.
# PageSet
Type: string | Default: — | Required: No
Name of the PageCfg to apply to the associated SharePoint site. Overrides the PageCfg defined on the linked SiteCfg.
# Owners
Type: string (list) | Default: — | Required: No
Array of owners (login names). Always set during initial provisioning. Use OwnersUpdate to control re-sync behavior on subsequent runs.
# Members
Type: string (list) | Default: — | Required: No
Array of members (login names). Always set during initial provisioning. Use MembersUpdate to control re-sync behavior on subsequent runs.
# OwnersUpdate
Type: bool | Default: false | Required: No
Controls whether owners are re-synced on every provisioning run for existing groups. When false (default), owners are set only when the group is first provisioned (created, groupified, or connected when the matter URL was previously absent). When true, owners are added and removed on every run to match the configured list.
# MembersUpdate
Type: bool | Default: false | Required: No
Controls whether members are re-synced on every provisioning run for existing groups. When false (default), members are set only when the group is first provisioned (created, groupified, or connected when the matter URL was previously absent). When true, members are added and removed on every run to match the configured list.
# GroupLookupFallbackBySiteId
Type: bool | Default: false | Required: No
When enabled, if no Microsoft 365 Group is found by mail nickname (matching FormatUrl), the service falls back to reading the group ID directly from the SharePoint site's own GroupId property via CSOM. This recovers the correct group regardless of its current mail nickname.
Enable this only when groups may have been created under a different alias format — for example, after a FormatUrl configuration change that altered the prefix. Do not enable by default, as it adds an extra CSOM round-trip on every provisioning run for matters where the group lookup already fails by nickname.
# OwnerAddMatterToMyMatters
Type: bool | Default: false | Required: No
When enabled, the matter is automatically added to the My Matters list for each configured owner.
# MemberAddMatterToMyMatters
Type: bool | Default: false | Required: No
When enabled, the matter is automatically added to the My Matters list for each configured member.
# LogoLocalPath
Type: string | Default: — | Required: No
Local file path to a logo image for the group. Supports dynamic variables, e.g. Logo/Epona{Division}.png.
# Group behavior
# VisibilityPrivate
Type: string | Default: — | Required: No
Creates the group as private when the value resolves to a truthy string. Accepts true, 1, private, prive, classified, or dynamic variables (e.g. {Classified}). When absent or falsy, the group is created as public.
See: Microsoft 365 Group visibility (opens new window)
# AllowExternalSenders
Type: bool? | Default: — | Required: No
Whether people outside the organization can send email to the group. Maps to the allowExternalSenders (opens new window) Graph API property.
# PreferredLanguage
Type: string | Default: — | Required: No
Preferred language for the group, using ISO 639-1 format (e.g. nl-NL, en-US). Maps to the preferredLanguage (opens new window) Graph API property.
# WelcomeMessageEnabled
Type: bool? | Default: — | Required: No
Whether new members receive a welcome email when added to the group. Set to false to suppress welcome messages for automated provisioning.
# HideGroupInOutlook
Type: bool? | Default: — | Required: No
When true, hides the group from the Outlook address book and the global address list (hiddenFromAddressListsEnabled). Useful for internal or system groups that should not appear in user lookups.
See: hiddenFromAddressListsEnabled (opens new window)
# Document ID
# DocIDProviderUseDefaultPrefix
Type: bool | Default: false | Required: No
When enabled, the SharePoint Document ID provider uses the default system-generated prefix instead of deriving one from the matter or client code.
# DocIDProviderPrefixFormat
Type: string | Default: — | Required: No
Format string for the Document ID prefix. When empty, the matter or client code is used. Supports dynamic variables (e.g. DMS_{MatterCode}). Maximum 13 characters — SharePoint truncates longer prefixes.
# Reprovisioning behavior
When a matter is provisioned again (e.g., after the Microsoft 365 Group was previously deleted), the service automatically cleans up the stale state before recreating the group:
- If a soft-deleted group with the same mail nickname exists in Microsoft 365's deleted items, it is permanently deleted to allow the new group to be created with the same alias.
- After the soft-deleted group is removed, the orphaned SharePoint site collection is also deleted.
Manual intervention required in these cases:
Site has content — If any document library in the orphaned site still contains files, the automatic cleanup is blocked. The provisioning job will not retry automatically. The consultant must move or delete the documents, manually delete the site collection, and then retry the provisioning job.
Site deletion fails — If the site collection cannot be deleted after multiple retries (e.g., due to Azure–SharePoint synchronization delay), the provisioning job stops retrying. The consultant must manually delete the orphaned site collection and retry.
In both cases the provisioning job moves to an error state and will not pick up the item again until manually retried.
# Team configuration
# TeamChannels
Type: TeamChannelCfg (list) | Default: — | Required: No
Array of team channels to create with tabs and moderation settings.
# PlannerSet
Type: string | Default: — | Required: No
Name of the PlannerCfg to apply (Planner board configuration).
# TeamChannelSiteSet
Type: string | Default: — | Required: No
Name of the SiteCfg to apply to the default Teams channel's linked SharePoint site collection. Leave empty to use no site configuration for the channel.
# TeamChannelPageSet
Type: string | Default: — | Required: No
Name of the PageCfg to apply to the default Teams channel's linked SharePoint site collection.
# Yammer
Type: string | Default: — | Required: No
When set to true (or a dynamic variable resolving to truthy), creates a Yammer group connected to this Microsoft 365 Group.
# Team
Type: string | Default: — | Required: No
When set to true (or a dynamic variable resolving to truthy), provisions a Microsoft Teams team connected to this Microsoft 365 Group.
# Site quota settings
These settings control storage and resource quotas for the associated SharePoint site collection. Leave unset to use the tenant default.
See: SharePoint site quota management (opens new window)
# StorageMaximumLevel
Type: long? | Default: — | Required: No
Maximum storage quota for the site collection, in GB.
# StorageWarningLevel
Type: long? | Default: — | Required: No
Storage usage threshold at which a warning is triggered, in GB. Must be less than StorageMaximumLevel.
# UserCodeMaximumLevel
Type: double? | Default: — | Required: No
Maximum machine resources (sandbox solutions) allowed for user code on this site collection.
# UserCodeWarningLevel
Type: double? | Default: — | Required: No
Machine resource usage threshold at which a warning is triggered for user code.
# TimeZone
Type: int? | Default: — | Required: No
SharePoint time zone ID for the site collection. See the SharePoint time zone ID reference (opens new window) for valid values (e.g. 4 = UTC+1 Amsterdam).
# Modern site settings
# Classification
Type: string | Default: — | Required: No
Site classification label (e.g. Internal, Confidential). Applies the label to the Microsoft 365 Group and the associated SharePoint site.
# SensitivityLabel
Type: string | Default: — | Required: No
Sensitivity label ID (GUID) to apply to the group and site.
See: Microsoft sensitivity labels (opens new window)
# HubSiteUrl
Type: string | Default: — | Required: No
URL of the hub site to associate this site with.
# HubSiteId
Type: Guid? | Default: — | Required: No
ID of the hub site to associate this site with. Use when the hub site URL is not known but the ID is. Takes precedence over HubSiteUrl when both are set.
# SharePoint Online device and access policies
Note: All properties in this section apply only to SharePoint Online. They are ignored on on-premises deployments.
# SharingCapabilities
Type: enum? | Default: Disabled | Required: No
External sharing policy for the site collection. Valid values:
| Value | Description |
|---|---|
Disabled | No external sharing (default) |
ExternalUserSharingOnly | Share with existing external users only |
ExternalUserAndGuestSharing | Share with new and existing external users |
ExistingExternalUserSharingOnly | Share with existing external users in the directory |
See: SharingCapabilities enum (opens new window)
# ModernPageExtension
Type: bool? | Default: — | Required: No
Controls whether the modern page publishing extension is activated on the site.
# BlockDownloadPolicy
Type: bool? | Default: — | Required: No
Prevent file downloads for users without managed devices.
# ExcludeBlockDownloadPolicySiteOwners
Type: bool? | Default: — | Required: No
Only applies when BlockDownloadPolicy is true. Exclude group owners from the block download policy.
# ReadOnlyForBlockDownloadPolicy
Type: bool? | Default: — | Required: No
Only applies when BlockDownloadPolicy is true. Enable read-only mode for users affected by the policy.
# ConditionalAccessPolicy
Type: enum? | Default: — | Required: No
Conditional access policy type: AllowFullAccess, AllowLimitedAccess, BlockAccess.
# AuthenticationContextName
Type: string | Default: — | Required: No
Only applies when ConditionalAccessPolicy is AuthenticationContext. Name of the authentication context to enforce.
# LimitedAccessFileType
Type: enum? | Default: — | Required: No
Only applies when ConditionalAccessPolicy is AllowLimitedAccess. Allowed file types: OfficeOnlineFilesOnly, WebPreviewableFiles, OtherFiles.
# AllowEditing
Type: bool? | Default: — | Required: No
Only applies when ConditionalAccessPolicy is AllowLimitedAccess. Allow editing for limited access users.
# ReadOnlyForUnmanagedDevices
Type: bool? | Default: — | Required: No
Only applies when ConditionalAccessPolicy is AllowLimitedAccess. Force read-only mode for unmanaged devices.
# Team settings
Note: Team-specific properties apply only to SharePoint Online Groups connected to Microsoft Teams.
# TeamSettings
Type: TeamSettingsCfg | Default: — | Required: No
Advanced team configuration including fun, guest, member, messaging, and discovery settings.
# TeamSettings.FunSettings
Type: object | Default: — | Required: No
Configure team emoji, memes, and stickers.
# TeamSettings.GuestSettings
Type: object | Default: — | Required: No
Configure guest permissions (messaging, channel creation, etc.).
# TeamSettings.MemberSettings
Type: object | Default: — | Required: No
Configure member permissions (creation, deletion, etc.).
# TeamSettings.MessagingSettings
Type: object | Default: — | Required: No
Configure message retention and deletion policies.
# TeamSettings.DiscoverySettings
Type: object | Default: — | Required: No
Configure team discoverability and directory visibility.
# Related
- Team Channel Configuration — individual team channels
- Planner Configuration — task planning
- Site Configuration — associated SharePoint site