Recent Discussions
Teams channel messages delta API returns HTTP 400 BadRequest
Hello, We are encountering an unexpected error when calling the Microsoft Graph API endpoint: /teams/{team-id}/channels/{channel-id}/messages/delta This happens consistently for a specific Teams channel, which prevent us from retrieving incremental message updates using the delta query. Request URL: https://graph.microsoft.com/v1.0/teams/{team-id}/channels/{channel-id}/messages/delta?$deltatoken=<redacted-deltatoken> Error Response: HTTP 400 { "error": { "code": "BadRequest", "innerError": { "client-request-id": "<redacted>", "date": "2025-10-07T06:32:56", "request-id": "<redacted>" }, "message": "UnknownError" } } Steps already tried (unsuccessful): Start a fresh delta query without the $deltatoken to obtain a new valid token Use the beta endpoint: https://graph.microsoft.com/beta/teams/{team-id}/channels/{channel-id}/message/delta Additional observation: If we add a filter condition such as ?$filter=lastModifiedDateTime gt <some-timestamp> to skip messages before a certain time, the query works normally. This suggests that there may be one or more problematic messages within a specific time range that cause the API to fail with BadRequest. Questions: Is this a known issue with the Teams channel messages delta API? Are there any recommended workarounds to avoid this error? Thank you.19Views0likes0CommentsSupport RTL Languages on MacOS
As now, It seems Microsoft teams on MacOS does not support RTL languages when texts are being typed. This makes bad feeling when users want to read the text they've typed. The issue becomes worst when the text contains English phrase (when the message is sent) As far as I remember, Skype did support RTL languages when the texts are being typed.32Views0likes0CommentsThe Teams Developer Portal needs administrative views
The Teams Developer portal needs some way for Teams service admins or Global admins to view everything that is being deployed to the catalog both in a published and unpublished state. Alternatively, develop some graph endpoints that could be turned into cmdlets in Microsoft Teams PowerShell module or the Graph PowerShell SDK module. As administrators we need the ability to help with keeping our tenant clean, so these kinds of views or endpoints would allow us to make sure that anything uploaded and not needed may be removed or reassigned if the underlying owner leaves and someone else needs to take over something they've been developing. I've submitted a feedback item to the portal - so please help by adding a vote to the entry to bring it up as an enhancement for the Teams Developer Portal services. The Teams Developer Portal needs administrative views or PowerShell/Graph capabilities to manage uploaded solutions and other artifacts · Community22Views0likes0CommentsAffordable Conference Room Setups for Small Businesses Using Microsoft Teams Resource Accounts
Our small business (around 40 users) recently migrated from Google to Microsoft 365, and we’re facing several challenges in optimizing our meeting rooms for Teams without incurring large costs. Here’s our current setup and the main issues we are encountering—hoping for advice or creative solutions from the community. Current Setup All computers are domain-joined. We created resource accounts for each of our three meeting rooms; these appear correctly as Rooms in Outlook and Teams booking menus. Each meeting room contains a standard desktop PC (not MTR-certified) running Windows, logged into Teams as the room’s resource account. Employees use the meeting room computer to join calls and manage the meeting calendar. Current Issues Wireless Presenting (Casting): Teams’ wireless casting feature appears to require MTR-certified hardware, which is financially out of reach for a business our size. Unplugging and plugging HDMI cables is cumbersome and error-prone, especially since not everyone uses a laptop, and reconnecting the room PC is often forgotten. Agenda & Calendar Privacy: When meetings are booked, the full Teams agenda and chat history remain accessible on the meeting room machine. That means anyone in the room can view past meetings/agendas, which isn’t ideal from a privacy perspective. Screen Sharing and File Security: To present from the meeting room PC, any files must be accessible by the resource account, creating additional security concerns and sharing/permission headaches. What We’re Looking For Affordable wireless presenting options for meeting rooms—ideally something that integrates smoothly with Microsoft Teams, but without requiring full MTR hardware. Best practices to lock down or reset the meeting room PC so meeting agendas, chats, and files are not visible after a session. Secure ways to allow guests to present (screen share, share files, etc.) without exposing company data or making users jump through complicated permission processes. If anyone has experience setting up small, cost-effective Teams Rooms, especially with regular PCs rather than dedicated MTR devices, advice would be greatly appreciated! Specific steps, hardware/software recommendations, or management tips would all be helpful. Thanks in advance for any guidance!28Views0likes0CommentsHow to Add a Timer to Microsoft Teams Meetings | Step-by-Step Guide
🚀 Boost Your Microsoft Teams Productivity! Have you ever wished you could keep your meetings on track and avoid running over time? Good news: Microsoft Teams has a built-in way to add a timer to your meetings! In my latest YouTube video, I walk you through: ✅ How to add a timer in Teams ✅ Why timeboxing improves meeting efficiency ✅ Tips for making your meetings more productive 📺 Watch the full tutorial here: https://youtu.be/5OEMaRZOfmY If you’re looking to optimize your Microsoft 365 experience, this one’s for you! 👉 What’s your favorite tip for running efficient meetings? Share it in the comments! #MicrosoftTeams #Productivity #Microsoft365 #Collaboration #WorkSmarter35Views0likes0Commentshow to achieve private stage view for custom team app in meeting
I’m working on a custom Microsoft Teams app that will be added to a meeting. My goal is to have the app load in a private stage view as a popout when clicked, so that only the user who clicked it can see the content, without broadcasting it to all meeting attendees. I've created a custom Teams app for meetings, but I'm facing an issue with the viewing behavior. Currently, when a user clicks the app during a meeting, the content first loads in the side panel. The user then has to click a "Share" button to push the content to the main meeting stage, which makes it visible to all attendees. However, what I want is for the app to immediately open in a private stage view (as a popout) when clicked, without showing anything in the side panel and without requiring the user to manually share it. The content should only be visible to the individual user, not broadcast to the entire meeting.28Views0likes1CommentTeams Support for Emojis in Chat and Channels Section Names
Teams users can use emojis to create or rename chat section names. By incorporating emojis into section names, users create “visual anchors” to help navigate through Teams chats and channels. Sprinkling emojis around section names doesn’t really make me navigate any smarter, but it’s a feature that Slack has, so Teams can’t be left behind in the pretty interface stakes. https://office365itpros.com/2025/10/08/teams-chat-section-names/13Views0likes0CommentsTeams Tab Blazor App Works in Web but Not Desktop – SSO / Access Denied Issue
Hi all, I have developed a Teams tab application using Blazor with Azure AD SSO. It works perfectly in the Teams Web interface, but fails in Teams Desktop app. Troubleshooting details If you contact your administrator, send this info to them. Copy info to clipboard ✔ Copied Correlation Id: 2607e281-e81f-429f-95b6-755f4b30968d Timestamp: 2025-10-07T09:42:34.000Z DPTI: d2bf8e81894be21be1d5e1818fa47b2d8975c91c3d0eceb6622a99cc1fc8b8f1 Message: Access denied for the resource. Tag: 4usp7 Code: 3399614468 I would appreciate guidance on how to make the Blazor Teams tab work in both Web and Desktop using SSO. Thanks! Tahir39Views0likes1CommentMS Teams Bot Applications – Major Message Delivery Delays
Description: We are experiencing a performance issue with Microsoft Teams bot applications. Impact:Since approximately 10:00 AM CET, users have reported significant delays when sending or receiving messages via Teams bots. Messages are sent successfully but are delivered to the Microsoft Teams servers after a long delay (ranging from several minutes to no response at all). Current Status: Issue appears to affect all Teams bot applications. No changes have been made to our configuration prior to the issue. Connectivity to the Microsoft cloud is stable; the delay seems to occur on the Microsoft Teams service side. Business Impact: Users are unable to interact with Teams bots in a timely manner. Automation and workflow processes relying on Teams bot responses are disrupted. Time of Occurrence:Approximately 10:00 AM CET 07.10.2025 Severity:High widespread impact on user productivity and automated processes.31Views0likes1CommentHow to embed large text blocks in a chat message
I am trying to include a large-ish code snippet in a Teams message. I understand that the message itself can only be so many characters, but is there a way to create an ad-hoc object to place a larger text chunk in, rather than save my content to a file and attach the file?40Views0likes2CommentsHow to organise Posts within channels
Hi, Hoping that someone could share some thoughts and/or advice in relation to a scenario we're trying to find a solution for. We have a channel, in which we use Posts to share information, which can be grouped into two or three themes, with channel members. For clarity, please refer to the below pic for what I mean when referring to Posts (as distinct/different functionality from chats). What we'd like to do is mark the posts, with the respective theme, and be able to filter the theme so that users don't need to scroll through the whole list to manually find posts related to the theme they'd like to see. Some other considerations: we like the idea of using a consolidated channel for multiple themes, so that there are less different channels etc that users need to navigate/keep across all channel members need to have access all posts (not any specific subset of members/users) if there was a way to have multiple "Posts" tabs, this would work for us to be able to share the themed posts to a centralised posts space, as then users could access the separate Posts tab for specific themes as/if required we're trying to find the least "clunky" solution/approach to achieve an ease of grouping/finding posts related to a specific theme Thanks in advance for your time and thoughts : -) Cam.56Views1like3CommentsHow to STOP Teams from auto-deciding for me what I should see and not see
I don't know about others but for me its very annoying when TEAMS decides for me what I need to see and don't need to see vs letting me make that decision myself. YES I can SHOW a channel that has been hidden but if I don't know it was hidden then I don't know it needs to be shown. I was looking for information that I knew would be in a file somewhere but I didn't know the file name and b/c TEMAS auto hid the channel it was in for me I couldn't locate it via manual search. I had to go ask someone else who had worked with the info and when they ds showed me the file I went back to my desk and of course I still couldn't locate it b/c I didn't realize it was in a hidden channel. I could search by the file name but I didn't make note of the file name b/c I thought that knowing in what Channel it was that I could then manually find it myself. Time was wasted all b/c MS Teams made choices for me without asking or checking with me first. Is there a way to shut this down so in the future TEAMS does not hide something soi that only I can hide it if I want to hide it? If any MS Engineer is reading this,. PLEASE stop making choices for us users! Its great that we can if we so choose, hide or show something but stop deciding for us what we should see and not see! It was annoying when you started this hide & seek game with the functions in the MS Applications and it's no more fun now that your doing it in TEAMS. Some users like to decide for themselves vs letting software choose for them.42Views1like1CommentTeams Stamps External Users with Trust Indicators
Attackers might attempt to use social engineering to trick Teams users in compromise. Trusted indicators help users understand the status of external users with difficult visual markers. The idea is that users will see the marker and realize that they should be less trusting in their communications. Sounds good. But maybe securing external access for Teams with a comprehensive block list is even better? https://office365itpros.com/2025/10/02/trust-indicator-teams/58Views1like4CommentsAgents Toolkit for Visual Studio - many bots in monorepo
I am using the Agents Toolkit for Visual Studio and I am thinking about hosting several Teams Bots in the same git repository. Each of them should be deployed in a different Tenant, so I am wondering about best practices to avoid a bot ending up in the wrong tenant. I am completely new to Agents Toolkit and Teams development. Any hints on upcoming events regarding these topics are highly appreciated.60Views0likes2CommentsTeams Bluetooth Audio Stack - Headphone vs Headset Failure
Been having a strange issue since the latest update on New Teams (1st Oct 2025 updated). This only happens with Bluetooth and with Headsets like PLT Voyager Legend and Yealink BH71 and on Windows 11. Mobile phone Teams works fine and to be clear, all other apps work fine with the Headsets. Its ONLY Teams doing this, and onluy since this update - worked perfectly for years before. When my device is connected Teams is separating the Speakers as Headphone and the Mic as Headset. This now means that when using the Mic, it won't play audio through the headphone (speaker) and vica versa when using the speaker (headphone) it won't allow the Mic (headset) to be used. This is a MASSIVE regression and extemely frustrating for any mobile user. I thought this was a PLT issue, so I bought a brand new Yealink BH71 and connected it via bluetooth and it did exactly the same thing. To be clear, this was working perfectly for months and years before this latest update.37Views0likes0CommentsPremium Planner major flaw: Transfer to other groups does not work
I have just realized today that it is not possible to transfer premium planners to other groups. There is the "copy plan" feature but NOT the "select a destination group" feature. Probably a miss from the product team, Should not be too hard to fix.18Views0likes0CommentsAzure Bot not joining meeting - Server Internal Error. DiagCode: 500#1203002.@
This problem has been bothering me for about two weeks and I haven’t found a solution yet. I’d really appreciate your help. Environment Setup 1.Development Tool: Visual Studio 2022 2.Deployment: The service is hosted on AWS. In AWS Networking, both TCP and UDP port 14217 are opened. The operating system is Windows Server 2022, and the firewall has been disabled temporarily for testing. 3.Certificate: A wildcard SSL certificate issued by Let’s Encrypt (CN = *.bottest.com, RSA-based) has been installed under LocalMachine\My certificate store. 4.Reverse Proxy: Both HTTPS and TCP traffic are forwarded through Nginx. http { server { listen 80; server_name localhost; } server { listen 443 ssl; server_name signaling.bottest.com; ssl_certificate fullchain.pem; ssl_certificate_key privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; location / { proxy_pass http://127.0.0.1:5001; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } } stream { upstream dotnet_app_tcp { server 127.0.0.1:8445; } server { listen 14217 ssl; ssl_certificate fullchain.pem; ssl_certificate_key privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; proxy_pass dotnet_app_tcp; } } 5. The bot’s Application Permissions have also been granted, as shown in the figure below: 6. Bot initialization var mediaPlatformSettings = new MediaPlatformSettings { ApplicationId = _botConfig.MicrosoftAppId, MediaPlatformInstanceSettings = new MediaPlatformInstanceSettings { CertificateThumbprint = _botConfig.CertificateThumbprint, // LocalMachine/My certificate-*.bottest.com-thumbprint InstanceInternalPort = 8445, InstancePublicPort = 14217, InstancePublicIPAddress = IPAddress.Parse("18.181.xx.xx"), // AWS public IP ServiceFqdn = "media.bottest.com" } }; _communicationsClient = new CommunicationsClientBuilder("IMediaSessionBot", _botConfig.MicrosoftAppId, _graphLogger) .SetAuthenticationProvider(_authProvider) .SetServiceBaseUrl(new Uri("https://graph.microsoft.com/v1.0")) .SetNotificationUrl(new Uri($"{_botConfig.PublicUrl}/api/calls")) .SetMediaPlatformSettings(mediaPlatformSettings) .SetHttpClient(httpClient) .Build(); _communicationsClient.Calls().OnIncoming += this.OnIncomingCall; _communicationsClient.Calls().OnUpdated += OnCallUpdated; } 7.join meeting var scenarioId = Guid.NewGuid(); var meetingDetails = MeetingUrlParser.Parse(meetingUrl); var chatInfo = new ChatInfo { ThreadId = meetingDetails.ThreadId }; var meetingInfo = new JoinMeetingIdMeetingInfo { JoinMeetingId = _botConfig.MeetingID, Passcode = _botConfig.MeetingPasscode, AdditionalData = new Dictionary<string, object> { { "allowConversationWithoutHost" , true }, }, }; ILocalMediaSession mediaSession = this.CreateLocalMediaSession(); var joinParams = new JoinMeetingParameters(chatInfo, meetingInfo, mediaSession) { TenantId = tenantId, AllowGuestToBypassLobby = true }; try { _activeCall = await _communicationsClient.Calls().AddAsync(joinParams, scenarioId).ConfigureAwait(false); _logger.LogInformation($"Successfully initiated the add-participant request, Call ID:: {_activeCall.Id}"); } catch (ODataError ex) { Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff} Failed to initiate the call: .ex={ex.ToString()}"); throw; } private ILocalMediaSession CreateLocalMediaSession(Guid mediaSessionId = default(Guid)) { var mediaSession = this._communicationsClient.CreateMediaSession( new AudioSocketSettings { StreamDirections = StreamDirection.Recvonly, SupportedAudioFormat = AudioFormat.Pcm16K, ReceiveUnmixedMeetingAudio = true, EnableAudioHealingForUnmixed = true }, new VideoSocketSettings { StreamDirections = StreamDirection.Inactive }, mediaSessionId: mediaSessionId); return mediaSession; } 8.call back(SetNotificationUrl(new Uri($"{_botConfig.PublicUrl}/api/calls"))) State at first attempt:Notification payload: {"@odata.type":"#microsoft.graph.commsNotifications","value":[{"@odata.type":"#microsoft.graph.commsNotification","changeType":"updated","resource":"/app/calls/07004d80-44b9-479e-bb43-2d5983e3f235","resourceUrl":"/communications/calls/07004d80-44b9-479e-bb43-2d5983e3f235","resourceData":{"@odata.type":"#microsoft.graph.call","state":"establishing","chatInfo":{"@odata.type":"#microsoft.graph.chatInfo","threadId":"19:meeting_MzIyMTYzOTMtMGYyNi00OTE2LTg2NjUtYmU4ZDlhYmY2ZmRj@thread.v2"},"meetingInfo":{"@odata.type":"#microsoft.graph.joinMeetingIdMeetingInfo","joinMeetingId":"4130864187312","passcode":"P7GY7Vv2","allowConversationWithoutHost":true},"callChainId":"b50a00dc-74da-42b0-966a-e88dea7e6087"}}]} State at second attempt:Notification payload: {"@odata.type":"#microsoft.graph.commsNotifications","value":[{"@odata.type":"#microsoft.graph.commsNotification","changeType":"deleted","resource":"/app/calls/07004d80-44b9-479e-bb43-2d5983e3f235","resourceUrl":"/communications/calls/07004d80-44b9-479e-bb43-2d5983e3f235","resourceData":{"@odata.type":"#microsoft.graph.call","state":"terminated","resultInfo":{"@odata.type":"#microsoft.graph.resultInfo","code":500,"subcode":1203002,"message":"Server Internal Error. DiagCode: 500#1203002.@"},"chatInfo":{"@odata.type":"#microsoft.graph.chatInfo","threadId":"19:meeting_MzIyMTYzOTMtMGYyNi00OTE2LTg2NjUtYmU4ZDlhYmY2ZmRj@thread.v2"},"meetingInfo":{"@odata.type":"#microsoft.graph.joinMeetingIdMeetingInfo","joinMeetingId":"4130864187312","passcode":"P7GY7Vv2","allowConversationWithoutHost":true},"callChainId":"b50a00dc-74da-42b0-966a-e88dea7e6087"}}]} Here, an error occurred: 500 #1203002. 9. Based on the packet capture, the issue seems to be related to interactions with /MediaProcessor/v1. It’s unclear whether this is due to a protocol mismatch or a certificate mismatch, as shown in the figure below: 10.Database schema (DDL) dependencies required by the bot <ItemGroup> <PackageReference Include="Microsoft.ApplicationInsights.WorkerService" Version="2.23.0" /> <PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.24.0" /> <PackageReference Include="Microsoft.Azure.Functions.Worker.ApplicationInsights" Version="1.4.0" /> <PackageReference Include="Microsoft.Azure.Functions.Worker.Core" Version="1.20.0" /> <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http" Version="3.3.0" /> <PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.18.1" /> <PackageReference Include="Microsoft.AspNetCore" Version="2.1.3" /> <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.2" /> <PackageReference Include="Microsoft.Bot.Builder.Integration.AspNet.WebApi" Version="4.22.1" /> <PackageReference Include="Microsoft.CognitiveServices.Speech" Version="1.46.0" /> <PackageReference Include="Microsoft.Graph.Communications.Calls.Media" Version="1.2.0.10563" /> <PackageReference Include="Microsoft.Graph.Communications.Core" Version="1.2.0.10563" /> <PackageReference Include="Microsoft.Graph.Core" Version="3.1.3" /> <PackageReference Include="Microsoft.IO.RecyclableMemoryStream" Version="3.0.1" /> <PackageReference Include="Microsoft.ServiceFabric.AspNetCore.HttpSys" Version="3.2.187" /> <PackageReference Include="Microsoft.Skype.Bots.Media" Version="1.31.0.180" /> <PackageReference Include="Microsoft.Kiota.Http.HttpClientLibrary" Version="1.3.3" /> </ItemGroup> 11.The certificate has also been uploaded to Azure, as shown in the figure:223Views0likes7Comments
Events
REGISTER HERE
Microsoft Teams Rooms provide interactive and engaging meeting experiences. In this session, we'll talk about best practices for running events with a mix of Teams Rooms attendees and...
Wednesday, Oct 22, 2025, 08:00 AM PDTOnline
0likes
2Attendees
0Comments
Recent Blogs
- Teams continues to evolve to help your team work faster, simpler, smarter. Now threads in channels are generally available. It combines the simplicity of chat-like conversations with the structu...Oct 08, 2025763Views1like0Comments
- Hey Microsoft Tech Community, we’re back with the latest updates to Microsoft Teams! This month we’re excited to spotlight many new features, like Threads in Channels which lets you reply direct...Sep 30, 20255.5KViews1like1Comment