-
Notifications
You must be signed in to change notification settings - Fork 216
Description
Describe the bug
The New-MgGroupEvent cmdlet can create events, including online Teams meetings, in the calendar of a Microsoft 365 group. However, it can't create a channel meeting. A channel meeting is an event in the group calendar that's marked as belonging to a channel to allow the Teams channel calendar app to filter out the events and display them in the app.
The issue appears to be because the cmdlet (and the Graph API request) doesn't accept the channelIdentity information in the body parameter passed to the cmdlet. The same issue exists for Update-MgGroupEvent...
$Body = @{
channelIdentity = @{ teamId = "$GroupId"; channelId = "$channelId"}
Update-MgGroupEvent -EventId $Id -GroupId $GroupId -BodyParameter $Body
Expected behavior
Well, it would be nice if the cmdlet could create a channel meeting to replicate the functionality available in all the Teams clients.
How to reproduce
Assume that you've used Get-MgGroup or Get-MgTeam to find the identifier for the target group, and Get-MgTeamChannel to find the identifier for the target channel.
$eventParams = @{
Subject = "Product Launch Review (Part 2)"
Body = @{
ContentType = "HTML"
Content = "Agenda:
1) Timeline
2) Risks
3) Next steps"
}
Start = @{
DateTime = "2026-01-22T09:30:00"
TimeZone = "Europe/Dublin"
}
End = @{
DateTime = "2026-01-22T10:15:00"
TimeZone = "Europe/Dublin"
}
Location = @{
DisplayName = "Channel meeting"
}
channelIdentity = @{ teamId = "$GroupId"; channelId = "$channelId"}
Attendees = @(
@{
EmailAddress = @{
Address = "Sean.Landy@office365itpros.com"
Name = "Sean Landy"
}
Type = "required"
}
)
IsOnlineMeeting = $true
OnlineMeetingProvider = "teamsForBusiness"
AllowNewTimeProposals = $true
TransactionId = [Guid]::NewGuid().ToString() # must be a string
}
New-MgGroupEvent -GroupId $GroupId -BodyParameter $EventParams
New-MgGroupEvent_Create: were unable to deserialize
Status: 400 (BadRequest)
ErrorCode: UnableToDeserializePostBody
Date:
Headers:
Cache-Control : private
Strict-Transport-Security : max-age=31536000
request-id : 652b1bb1-6239-4a46-ad23-39c5c416ab40
client-request-id : 70562cc4-d138-4d85-b059-b77ec07f6696
x-ms-ags-diagnostic : {"ServerInfo":{"DataCenter":"North Europe","Slice":"E","Ring":"4","ScaleUnit":"001","RoleInstance":"DU2PEPF000105E6"}}
Date : Sun, 11 Jan 2026 20:38:24 GMT
Recommendation: See service error codes: https://learn.microsoft.com/graph/errors
Removing the channelIdentity information allows the cmdlet to run.
SDK Version
2.34
Latest version known to work for scenario above?
None
Known Workarounds
None. Invoke-MgGraphRequest doesn't work by Posting to the group events endpoint.
Debug output
Configuration
Name Value
PSVersion 7.5.4
PSEdition Core
GitCommitId 7.5.4
OS Microsoft Windows 10.0.26200
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
Other information
No response