graph
20 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 Yerro637Views4likes9CommentsNeed 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?311Views0likes1CommentWrong 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" } ] }1.1KViews0likes6CommentsMS Teams Graph API @Mention a Bot
We're doing some work with a bot that's been added as a member to a Teams channel, and are attempting to send a message to the bot through the at_mention function to have the bot take some action. Below is the full JSON request that we're posting to the Messages API. The post appears to at_mention the bot, but the bot doesn't respond. Have tested this with multiple bots in this channel, and doesn't appear that the problem is specific to the particular bot we're working with. Any help would be greatly appreciated! POST https://graph.microsoft.com/beta/teams/<team-id>/channels/<channel-id>/messages Content-type: application/json { "body": { "contentType": "html", "content": "<div><div><at id=\"0\">Cisco Webex Meetings</at> site test.webex.com</div>\n</div>" }, "mentions": [ { "id": 0, "mentionText": "Cisco Webex Meetings", "mentioned": { "application": { "displayName": "Cisco Webex Meetings", "id": "<bot-id>", "applicationIdentityType": "bot" } } } ] }3.5KViews0likes2CommentsClicking on the notification in the feed doesnt reload the tab
I have created an app which loads some data in the webview from my site. I am able to send notifications to MS Teams, if I am on other tabs like Shifts/Chat and I click on the activity feed the first notification opens the my application's tab and loads the data but if I click on other notification in the activity feed the tab doesnt reload. This behaviour is consistent 😞 Looks like the application tab is not reloaded everytime you click on a notification. I am testing this on web browser.582Views0likes0CommentsMS-Teams Graph | listing all callID's or the call history of a member | call duration
dear wonderful people , for a small intern project I want to implement the call duration of the ms-teams into the customer relationship management system database - I don't manage to list all callID's to then get the startDateTime & endDateTime of the microsoft.graph.callRecords segment. - what is the most convenient way to get the list of all user IDs of my organization? - how do I get the list of all call IDs? - how do i get all call durations or the call history of a member? - how do I subscribe to an update for each call made by a user in the group? - how do I write the session data to the database? Thank you to anyone who can help me. I have been dealing with this for a while and am currently trying to find a solution with CQD and PowerBiConnect. Im willing to pay a pocketmoney of 100-150€ or more for a working solution proposal and the willingness for light verbal support if I can't get the implementation right. Greetings from Germany5KViews0likes2CommentsGraph 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.1KViews1like9Comments