Skip to content

New-MgGroupEvent Can't Create Channel Meetings #3500

@12Knocksinna

Description

@12Knocksinna

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    status:waiting-for-triageAn issue that is yet to be reviewed or assignedtype:bugA broken experience

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions