Forum Discussion
Since Aug 22nd we can't save any Side Panel tabs
Hello!
Yesterday (Aug 22nd 2025) we got an update in our Teams Links that we normally share to start meetings. They were modified from this format:
https://teams.microsoft.com/l/meetup-join/19%3ameeting_XXXXXXXXXXXXXXX%40thread.v2/0?context=%7b%22Tid%22%3a%22xxxxxxxxxxxx%22%2c%22Oid%22%3a%22xxxxxxxxxxxxxx%22%7d
to
https://teams.microsoft.com/meet/00000000000?p=XXXXXXXXX
Sensitive values and ids have been redacted above and inside all the snippets in this post.
This looks like a planned rollout, as specified here: https://mc.merill.net/message/MC772556
After this change, none of our apps are able to save a side panel into any of the meetings with the new link format.
We had a couple of older, still available meetings whose link had the previous format, and we are able to save the side panel there, but no matter what we tried, nothing allowed us to solve this situation on our end. My final resort is this post in hopes of a solution to what we see.
Each save operation yields a 500 on this call
https://teams.microsoft.com/api/chatsvc/amer/v1/threads/19%3Ameeting_XXXXXXXXXXXXXXXXXX%40thread.v2/properties?name=tab%3A%3Axxxxxxxxxxxxxxxx
{
"errorCode": 500,
"message": "{\"subCode\":\"TabOperationFailed\",\"details\":\"Initiator 8:orgid:xxxxxxxxxxxxxx failed perform tab operation\",\"errorCode\":1500,\"errorSubCode\":null}",
"standardizedError": {
"errorCode": 1500,
"errorSubCode": 1,
"errorDescription": "TabOperationFailed-Initiator 8:orgid:xxxxxxxxxxxxxx failed perform tab operation"
}
}
I ended up trying to manually install it with graph api calls, which didn't work either and gave me a 502
curl -s -X POST "https://graph.microsoft.com/v1.0/chats/$CHAT_ID/tabs" \
-H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" \
-d '{
"displayName": "DisplayName",
"email address removed for privacy reasons": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/'"$TEAMS_APP_ID"'",
"configuration": {
"entityId": "entity-random",
"contentUrl": "https://<domain>/?theme={theme}&locale={locale}",
"websiteUrl": "https://<domain>/"
}
}' | jq .
{
"error": {
"code": "BadGateway",
"message": "Failed to execute backend request.",
"innerError": {
"date": "2025-08-22T03:36:08",
"request-id": "b4bbade7-1ea2-46df-a1d9-92cdda9e360b",
"client-request-id": "b4bbade7-1ea2-46df-a1d9-92cdda9e360b"
}
}
}
Then, thinking there was something wrong with my app, I used a MS app, same result
curl -s -X POST "https://graph.microsoft.com/v1.0/chats/$CHAT_ID/tabs" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"displayName": "Website - test",
"email address removed for privacy reasons": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/com.microsoft.teamspace.tab.web",
"configuration": {
"entityId": null,
"contentUrl": "https://www.microsoft.com",
"websiteUrl": "https://www.microsoft.com"
}
}' | jq .
{
"error": {
"code": "BadGateway",
"message": "Failed to execute backend request.",
"innerError": {
"date": "2025-08-22T04:02:36",
"request-id": "ece5590e-f23f-4780-a4a6-20c1b2f0d0f3",
"client-request-id": "ece5590e-f23f-4780-a4a6-20c1b2f0d0f3"
}
}
}
I then tested it against chats that do not belong to a meeting. Both apps succeeded
curl -s -X POST "https://graph.microsoft.com/v1.0/chats/$REGULAR_CHAT_ID/tabs" \
-H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" \
-d '{
"displayName": "Website - test",
"email address removed for privacy reasons": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/com.microsoft.teamspace.tab.web",
"configuration": { "entityId": null, "contentUrl": "https://www.microsoft.com", "websiteUrl": "https://www.microsoft.com" }
}' | jq .
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#chats('19%3xxxxxx_xxxxxxxxxxxx%40unq.gbl.spaces')/tabs/$entity",
"id": "a0cca657-12d0-4df0-84d8-cc1f8fa7d3e6",
"displayName": "Website - test",
"webUrl": "https://teams.microsoft.com/l/chat/19%xxxxxxxxx_XXXXXXXXX%40unq.gbl.spaces/tab%3a%3xxxxxxxxxxxxxxxxxxxxxx?webUrl=https%3a%2f%2fwww.microsoft.com&label=Website+-+test&tenantId=xxxxxxxxxxxxxxxxxxx,
"configuration": {
"entityId": null,
"contentUrl": "https://www.microsoft.com",
"removeUrl": null,
"websiteUrl": "https://www.microsoft.com"
}
}
curl -s -X POST "https://graph.microsoft.com/v1.0/chats/$REGULAR_CHAT_ID/tabs" \
-H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" \
-d '{
"displayName": "redacted",
"email address removed for privacy reasons": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/'"$TEAMS_APP_ID"'",
"configuration": {
"entityId": "redacted",
"contentUrl": "https://<domain>/?theme={theme}&locale={locale}",
"websiteUrl": "https://<domain>/"
}
}' | jq .
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#chats('19%3xxxxxxxxxxxxx_xxxxxxxxxxxxx%40unq.gbl.spaces')/tabs/$entity",
"id": "xxxxxxxxxxxxxxxxxxxxxx",
"displayName": "redacted",
"webUrl": "https://teams.microsoft.com/l/entity/<redacted>/_djb2_msteams_prefix_000000000?webUrl=https%3a%2f%2f<domain>%2f&label=redacted+label&context=%7b%0d%0a++%22context%22%3a+%22chat%22%2c%0d%0a++%22chatId%22%3a+%2219%3axxxxxxx_xxxxxxxxx%40unq.gbl.spaces%22%2c%0d%0a++%22subEntityId%22%3a+null%0d%0a%7d&tenantId=xxxxxxxxxxxxxxxx",
"configuration": {
"entityId": "redacted",
"contentUrl": "https://<domain>/?theme={theme}&locale={locale}",
"removeUrl": null,
"websiteUrl": "https://<domain>/"
}
}
At this point we don't know what else to do, seems like a meeting specific issue that we are unable to solve. It's affecting our tenants in all environments, since our primary business flow relies on this panel. All the snippets contain real dates and request-ids, here's hoping it helps somehow.
Help, and thanks in advance.
~A. del Yerro
8 Replies
- LucasSCopper Contributor
Hello,
We are experiencing the same issue with the Side Panel tab, we are unable to save the app configuration.
It stopped working for us around the same time.
Any updates please?
- AdelYerroCopper Contributor
Sayali-MSFT​ The ThreadId is known, we don't extract it from the meeting link.
The request fails with a BadGateway Error when doing the request (both manually or though the SDK), POST /chats/{threadId}/tabs
This is an example output from graph:{ "error": { "code": "BadGateway", "message": "Failed to execute backend request.", "innerError": { "date": "2025-08-22T03:36:08", "request-id": "b4bbade7-1ea2-46df-a1d9-92cdda9e360b", "client-request-id": "b4bbade7-1ea2-46df-a1d9-92cdda9e360b" } } }
- mmatiCopper Contributor
Sayali-MSFT​ I don't develop an app or have access to the graph api or any of the params mentioned. It just doesn't add any app to the sidepanel during a meet.
It just freezes i.e. youtube:In the browser network there are multiple `500` errors on `teams.microsoft.com/api/*` requests showing up right after "save" click.
- phu-haCopper Contributor
I encountered the same issue when trying to add a new app to the meeting.
Hi Sayali-MSFT​ do you have any updates on this issue?
- Sayali-MSFT
Microsoft
Hello AdelYerro​ mmati​ ,We got the below information from Enginering team that,
This is happening because the new /meet/<guid> links no longer expose the 19:meeting…@thread.v2 id, but the tab install path they are using relies on the meeting chat thread id.
To get this working, the threadId could be resolved through Graph (/onlineMeetings → chatInfo.threadId) and then passed into POST /chats/{threadId}/tabs.
how you currently retrieving the threadId?- AdelYerroCopper Contributor
The threadId is known to the side panel, we don't rely in the meeting link to extract it at all.
I also added in my post a direct call I did with graph using a known threadId with both apps and both failed server side.To be more precise when the side panel fails to install Teams is doing the following call:
https://teams.microsoft.com/api/chatsvc/amer/v1/threads/19%3Ameeting_XXXXXXXXXXXXXXXXXX%40thread.v2/properties?name=tab%3A%3Axxxxxxxxxxxxxxxx
And fails, server side.
Doing the direct approach then doing a POST to /chats/{threadId}/tabs, also fails. Above you can see a server side bad gateway response from graph when doing exactly what engineering answered:
curl -s -X POST "https://graph.microsoft.com/v1.0/chats/$CHAT_ID/tabs" \ -H "Authorization: Bearer $ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "displayName": "Website - test", "email address removed for privacy reasons": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/com.microsoft.teamspace.tab.web", "configuration": { "entityId": null, "contentUrl": "https://www.microsoft.com", "websiteUrl": "https://www.microsoft.com" } }' | jq . { "error": { "code": "BadGateway", "message": "Failed to execute backend request.", "innerError": { "date": "2025-08-22T04:02:36", "request-id": "ece5590e-f23f-4780-a4a6-20c1b2f0d0f3", "client-request-id": "ece5590e-f23f-4780-a4a6-20c1b2f0d0f3" } } }
Please review the request with this information:
{ "error": { "code": "BadGateway", "message": "Failed to execute backend request.", "innerError": { "date": "2025-08-22T03:36:08", "request-id": "b4bbade7-1ea2-46df-a1d9-92cdda9e360b", "client-request-id": "b4bbade7-1ea2-46df-a1d9-92cdda9e360b" } } }
as it is a direct (manual) graph api call with a correct meeting ThreadId from a personal meeting room (calendar->meet now->🎥 Start meeting) that returned "BadGateway". Same request succeeds if the meeting chat belongs to a scheduled meeting (calendar -> new event -> tick Teams meeting -> join).
I got the chatInfo thread Id the same way from both meetings.
- mmatiCopper Contributor
I've run into exactly the same issue, with no solution unfortunately - Sayali-MSFT​ is there na ETA when this will be fixed? I can't add any app into the sidepanel during a meeting...
- Sayali-MSFT
Microsoft
Hello A. del Yerro,
Thank you for bringing this issue to our attention. We are checking with the internal team and get back to you once we have any update.