I have a Microsoft Form that returns a FirstName LastName value for one of the responses. My flow uses the "Search for Users V2" operation on this FirstName LastName to get the UserPrincipalName.
I want to use this UPN as the input for the next action, Get Manager (V2). The problem is that I guess the flow assumes there could be more than one user that matches in the Search User action and automatically tries to do a "For Each" if I use the UPN as dynamic content.
Since I know there will only ever be a single user returned in Search for User, I want to avoid the loop. I am trying to do this with an expression. For the input to Get Manager (V2), I use outputs('Search_for_users_(V2)')?['UserPrincipalName'], but this gives me an error: The 'inputs.parameters' of workflow operation 'Get_manager_(V2)' of type 'OpenApiConnection' is not valid. Error details: The resolved string values for the following parameters are invalid, they may not be null or empty: 'id'
I've also tried it formatted outputs('Search_for_users_(V2)')?'body/value/UserPrincipalName'] and outputs('Search_for_users_(V2)')?['value/UserPrincipalName'].
Here is the raw output to Search for Users:
Thanks in advance!!
Thank you so much, that did the trick!
Search for users will always return an array of users, even if there is only one. You can use first() around the array to get the first record, then append ?['fieldname'] to the end of that in the expressions tab to get the UPN. Something like this
first(outputs('Search_for_users_(V2)')?['body/value'])?['UserPrincipalName']