cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
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
Highlighted
Community Support
Community Support

Re: Multiple Person Columns - How to Add to Existing Array?

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

4 REPLIES 4
Highlighted
Super User II
Super User II

Re: Multiple Person Columns - How to Add to Existing Array?

@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.

Highlighted
Frequent Visitor

Re: Multiple Person Columns - How to Add to Existing Array?

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

 

Highlighted
Community Support
Community Support

Re: Multiple Person Columns - How to Add to Existing Array?

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

Highlighted
Regular Visitor

Re: Multiple Person Columns - How to Add to Existing Array?

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"}]

Helpful resources

Announcements
firstImage

Super User Program Update

Three Super User rank tiers have been launched!

firstImage

Power Platform 2020 release wave 2 plan

Features releasing from October 2020 through March 2021

firstImage

New & Improved Power Automate Community Cookbook

We've updated and improved the layout and uploading format of the Power Automate Cookbook!

thirdimage

Power Automate Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

Top Solution Authors
Top Kudoed Authors
Users online (8,135)