cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
kevingeorget
Level 8

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
kevingeorget
Level 8

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
Gristy
Level 10

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.

kevingeorget
Level 8

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
 

 

gristcooper
Level: Powered On

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.

Gristy
Level 10

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

kevingeorget
Level 8

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.

Gristy
Level 10

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
kevingeorget
Level 8

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

Community Support Team
Community Support Team

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
thirdimage

Power Automate Community User Group Member Badge

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

firstImage

Incoming: New and improved badges!

We've given our badges an overhaul and also added some brand new ones!

fifthimage

Microsoft Learn

Learn how to build the business apps that you need.

sixthImage

Power Platform World Tour

Find out where you can attend!

seventhimage

Webinars & Video Gallery

Watch & learn from the Power Automate Community Video Gallery!

Top Kudoed Authors (Last 30 Days)
Users online (5,018)