graph
15 TopicsSince 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 Yerro631Views4likes9CommentsNeed help in understanding delegated permissions for onlinemeetingtranscript.read.all
Hi everyone, I am building a custom team app which is basically a meeting bot which retrieves the transcripts of the meeting when the meeting ends. I followed this Microsoft sample https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-transcription/nodejs There are some permissions(OnlineMeetingTranscript.Read.All) needed to use the users/{user_id}/onlinemeetings/{meeting_id}/transcripts api. These permissions can be delegated level or application level as per the documentation. https://learn.microsoft.com/en-us/graph/api/onlinemeeting-list-transcripts?view=graph-rest-beta&tabs=python The API works fine with application level permissions. But when I try to make it delegated, I use the me/onlinemeetings/{meeting_id}/transcripts api. the api returns a 400 Bad request error { "error": { "code": "BadRequest", "message": "/me request is only valid with delegated authentication flow.", "innerError": { "date": "", "request-id": "", "client-request-id": "" } } } I wanted to understand if a delegated level of permission for my use case (meeting transcription bot) is feasible or not. Is it a hard requirement that the permission level should be application level for the meeting transcription bot? If yes, why?310Views0likes1CommentWrong notification subtitle in 1-to-1 chats on Android
Summary Activity notification subtitles are incorrect in one-on-one chats on Android. Actual result This is an activity notification on Android. The subtitle shows "Chat with Worldr", Worldr is the application name. Expected result This is the same activity notification, but in Web. It shows the name of the one-on-one chat, as expected API Request The following Graph API request was used to create the examples, {chat_id} and {user_id} are replaced. The request used an application token. POST https://graph.microsoft.com/v1.0/chats/{chat_id}/sendActivityNotification { "topic": { "source": "entityUrl", "value": "https://graph.microsoft.com/v1.0/chats/{chat_id}" }, "activityType": "message", "previewText": { "content": "Hello, World" }, "recipient": { "@odata.type": "microsoft.graph.aadUserNotificationRecipient", "userId": "{user_id}" }, "templateParameters": [ { "name": "tabName", "value": "Example" } ] }1KViews0likes6CommentsGraph CallRecords
Hi, I'm trying to find a way to get Teams Call Queue calls waiting time (how much time the caller waits on the queue before an agent took the call). By using the Get CallRecord method I was able to get details about regular Teams calls by call ID - GET https://graph.microsoft.com/v1.0/communications/callRecords/{id} I was wondering if I can do the same with Call Queue\Auto Attendant calls and try to figure out the waiting time with the data I will get. I know 3rd party tools, which gives the details I'm looking for, using Graph webhook subscription - so I'm pretty sure I can get this data too, just can't find out how. Any suggestions would be appreciated. Thanks.6.1KViews1like9CommentsTeams direct Routing - Why still not usable with Graph API?
Hi MS Team, at the moment at each customer we have the request of using MS Teams for calling via direct routing. But the pain with this is that we or the customer have to configure this each time with Powershell. And also they need to configure the PBX Site per User. If the direct routing configuration would be available via Graph API it would be so easy to create applications which configure both sites at the same time. And now this feature is there for almost 2 years, but still now usable via API. I dont know why this is still not possible. Does anybody have an informations when MS will implement this?4.7KViews1like9CommentsUnable to delete team members via Graph
A couple of weeks ago the delete group member method stopped working: DELETE https://graph.microsoft.com/v1.0/groups/{id}/members/{id}/$ref The deleted user is still able the to connect to the group via Teams (webapp, clientapp) and send messages to channels, etc. Only the related SharePoint site gets unavailable for the user. Thank you, Zsolt3KViews0likes14CommentsFailed to delete a channel via Graph
I have a few Power Automate flows for deleting channels via Graph (Beta). They worked well before till I found a lot of failures yesterday: { "error": { "code": "BadRequest", "message": "Failed to execute Skype backend request GetThreadS2SRequest.", "innerError": { "date": "2020-11-17T14:37:57", "request-id": "fec4ca54-b0e0-4b39-9329-8d85dfff67a8", "client-request-id": "fec4ca54-b0e0-4b39-9329-8d85dfff67a8" } } } Something wrong with the Graph API?1.2KViews0likes4CommentsWith graph api different online meeting urls
Hi, I have been working graph api for teams. Successfully created online meeting by using https://graph.microsoft.com/beta/me/onlineMeetings I just want to create different url for different users to have predefined user names. I dont want my customers to type username maybe pass the lobby page. And no needing to admit the users to join video session.871Views0likes0Comments