The process of building custom applications and tools that interact with Microsoft SharePoint, including SharePoint Online in Microsoft 365.
Hi Kevin Vieira
I have conducted some research and found this change in URL behavior is a common pain point for developers automating Teams/SharePoint provisioning. Microsoft frequently adjusts the backend provisioning logic for Microsoft 365 Groups, Teams, and SharePoint without explicit, detailed release notes on string-generation algorithms.
Here are the answers to your questions, along with actionable guidance on how to future-proof your automation.
1. Has there been a recent change in how SharePoint site URLs are generated for private channels?
Yes. Instead of concatenating the parent Team's SharePoint site URL namespace with the channel name, it now strips special characters from the Parent Team's Display Name (ProjectTeamName) and concatenates it with the channel's display name.
2. Is this behavior intentional and documented, or a regression?
From my own research, I did not find Microsoft documentation that guarantees either:
-
{ParentTeamUrl}-{ChannelName}, or -
{TeamDisplayName}-{ChannelName}as a contractual format for private channel site URLs.
3. Is there any way to control or deterministically retrieve the URL?
Practically, my answer is No, because there is currently no parameter in the Graph API POST /teams/{id}/channels payload to define or override the SharePoint site URL for a private channel. The provisioning engine handles this asynchronously and rigidly.
However, about retrieving the URL deterministically, my answer is Yes, you should completely abandon URL pattern guessing. Instead, use the Graph API to ask Microsoft for the generated URL. Because the underlying SharePoint site and document library are often not fully provisioned until accessed, the most reliable method is to call the filesFolder endpoint. Calling this endpoint not only returns the URL but also forces the backend to finish provisioning the site if it hasn't already.
4. Is the previous format still expected, or is it deprecated?
You should consider the {ParentTeamUrl}-{ChannelName} format deprecated for new channel creations. Any existing private channels created under the old logic will retain their original SharePoint URLs (URLs do not retroactively update if MS changes the logic or if a Team display name changes). However, any automation for newly provisioned channels should immediately transition to the filesFolder Graph API check rather than relying on string manipulation.
Hope my answer will help you.
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment". Â
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.