cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Resolver I
Resolver I

Updating a person field with string containing user email ids

Hi Flow Users,

After some processing, i fetch email Ids of different users in a string seperated by semicolon. I now need to update a Person field with this string value. The flow throws an error like user not found. 

Input string variable- 1@domain.com;2@domain.com;3@domain.com;

Can anyone help me with a workaround. Should i convert the string to an array or something.

Any help appreciated.

@ScottShearer 

Regards,

Kevin

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Resolver I
Resolver I

Re: Updating a person field with string containing user email ids

After breaking my head for a couple of hours, below is what worked for me. If there is a simpler way than this, please let me know.

1. First store the user claims in the string variable (semicolon separated) rather than the email Ids.

2. Remove the last semicolon from the string using a compose action.

substring(variables('NewAssignee'),0,sub(length(variables('NewAssignee')),1))
*NewAssignee is my string variable.
3. Use a compose action to split the string variable on semicolon.
split(outputs('Compose_3'),';')
4. Use a Select action to frame the text with claims as a key
Select Action.png
4. Now just update the Multivalued person field with the Select output.
 
Regards,
Kevin

View solution in original post

8 REPLIES 8
Highlighted
Super User II
Super User II

Re: Updating a person field with string containing user email ids

Hi Kevin,

 

To be clear you are trying to update a SharePoint Person firld with multiple selections allowed?

 

I have not tested the format for multiple people it may need to be an array like you say.

 

I would start by setting one person to start with to ensure you have the format correct. It will need to be their claims username and not the email address. You can retrieve this usiing the Office 365 profile action search users by passing in the email address. I suspect you will want to pass in an array to this so that it loops through your list of email addresses, but maybe get 1 working to start with.

Highlighted
Resolver I
Resolver I

Re: Updating a person field with string containing user email ids

Thanks @Gristy  for the reply.

Yes, it's a mutilvalued person field.

It works if the string has only one email, but more than one value, it throws error.

Instead of having the email ids stored in the string, i tried storing the claims. This too throws error.

i tried splitting the string and assigning it to an array. And then updating the person field with array value. This too throws error.

Attached the screenshotAssignedTo.png

Assigned To is the Person field i need to update.

Error message-

"message": "Error converting value \"**@**\" to type 'Microsoft.SharePoint.Connector.SPListExpandedUser'. Path '[0]', line 2, position"
 
Regards,
Kevin
 

 

Highlighted
Frequent Visitor

Re: Updating a person field with string containing user email ids

I will see what i can find.

 

Perhaps to a Get Item on a item that already has multiple people set and see what format is being returned to flow as the first step.

Highlighted
Super User II
Super User II

Re: Updating a person field with string containing user email ids

Hey mate,

 

Here is the format you need:

 

Annotation 2019-10-01 093819.png

Highlighted
Resolver I
Resolver I

Re: Updating a person field with string containing user email ids

@Gristy  what if there are a dynamic number of claims or users in the string stored. The string can hold may be 1 or 5 values at a time.

Highlighted
Super User II
Super User II

Re: Updating a person field with string containing user email ids

This shows you desired format you will need to work on logic to output your details to it
Highlighted
Resolver I
Resolver I

Re: Updating a person field with string containing user email ids

After breaking my head for a couple of hours, below is what worked for me. If there is a simpler way than this, please let me know.

1. First store the user claims in the string variable (semicolon separated) rather than the email Ids.

2. Remove the last semicolon from the string using a compose action.

substring(variables('NewAssignee'),0,sub(length(variables('NewAssignee')),1))
*NewAssignee is my string variable.
3. Use a compose action to split the string variable on semicolon.
split(outputs('Compose_3'),';')
4. Use a Select action to frame the text with claims as a key
Select Action.png
4. Now just update the Multivalued person field with the Select output.
 
Regards,
Kevin

View solution in original post

Highlighted
Community Support
Community Support

Re: Updating a person field with string containing user email ids

 

Hi @kevingeorget ,

 

Please try this method, initialize two variables, one to store the email address, and one to store the content that the person field needs to fill.

Then append the email address to the array variable in the specified format and then update the person field.

Image reference:

60.PNG

Details of Apply to each:

61.PNG

Hope it helps.

 

Best Regards,

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

Helpful resources

Announcements
FirstImage

Microsoft Ignite 2020

Check out the announcement of Power Platform content at Microsoft Ignite!

thirdImage

Experience what's new for Power Automate

Join us for an in-depth look at the new Power Automate features and capabilities at the free Microsoft Business Applications Launch Event.

firstImage

Power Platform 2020 release wave 2 plan

Features releasing from October 2020 through March 2021

Top Solution Authors
Top Kudoed Authors
Users online (7,502)