Create a Microsoft 365 Group Without Welcome Email

Provision a Microsoft 365 group using Microsoft Graph with welcome messages fully disabled, ideal for uses like licensing and sensitivity labels.

Connect-MgGraph -Scopes "Group.ReadWrite.All", "User.Read.All"

# Get owner ID
$OwnerId = "https://graph.microsoft.com/v1.0/users/$((Get-MgUser -UserId '[email protected]').Id)"

# Build body with correct types
$Body = @{
    displayName             = "CORP-License-MS365BusinessPremium-01"
    mailNickname            = "corp-grp-0001"
    description             = "License and Sensitivity Label Group"
    "[email protected]"     = @($OwnerId)
    groupTypes              = @("Unified")
    mailEnabled             = $true
    securityEnabled         = $true
    visibility              = "Private"
    resourceBehaviorOptions = @("WelcomeEmailDisabled")
} | ConvertTo-Json -Depth 10

# Send POST request directly to Graph
$response = Invoke-MgGraphRequest -Method POST -Uri "https://graph.microsoft.com/v1.0/groups" -Body $Body -ContentType "application/json"

# Output the group ID
$response.id

After creating the Microsoft 365 group via Microsoft Graph with WelcomeEmailDisabled, use Exchange Online PowerShell to fully hide the group from end users

Set-UnifiedGroup -Identity "CORP-License-MS365BusinessPremium-01" `
  -HiddenFromExchangeClientsEnabled $true `
  -HiddenFromAddressListsEnabled $true
Get-UnifiedGroup -Identity "CORP-License-MS365BusinessPremium-01" | Select-Object DisplayName, HiddenFromExchangeClientsEnabled, HiddenFromAddressListsEnabled

DisplayName                        HiddenFromExchangeClientsEnabled HiddenFromAddressListsEnabled
-----------                        -------------------------------- -----------------------------
CORP-License-MS365BusinessPremium-01                             True                          True

Last updated