Building, integrating, or customizing apps and workflows within Microsoft Teams using developer tools and APIs
Hi Eran
Thank you for your detailed question regarding Microsoft Teams chat behavior and Microsoft Graph APIs.
Based on the Microsoft Graph documentation for List chats and Get chat, the key point is that:
GET /users/{id}/chats returns the chats that the specified user is a member of. The documentation also states that the chat APIs support federation.
As a result, the behavior depends on whether the internal user is recognized as a member of a Teams chat object that exists within Microsoft 365.
For reference:
- List chats - Microsoft Graph v1.0 | Microsoft Learn
- Get chat - Microsoft Graph v1.0 | Microsoft Learn
1/ External user starts a 1:1 chat with your internal user (Guest scenario)
Generally, yes. If the internal user is participating in the chat and is a member of the chat object, the conversation is expected to appear in GET /users/{id}/chats.
Although the user is a guest, they are still considered a member of the chat within the hosting tenant. Since the endpoint returns chats that the user belongs to, the 1:1 conversation should normally be returned.
2/ External user starts a 1:1 chat with your internal user (Federation / External access)
Yes. Microsoft Graph documentation indicates that chat APIs support federation. Therefore, if the federated conversation is represented as a Teams chat that includes the internal user as a member, it can be returned by GET /users/{id}/chats.
3/ External user starts a group chat and the internal user participates as a Guest
Yes. If the guest user is a member of the group chat, the chat should appear in GET /users/{id}/chats, since the endpoint returns all chats that the user is a member of, including group chats.
4/ External user starts a group chat and the internal user participates via Federation (External access)
This scenario is less clearly documented.
Historically, Teams federation has supported both 1:1 chats and multi-party chats between federated users. However, while Microsoft Graph documentation confirms federation support, it does not explicitly guarantee how every federated group chat scenario is surfaced through GET /users/{id}/chats.
Therefore, the most accurate guidance is:
- Federated group chats may appear in
GET /users/{id}/chatswhen the internal user is a member of a Teams chat object accessible through Microsoft Graph. - The documentation does not explicitly confirm the behavior for all federated group chat configurations.
- I recommend validating this specific scenario within your own tenant using a test case to confirm the observed behavior.
I hope this helps clarify the expected behavior. If you encounter any unexpected results or error messages while testing, please share the details and I will be happy to assist further.
Thank you for your understanding, and have a wonderful day ahead.
If the answer is helpful, please click "Yes". If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in the forum documentation to enable e-mail notifications if you want to receive the related email notification for this thread.