Hello everyone,
I'm working on a Power Automate flow that needs to automatically create a new Microsoft Teams chat. The flow is designed to create a one-on-one chat between an internal user (the flow runner) and an external user, whose email address is provided dynamically (e.g., from a SharePoint list or a form).
My Goal: To successfully initiate a Teams chat with a user outside of our organization using the "Create a chat" action in Power Automate.
The Setup:
- The flow is triggered (e.g., manually, or when an item is created).
- It uses the Microsoft Teams connector and the "Create a chat" action.
- The action is configured as a "Group" chat type, as required for creating named chats or chats with multiple people.
- The "Members to add" field is populated with the User Principal Names (UPNs) or email addresses of the participants. For example:
internal.user@mycompany.com;external.user@othercompany.com
The Problem: The flow works perfectly when both users are internal to our organization.
However, whenever I try to include an email address of an external user (e.g., user@gmail.com, contact@clientdomain.com), the "Create a chat" action fails consistently with the following error:
Action 'Create_a_chat' failed: 'user@odata.bind' field is missing in the request.
What I've Tried:
- Verifying External Access: I've confirmed with our IT admin that our Microsoft Teams and Azure AD policies are configured to allow communication with external users. I can manually start a chat with the same external user directly within the Teams client without any issues.
- Input Formatting: I have tried various formats for the "Members to add" field, including using a semicolon-separated string and constructing a JSON array of user objects, but the result is the same.
- Guest Users: The external user does not exist as a guest user in our Azure AD. I'm not sure if this is a prerequisite for this action to work.
My Theory: It seems the "Create a chat" action is unable to resolve the external email address into the required user object that the underlying Graph API expects. For internal users, it can easily find their object ID and construct the necessary {'user@odata.bind': 'https://graph.microsoft.com/v1.0/users/USER_ID'} payload. For an external user who isn't a guest in the tenant, it appears to fail this lookup, resulting in the missing user@odata.bind field.
My Question:
- What is the correct procedure or syntax within Power Automate to add an external, non-guest user to a new Teams chat using the "Create a chat" action?
- Is it a requirement that the external user must first be added as a guest to our Azure AD before this action can succeed?
- If this action doesn't support non-guest external users directly, is there an alternative approach, perhaps using the "Send an HTTP request" action with the Graph API, to achieve this? If so, could you provide an example of the required API call and body?
Any guidance, examples, or insights from someone who has successfully implemented this would be incredibly helpful.
Thank you in advance for your time and assistance

Report
All responses (
Answers (