Repository navigation
New-MgGroupEvent Can't Create Channel Meetings #3500
Description
Activity
- addedstatus:waiting-for-triageAn issue that is yet to be reviewed or assignedAn issue that is yet to be reviewed or assignedtype:bugA broken experienceA broken experience
on Jan 11, 2026 I don't think that there is currently any support for creating channel meetings via the Microsoft Graph APIs.
I have asked internally to confirm.12Knocksinna commented
on Jan 13, 2026 ContributorAuthorMore actionsHi Gavin, I suspect that you are right. However, a browse of the net shows that many people have tried to set up channel meetings with the Graph (and Graph SDK), so I thought it worthwhile to at least note the issue to see what can be done.
This is what I got back from my internal question to the owners of the Teams APIs
the meeting API does not support creating channel meetings, but it should be possible to create the meeting (e.g., using the POST /v1.0/groups/{group-id}/events) and then post the link to the channel using POST /teams/{team-id}/channels/{channel-id}/messages.
- added and removedtype:bugA broken experienceA broken experience
on Jan 20, 2026 Given that this change would need to be implemented by the API owners I'm going to close this as not actionable.
12Knocksinna commented
on Jan 20, 2026 ContributorAuthorMore actionsThe workaround to post a personal meeting to the channel and invite the channel members is well known, but the API should support creating channel meetings. After all, that's why the channel calendar app exists. From: Gavin Barron ***@***.***> Sent: Tuesday, January 20, 2026 11:34 PM To: microsoftgraph/msgraph-sdk-powershell ***@***.***> Cc: 12 Knocksinna (Gmail) ***@***.***>; Author ***@***.***> Subject: Re: [microsoftgraph/msgraph-sdk-powershell] New-MgGroupEvent Can't Create Channel Meetings (Issue #3500) [https://avatars.githubusercontent.com/u/7122716?s=20&v=4]gavinbarron left a comment (microsoftgraph/msgraph-sdk-powershell#3500)<#3500 (comment)> This is what I got back from my internal question to the owners of the Teams APIs the meeting API does not support creating channel meetings, but it should be possible to create the meeting (e.g., using the POST /v1.0/groups/{group-id}/events) and then post the link to the channel using POST /teams/{team-id}/channels/{channel-id}/messages. - Reply to this email directly, view it on GitHub<#3500 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AK45CIV2T6YAGWJKEKU4BWD4H23PXAVCNFSM6AAAAACRLI4KCOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTONZVGQ2DANRVGM>. You are receiving this because you authored the thread.Message ID: ***@***.******@***.***>>
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