cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
sarahbbo
Frequent Visitor

Multiple Person Columns - How to Add to Existing Array?

How would you go about adding a user to a multiple person column from a Flow input?

 

For single-person fields, it works just fine to use the email address to populate the column, but I can't figure out how to add the input user and retain the users already in the field. (Hence, can't use Apply to Each as the Update File Properties would just overwrite each time).

 

I've tried initializing an array variable and appending the input email to it, but that doesn't work.

 

Has anyone had success with this? Am I missing something obvious?

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
v-yamao-msft
Community Support
Community Support

Hi @sarahbbo ,

 

Do you want to add value to a multiple person column in SharePoint list?

 

I assume that action Send an HTTP request to SharePoint would be working for your scenario.

 

Please check the following flow for a reference.

 

In my scenario, I am going to get value from List11 and save it to List33.

 

Add the trigger When an item is created in List11.

 

Initialize an Array variable named as Id.

 

Add Apply to each, select an output from the multiple person column, within the apply to each loop, add Send an HTTP request to SharePoint, then an action Append to array variable and input the following in the Value field:

body('Send_an_HTTP_request_to_SharePoint')['d']['id']

 

Under apply to each, add a Compose with the following code:

variables('Id')

 

Add another Send an HTTP request to SharePoint action to add the value to List33. The Body should be configured to something likes below:

 

{

  "__metadata":{type:"SP.Data.List33ListItem"},

   MpersonId:{'results':@{outputs('Compose')}}



}

 

 

An image for your reference:

1.PNG2.PNG

 

Best regards,

Mabel

 

Community Support Team _ Mabel Mao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

5 REPLIES 5
edgonzales
Super User
Super User

@sarahbbo 

Hi there

Try switching your variable to a String, and then put a delimeter in front of whatever value you want to add.  In my example, I set the string variable to the trigger users email when I initialized it, and then got some weather, and appended that to the variable with a semi-colon and space in front:20190621c.PNG

And then had the whole thing send an email:20190621d.PNG

 

Will that work?  Keep us posted.

-Ed-

 

 

If this reply has answered your question or resolved your challenge, please consider marking it as a Solution. This helps other users find it more easily via search.

Thanks for the quick reply, Ed!

 

I tried creating a string variable of the email addresses, and though the result is correct, the person column can't pick up the claims. 

 

For instance, if I just enter one email, it succeeds in overwriting the column with the Person, and the output looks like this:

{
  "Additional_x0020_Reviewers": [
    {
      "Claims": "FirstEmail@company.com"
    }
  ]
}

 

But this doesn't work (which is the output of the string):

 

{
  "Additional_x0020_Reviewers": [
    {
      "Claims": "FirstEmail@company.com;SecondEmail@company.com"
    }
  ]
}

 

The output should look like this (which works if you've got the emails individually):

{
  "Additional_x0020_Reviewers": [
    {
      "Claims": "FirstEmail@stanleygroup.com"
    },
    {
      "Claims": "SecondEmail@stanleygroup.com"
    }
  ]
}

I tried to trick it by including in the string, but unfortunately the quotation marks get escaped with a backslash which causes it to error:

[
  {
    "Claims": "FirstEmail@company.com\"},{\"Claims\":\"SecondEmail@stanleygroup.com"
  }
]

I tried playing around with string variables for a bit, to no avail. 

 

BUT... I this did help me find a solution! Or at least a work-around. There's likely a more elegant solution, but this functions. 

 

The existing multi-person field is an array with various user information.  I created a separate Person column (not multi), and put the input email there first so I could retrieve the user from it. 

 

I then appended the user from that column to the array variable, and used that to populate the field (switch to input entire array). And it works! (at least today)

 

Instead of the holding column, I also tried retrieving the user profile, but didn't find anything that took.  Better methods are always appreciated!

 

microsoft works.png

 

v-yamao-msft
Community Support
Community Support

Hi @sarahbbo ,

 

Do you want to add value to a multiple person column in SharePoint list?

 

I assume that action Send an HTTP request to SharePoint would be working for your scenario.

 

Please check the following flow for a reference.

 

In my scenario, I am going to get value from List11 and save it to List33.

 

Add the trigger When an item is created in List11.

 

Initialize an Array variable named as Id.

 

Add Apply to each, select an output from the multiple person column, within the apply to each loop, add Send an HTTP request to SharePoint, then an action Append to array variable and input the following in the Value field:

body('Send_an_HTTP_request_to_SharePoint')['d']['id']

 

Under apply to each, add a Compose with the following code:

variables('Id')

 

Add another Send an HTTP request to SharePoint action to add the value to List33. The Body should be configured to something likes below:

 

{

  "__metadata":{type:"SP.Data.List33ListItem"},

   MpersonId:{'results':@{outputs('Compose')}}



}

 

 

An image for your reference:

1.PNG2.PNG

 

Best regards,

Mabel

 

Community Support Team _ Mabel Mao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Anonymous
Not applicable

Please contact and build the string in the below format and then  convert into JSON to pass to "Multiple Person" sharepoint column. escape character such as "\" will be removed after the parsing to JSON.
Ex:-

[{"Claims": "abc@xyz.com"},{"Claims": "pqrs@xyz.com"}]

thanks!!!!!!!!!!!!!!!!

Helpful resources

Announcements
Power Automate News & Announcements

Power Automate News & Announcements

Keep up to date with current events and community announcements in the Power Automate community.

Community Calls Conversations

Community Calls Conversations

A great place where you can stay up to date with community calls and interact with the speakers.

Power Automate Community Blog

Power Automate Community Blog

Check out the latest Community Blog from the community!

Top Solution Authors
Users online (3,733)