Graph API
6 TopicsTeams 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.78Views0likes1CommentMicrosoft Graph - List apps in chat - 404 UnknownError
In Microsoft Graph, I would like to list all Teams apps associated to an onlineMeeting (to its chat actually). According to List apps in chat - Microsoft Graph v1.0 | Microsoft Learn, this is supported with the following request : GET /chats/{chat-id}/installedApps There is a note saying that if the chat is associated with an onlineMeeting instance, then, effectively, the teamsApps installed in the meeting will be listed. That should work. However, I'm getting a 404 with UnknownError as the error.code on my end. The right permission (TeamsAppInstallation.ReadWriteForChat) is granted (Chat.ReadWrite is granted as well). Testing from Graph Explorer from now. Please note that the following is working to get chat messages with the same chat-id : GET /chats/{chat-id}/messages or the following to get chat members : GET /chats/{chat-id}/members I've tried the endpoint POST /chats/{chat-id}/installedApps to add an app to the chat as well but I'm getting the same kind of 404 (documented on Add app to chat - Microsoft Graph v1.0 | Microsoft Learn). Any advice? Thanks186Views0likes4CommentsMS Graph API: Presence outOfOfficeSettings from beta to 1.0
Hi everybody, in the MS Graph REST API beta the 'Presence' resource type has the property "outOfOfficeSettings" since January 8, 2021. See: https://learn.microsoft.com/en-us/graph/api/resources/presence?view=graph-rest-beta https://developer.microsoft.com/en-us/graph/changelog/?search=outOfOfficeSettings When can we expect this property in the MS Graph REST API 1.0? Regards Gerd280Views0likes1CommentSend Message as User/Bot Using Graph API Based on User's Email Existence in Microsoft Teams Channel
I'm working on a project that involves sending messages to a Microsoft Teams channel using the Microsoft Graph API. I have a specific requirement where: If a user's email exists in the teams channel, the message should be sent as a reply from that user. If the user's email doesn't exist in the channel, the message should be sent from a bot or a service account. I'm using user's token for authentication. Is there any way to achieve this conditional sending of messages using the Microsoft Graph API? Here is a rough outline of what I'm trying to accomplish: Check if the email exists in the teams channel. If it does, send the message as the user. If it doesn't, send the message as a bot or service account. Any guidance or examples on how to implement this would be greatly appreciated. Thank you!2.8KViews0likes4CommentsCleaning Out Old Messages from a Team Channel
A question asked about the best way to remove channel messages from Teams. Microsoft 365 retention policies are an option, but you'll have to wait for retention processing to complete. PowerShell helps because you can create a script to remove all messages and replies from a channel. Everything works, but processing is slow, as we discover when we plunge into the details of writing code. https://practical365.com/remove-channel-messages/737Views0likes0CommentsHow to send dm even if the user has not installed the app in personal scope.
I am trying to build a bot which will have a few message extension to submit data and then I will make a request to my custom backend. I want to save the data and want to send dm to the user. I am planning to expose a route from my botbuilder restify server (built by teams toolkit) to send a dm to the user (from bot's account) because I could not find a way to send a dm without bot framework. The only problem is when I am trying to send a dm I am getting an error saying "Bot is not installed in user's personal scope", which is true because the app is only installed in a team. How can I tackle this problem? Basically I am building a feedback bot for companies so I want to proactively send dm message to all the employees and admins. What are different ways to do this thing. Feel free to ask about any other information if you need, thanks!Solved2.8KViews0likes13Comments