web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / append an array when f...
Power Automate
Unanswered

append an array when failed in a loop

(0) ShareShare
ReportReport
Posted on by

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
Array problem.jpg

 

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 ?

creation by HTTP.jpg

Categories:
I have the same question (0)
  • Michael E. Gernaey Profile Picture
    53,960 Moderator on at

    Hi @DGPowerAutomate 

     

    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

     

     

     

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Leaderboard > Power Automate

#1
David_MA Profile Picture

David_MA 62 Super User 2026 Season 1

#2
Haque Profile Picture

Haque 58

#3
Expiscornovus Profile Picture

Expiscornovus 39 Most Valuable Professional

Last 30 days Overall leaderboard