Skip to content

Support Microsoft Teams shorter meeting URLs (teams.microsoft.com/meet/...)#857

Draft
Copilot wants to merge 2 commits intomasterfrom
copilot/support-shorter-teams-urls
Draft

Support Microsoft Teams shorter meeting URLs (teams.microsoft.com/meet/...)#857
Copilot wants to merge 2 commits intomasterfrom
copilot/support-shorter-teams-urls

Conversation

Copy link

Copilot AI commented Feb 25, 2026

Teams has rolled out shorter meeting URLs (https://teams.microsoft.com/meet/<meetingId>?p=<passcode>) as the new default for Meet Now and scheduled meetings. The existing ParseJoinURL logic only handled the legacy long-form URLs with embedded JSON context, causing these new URLs to fail with a parse error.

Changes

URL Parsing (JoinInfo.cs — all variants)

Added short URL detection ahead of the existing long-URL regex. For short URLs, the meetingId and optional passcode are extracted from the path/query string. chatInfo is returned as null since thread/message IDs don't exist in this format.

  • Sample.Common.V1 / Sample.Common.Beta / EchoBot: Use JoinMeetingIdMeetingInfo natively (available in Microsoft.Graph ≥ 4.54.0 and Microsoft.Graph.Beta)
  • Sample.Common (Microsoft.Graph 4.7.0): Uses TokenMeetingInfo with overridden ODataType = "#microsoft.graph.joinMeetingIdMeetingInfo" and AdditionalData to produce the correct wire format, since the type was added in a later 4.x release
  • PsiBot (Microsoft.Graph 4.54.0): Uses JoinMeetingIdMeetingInfo directly in the inline ParseJoinURL method
// Short URL: https://teams.microsoft.com/meet/123456789?p=abc123
var meetingInfo = new JoinMeetingIdMeetingInfo
{
    JoinMeetingId = "123456789",
    Passcode = "abc123",
};
return (null, meetingInfo);  // chatInfo is null — no thread context in short URLs

Caller fixes (BotService.cs)

  • EchoBot: Fixed hard cast (meetingInfo as OrganizerMeetingInfo).Organizer...GetTenantId() → null-safe ?. chain; updated duplicate-call guard to handle null chatInfo
  • PsiBot: Same null-safe fix for tenantId extraction
Original prompt

This section details on the original issue you should resolve

<issue_title>Support Microsoft Teams Shorter meeting URLs</issue_title>
<issue_description>Please update the real time media sample to support joining Teams meetings using the shorter URL in the form of https://teams.microsoft.com/meet/meeting_id?p=HashedPasscode, as announced here and here. The new format is now the default for "Meet Now" and is being rolled out to meetings scheduled in calendar.

Note: Get onlineMeeting API can fetch the long URL format by the short version. But it requires delegated permission of the meeting owner, which we don't know from the shorter URL.</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

…om/meet/...)

Co-authored-by: samarthasthana <3836631+samarthasthana@users.noreply.github.com>
Copilot AI changed the title [WIP] Update media sample to support shorter Microsoft Teams meeting URLs Support Microsoft Teams shorter meeting URLs (teams.microsoft.com/meet/...) Feb 25, 2026
Copilot AI requested a review from samarthasthana February 25, 2026 17:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support Microsoft Teams Shorter meeting URLs

2 participants