I wanted to create an instant flow triggered by a SharePoint item. When executing the flow the following inputs show up asking for information:

  • Task
  • Due Date
  • Assigned By
  • Assigned To
  • Notes

When you click run it then will update a person column with the correct name and work for multiple selections.

I tried the action Resolve Person but did not ultimately see how to make it work for my needs but wanted to mention that option because it may work for your requirements.

Be sure to check out my first reference below it has good explanations as well as I may have brushed over a few steps.

High view (not complete because I cut this image out of a production flow that has more steps. At the end there will be a http request action which is covered if you read on) :

Here is what my instant flow inputs look like. I am only covering assigned by to simplify this post.

I am skipping the get item step because all you do is link to the dynamic content of id for the selected item after selecting your site address and list name.

Create a compose action and put the dynamic content for Assigned By (from For selected item)

Next create a compose action and enter this expression into the inputs:

split(outputs('Get_AssignedBy_Emails'), ';')

I then created four initialize variable actions. You can skip the First Name variable if you like I did that for something else.

Create an apply to each action and enter Outputs (from Generate AssignedBy Array from above)

Then create an Append to array action were the value will be the current item of Apply to Each AssignedBy

Now we create a Send an HTTP request to SharePoint action

Current item refers to Apply to Each AssignedBy

Next create a Parse JSON action where the content will be referring to the body of AssignedBy HTTP Get

Click here for Schema

{
    “type”“object”,
    “properties”: {
        “d”: {
            “type”“object”,
            “properties”: {
                “__metadata”: {
                    “type”“object”,
                    “properties”: {
                        “id”: {
                            “type”“string”
                        },
                        “uri”: {
                            “type”“string”
                        },
                        “type”: {
                            “type”“string”
                        }
                    }
                },
                “Alerts”: {
                    “type”“object”,
                    “properties”: {
                        “__deferred”: {
                            “type”“object”,
                            “properties”: {
                                “uri”: {
                                    “type”“string”
                                }
                            }
                        }
                    }
                },
                “Groups”: {
                    “type”“object”,
                    “properties”: {
                        “__deferred”: {
                            “type”“object”,
                            “properties”: {
                                “uri”: {
                                    “type”“string”
                                }
                            }
                        }
                    }
                },
                “Id”: {
                    “type”“integer”
                },
                “IsHiddenInUI”: {
                    “type”“boolean”
                },
                “LoginName”: {
                    “type”“string”
                },
                “Title”: {
                    “type”“string”
                },
                “PrincipalType”: {
                    “type”“integer”
                },
                “Email”: {
                    “type”“string”
                },
                “Expiration”: {
                    “type”“string”
                },
                “IsEmailAuthenticationGuestUser”: {
                    “type”“boolean”
                },
                “IsShareByEmailGuestUser”: {
                    “type”“boolean”
                },
                “IsSiteAdmin”: {
                    “type”“boolean”
                },
                “UserId”: {
                    “type”“object”,
                    “properties”: {
                        “__metadata”: {
                            “type”“object”,
                            “properties”: {
                                “type”: {
                                    “type”“string”
                                }
                            }
                        },
                        “NameId”: {
                            “type”“string”
                        },
                        “NameIdIssuer”: {
                            “type”“string”
                        }
                    }
                },
                “UserPrincipalName”: {
                    “type”“string”
                }
            }
        }
    }
}

Create an Append to Array action and for the value enter the dynamic content of Id for the Parse JSON AssignedBy

If you want the first name step then create an append to array step and use this expression:

split(body('Parse_JSON_AssignedBy')?['d']?['Title'],' ')[0]

Next we will compose AssignedByID by putting the AssignedByID variable into the inputs box:

Finally we post the data to the SharePoint list. Fill in the blanks with your list name and if you need help on syntax I have another post for an example here.

The value that actually matters is WaitingonId that is a people picker column on this sharepoint list

So put the name of your column with the words Id after it in this format:

'WaitingonId': {'results':(Output is the output of Compose AssignedByID)}

 

References:
https://jobs.collab365.community/how-to-update-the-sharepoint-people-picker-field-using-power-automate/
https://sharepains.com/2018/04/23/sharepoints-multi-people-fields-power-automate/
https://powerusers.microsoft.com/t5/Power-Automate-Community-Blog/Update-Multi-Values-with-People-Picker-Field-in-Power-Automate/ba-p/428812
https://powerusers.microsoft.com/t5/Building-Flows/How-to-extract-some-portion-of-people-picker-display-name-to-use/td-p/496908