cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
kevingeorget
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
kevingeorget
Resolver I
Resolver I

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

9 REPLIES 9
Gristy
Resident Rockstar
Resident Rockstar

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.

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
 

 

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.

Hey mate,

 

Here is the format you need:

 

Annotation 2019-10-01 093819.png

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

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

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

v-bacao-msft
Community Support
Community Support

 

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.
JHL1
Helper I
Helper I

@Gristy MASSIVE Kudos to you man👌👌💪💪.

Helpful resources

Announcements
MPA_User Group Leader_768x460.jpg

Manage your user group events

Check out the News & Announcements to learn more.

V3_PVA CAmpaign Carousel.png

Community Challenge - Giveaways!

Participate in the Power Virtual Agents Community Challenge

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

R2 (Green) 768 x 460px.png

Microsoft Dynamics 365 & Power Platform User Professionals

DynamicsCon is a FREE, 4 half-day virtual learning experience for 11,000+ Microsoft Business Application users and professionals.

Top Solution Authors
Users online (1,157)