Hello guys,
I'm in a loop to test if users are existing in my organization by using 'Get user profile V2' and test if it is found or not.
if found, I search the ID througth HTTP request and add this ID in my variable arrSiteBRMContact
If not found I have to append an error string AND append my array with ALL the correct email ID.
My apply to each BRM Mail is
split(items('Apply_to_each_row')?['SiteBRMContact'],';')
so how to test and append this array when I have only one email in the loop and the result is failed?
For info, an empty multi-person field can be created / updated by sending an array with [0]
So, if no email are correct the final result should be [0] in my point of view? but if we have some correct result, the [0] should not appear in the array result but only the correct IDs should be present.
When i'm in this loop I can obtain good and bad result and it is where I don't know how to manage my array variable
My apply to each followed a 'Get Items' to check if the record exists in the sharepoint list. A filter is applied to be sure that only 1 record can be found but when I create my HTTP request depending of my Get items, it power automate add it in a 'apply to each which is not my case but cannot remove it else I cannot save my flow. Any advice on that ?
Apologies I am a little confused so just need to ask a couple of questions and try to answer in parts.
NOTE: you are using a Set variable within an Apply to each, this will cause invalid results unless you turn ON and then set Concurrency (in the settings of that action) to 1. Don't use Sets in an Apply to Each if you have not done this.
First Part
My apply to each followed a 'Get Items' to check if the record exists in the sharepoint list. A filter is applied to be sure that only 1 record can be found but when I create my HTTP request depending of my Get items, it power automate add it in a 'apply to each which is not my case but cannot remove it else I cannot save my flow. Any advice on that ?
Get items is always going to be an Array, regardless of if you filtered it or not. You would need to change your Access to this data to be something like XXX.value[0]?[ColumnName] or .[ColumnName]
I'd need the name of your stuff to get it exact, but you have to use the Ordinal position [0] to read it, since you know it's just one, otherwise you are going to get a single record array
NOTE: I can see you put the value property there. If you highlight it, copy it and past it into Notepad, it will give you the entire path that you need to append the [0]?[ColumName] to
but first remove the start and end { } and possibly the @, that copy and pasting will add to it.
Then take the remainder and add the [0]?[ColumnName]
Example:
my_get_items[value][0]?[ColumnName]
No Section Of the Did we find the person in AAD
{ email: "emailaddress", id: blank, status: "failed string" }
Next Part
I'm in a loop to test if users are existing in my organization by using 'Get user profile V2' and test if it is found or not.
if found, I search the ID througth HTTP request and add this ID in my variable arrSiteBRMContact
If not found I have to append an error string AND append my array with ALL the correct email ID.
My apply to each BRM Mail is
Ok, wait you are using HTTP Calls to get Ids etc from SharePoint in the Found Id side
I would do this instead
1. Do a Get Items
2. Use a Filter for the Email column I am sure you have
3. Add a Condition and configure like this
Left Condition: Length(GetItems dynamic value property)
Middle Operator: is greater than
Right Value: 0
no sense in using a premium connector when Get Items would work.
Now... personally if i understand what you mean I would append in the array
If the Id was found (Yes section of Condition)
{ email: "emailaddress", id: addfoundid, status: "success" }
If the Id was NOT found (No section of Condition)
{ email: "emailaddress", id: BlankAs there is no id, status: "add whatever string you would want" }
Now you have a single Array, that clearly delineates failures and successes AND if no id/user was found in the Right side, after finding the user has a valid account
If I have helped you, I would really appreciate if you please Mark my answer as Resolved/Answered, and give it a thumbs up, so it can help others
Cheers
Thank You
Michael Gernaey MCT | MCSE | MCP | Self-Contractor| Ex-Microsoft
https://gernaeysoftware.com
LinkedIn: https://www.linkedin.com/in/michaelgernaey