Microsoft Teams: user@odata.bind parameter missing from "/chats" POST operation

The "user@odata.bind" parameter seems to be missing from the /chats POST operation on the Microsoft Teams resource.

Here is the request I'm making along with the error response. As you can see, it requires the "user@odata.bind" which requires a value in the following format according to the Microsoft Graph API documentation here https://graph.microsoft.com/v1.0/users('8b081ef6-4792-4def-b2c9-c363a1bf41d5')

When I click on add parameter, the "user@odata.bind" parameter is not available to select and there is no where to add a custom parameter.

I'm not sure if this was missed during development of this resource or if the Graph API changed since the integration in Retool was implemented.

Maybe I am doing something wrong. Any help is appreciated. Thank you.

1 Like

Hey @Andrew_Woloszyk! I've submitted a bug report to the engineering team responsible for the resource connections. I'll update you here as soon as I get any additional information from them.

1 Like

Hi Joe,

Is there any update on this? Thanks!

1 Like

Hey @Andrew_Woloszyk. Looks like that parameter isn't listed in the Microsoft Teams Open API spec, which is why it's not showing up in the Retool UI. We have an internal report detailing the issue, but no ETA on any fix as of now. I'll update you as soon as I get any additional information.

1 Like

Hello,

I am encountering a similar error to @Andrew_Woloszyk regarding the user@odata.bind field in the Microsoft Graph API. Despite ensuring that the field is correctly formatted, I continue to receive the following error message:

Microsoft.Graph.Models.ODataErrors.ODataError: 'user@odata.bind' field is missing in the request.

Here is my C# code:

var chat = await _graphServiceClient
            .Chats
            .Request()
            .AddAsync(new Chat
            {
                ChatType = ChatType.OneOnOne,
                Members = new List<ConversationMember>
                {
                    new AadUserConversationMember
                    {
                        OdataType = "#microsoft.graph.aadUserConversationMember",
                        Roles = new List<string> { "owner" },
                        AdditionalData = new Dictionary<string, object>
                        {
                            { "user@odata.bind", $"https://graph.microsoft.com/v1.0/users('{Environment.GetEnvironmentVariable("SupportId")}')" }
                        }
                    },
                    new AadUserConversationMember
                    {
                        OdataType = "#microsoft.graph.aadUserConversationMember",
                        Roles = new List<string> { "owner" },
                        AdditionalData = new Dictionary<string, object>
                        {
                            { "user@odata.bind", $"https://graph.microsoft.com/v1.0/users('{userId}')" }
                        }
                    }
                }
            });

I have verified that the user@odata.bind URLs are correct and formatted properly. This issue only started occurring recently and was working fine before.

Is there any solution or known workaround for this issue? I would greatly appreciate any assistance or guidance that could help resolve this problem.

Thank you in advance!

Best regards,

Julian

1 Like

Any update on this ? I am seeing the same error in python ie error:

400 {'error': {'code': 'BadRequest', 'message': "'user@odata.bind' field is missing in the request. ...

Hi there,

We don't have an update on this bug yet :disappointed: The workaround would be to use the generic rest api integration instead of the Microsoft Teams integration