cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
smorley
Responsive Resident
Responsive Resident

Array must be of primitive type error when appending to an array variable

Hi everyone,

I'm trying to append to an array variable, and I'm getting an error.

Flow save failed with code 'WorkflowRunActionInputsInvalidProperty' and message 'The inputs of workflow run action 'Append_to_array_variable' of type 'AppendToArrayVariable' are not valid. The provided value of '[ { "Claims": "@items('Apply_to_each')?['Approver_x0020_email']" } ]' of type 'Array' must be a primitive type, or a valid template language expression.'.

The workflow itself is pretty simple:

 

appenderror.jpg

Any thoughts?

1 ACCEPTED SOLUTION

Accepted Solutions
tom_riha
Most Valuable Professional
Most Valuable Professional

The 'Append to array variable' must be inside the 'Apply to each 2', in the same way as on my screenshot. And the expression must be exactly like this:

item()?['Email']


[ If I have answered your question, please Accept the post as a solution. ]
[ If you like my response, please give it a Thumbs Up. ]

[ I also blog about Power Automate solutions even for non-IT people. ]

View solution in original post

28 REPLIES 28
tom_riha
Most Valuable Professional
Most Valuable Professional

Hello @smorley ,

remove the [ and ] brackets from the 'Append to array variable' value. [ ] brackets define an array, Power Automate thinks you want to add an array into another array. But you want to add only the value inside the { } (including the brackets) into an array, I guess you're trying to achieve this:

[
   { "Claims": "user1@company.com" },
   { "Claims": "user2@company.com" }
]

You could achieve the same result also with the 'Select' action instead of 'Apply to each' + 'Append to an array variable'.image.png

 



[ If I have answered your question, please Accept the post as a solution. ]
[ If you like my response, please give it a Thumbs Up. ]

[ I also blog about Power Automate solutions even for non-IT people. ]

Thanks @Anonymous the error went away, but now when I run the flow, it skips over the append action.  skiparray.jpg

My append syntax is:

{
"Claims": @{items('Apply_to_each_2')?['Approver_x0020_email']}
}

smorley
Responsive Resident
Responsive Resident

@tom_riha Sorry to be a pest.  I tried the select statement, but I've never used it before.  When I try it, it wraps inside an apply to each action.

In any case.  I'm going to explain my workflow and what I'm trying to solve.

 

A person fills out a form, and I want to populate the approver people picker field with a workflow, which comes from a second list that has the approver information.  It could also be from a SP group, I'm not fussy at this point.

tom_riha
Most Valuable Professional
Most Valuable Professional

Hello @smorley ,

when you lookup the other list using 'Get items', it'll always return an array = it'll always add 'Apply to each'. If it returns just 1 item it's not a problem as it'll loop only once through that 1 item.

Then the 'Select' action works in a way that you'll input an array = multiple choice people picker, and select from all the available information on the email address. The full content of a multiple people picker column will look like this:

[
    {
        "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser",
        "Claims": "i:0#.f|membership|user1@company.com",
        "DisplayName": "User One",
        "Email": "user1@company.com",
        "Picture": "https://..."
    },
    {
        "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser",
        "Claims": "i:0#.f|membership|user2@company.com",
        "DisplayName": "User Two",
        "Email": "user2@company.com",
        "Picture": "https://..."
    }
],

With the 'Select' action you can take that array, and tell the flow to return only a specific property from that array. You define the 'key' = Claims and the value you want to assign to that key in the result = Approver Email.



[ If I have answered your question, please Accept the post as a solution. ]
[ If you like my response, please give it a Thumbs Up. ]

[ I also blog about Power Automate solutions even for non-IT people. ]
smorley
Responsive Resident
Responsive Resident

@tom_riha I now have this in my select statement

selectsyntax.jpg

From is the SP field Approver Name which is a people picker field, and the Map is using the field Approver Email.  

(Which I think is my problem.)

My update item keeps giving an error when I put the output from the select statement in the Approver Claims field.updateitem.jpg

 

tom_riha
Most Valuable Professional
Most Valuable Professional

Try to switch to the text editor in the 'Approver Claims' field and use the variable there.

image.png

 



[ If I have answered your question, please Accept the post as a solution. ]
[ If you like my response, please give it a Thumbs Up. ]

[ I also blog about Power Automate solutions even for non-IT people. ]
smorley
Responsive Resident
Responsive Resident

I'm thinking I'm close but not yet.

approverclaims.jpg

tom_riha
Most Valuable Professional
Most Valuable Professional

'Current item' is connected to an 'Apply to each' action, it can't be used outside of 'Apply to each' as it references the item from the array you currently process. In the 'Update item' you should use either the output from the 'Select' action, or, if you can't access the output from the 'Select' action outside of the 'Apply to each', initialize an array variable at the beginning of the flow and store the output from the 'Select' into the variable (within the 'Apply to each').

Then use that array variable in the 'Update item' action.



[ If I have answered your question, please Accept the post as a solution. ]
[ If you like my response, please give it a Thumbs Up. ]

[ I also blog about Power Automate solutions even for non-IT people. ]
smorley
Responsive Resident
Responsive Resident

Here is my select statement.

From is Approver_x0020_Name

Map: enter key is blank;  the SP is Appover_x0020_Name_Email

Is this correct?

selectstatement.jpg

If not, should it be this:

selectstatement2.jpg

If it's not quite correct should it be "Approver Name Claims" here?

 

Sorry for being dense.

tom_riha
Most Valuable Professional
Most Valuable Professional

I think we're getting lost here with the 'Select' action and it'll be easier if you go back to the original solution with the 'Append to array variable' action. Just remove the [ and ] and then update the 'Approver' column using that array variable.

 



[ If I have answered your question, please Accept the post as a solution. ]
[ If you like my response, please give it a Thumbs Up. ]

[ I also blog about Power Automate solutions even for non-IT people. ]

I do tend to spin my wheels.

It saved this time.  So that's great.  When the flow runs, it's giving an error that the person cannot be found.

specifieduser.jpg

tom_riha
Most Valuable Professional
Most Valuable Professional

It looks you're appending the whole person column in the variable, you should append only the user email.

{
  "Claims": [UserEmailDynamicContent]
}


[ If I have answered your question, please Accept the post as a solution. ]
[ If you like my response, please give it a Thumbs Up. ]

[ I also blog about Power Automate solutions even for non-IT people. ]

Ok no error this time.  Here's the approver input from the flow run:

approverinput.jpg

But the output is empty.

approveroutput.jpg

tom_riha
Most Valuable Professional
Most Valuable Professional

Try to add a 'Compose' action before the 'Update item' and store the dynamic content/variable you use to update the 'Approver' there. Run the flow and check the 'Compose' action in the run history. It must have the same format as below, if it looks different then it's not correct.

[
  {
    "Claims": "xxx@tomriha.com"
  },
  {
    "Claims": "yyyy@tomriha.com"
  }
]

image.png 



[ If I have answered your question, please Accept the post as a solution. ]
[ If you like my response, please give it a Thumbs Up. ]

[ I also blog about Power Automate solutions even for non-IT people. ]

Ok, early bird.  The compose looks good.

compose.jpg

Getting a 400 error user not found.  Syntax I think.

updateitemerror.jpg

tom_riha
Most Valuable Professional
Most Valuable Professional

The input looks good, did you switch the field to 'input entire array'?

image.png



[ If I have answered your question, please Accept the post as a solution. ]
[ If you like my response, please give it a Thumbs Up. ]

[ I also blog about Power Automate solutions even for non-IT people. ]
smorley
Responsive Resident
Responsive Resident

Here's the append:

append.jpg

Here's the update.  It doesn't give me the option any more, and it also doesn't give me the dynamic choice of the variable any longer, just the compose.

update.jpg

tom_riha
Most Valuable Professional
Most Valuable Professional

Is the 'Approver Name' a people picker with multiple choices enabled? Try to delete the action and add it again, without the possibility to switch the field to 'input entire array' you'll not be able to update it.



[ If I have answered your question, please Accept the post as a solution. ]
[ If you like my response, please give it a Thumbs Up. ]

[ I also blog about Power Automate solutions even for non-IT people. ]

You are a very patient one!

I decided to stitch it all together for you.

workflow.jpg

The error message on running in the body of the Output is:

The specified user [{"@odata.type":"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser","Claims":"i:0#.f|membership|jn768544@dal.ca","DisplayName":"JoAnne Burke","Email":"JoAnne.Burke@Dal.Ca","Picture":"https://dalu.sharepoint.com/sites/dmnb/_layouts/15/UserPhoto.aspx?Size=L&AccountName=JoAnne.Burke@Da... Education Program - NB","JobTitle":null},{"@odata.type":"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser","Claims":"i:0#.f|membership|smorley@dal.ca","DisplayName":"Steve Morley","Email":"Stephen.Morley@Dal.Ca","Picture":"https://dalu.sharepoint.com/sites/dmnb/_layouts/15/UserPhoto.aspx?Size=L&AccountName=Stephen.Morley@... - Computing & Media Svcs","JobTitle":null}] could not be found.
clientRequestId: c7785c02-4426-4b37-a592-3284af8dbaf4
serviceRequestId: c7785c02-4426-4b37-a592-3284af8dbaf4

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

We are excited to announce the Summer of Solutions Challenge!    This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Community MembersNumber SolutionsSuper UsersNumber Solutions Deenuji 9 @NathanAlvares24  17 @Anil_g  7 @ManishSolanki  13 @eetuRobo  5 @David_MA  10 @VishnuReddy1997  5 @SpongYe  9JhonatanOB19932 (tie) @Nived_Nambiar  8 @maltie  2 (tie)   @PA-Noob  2 (tie)   @LukeMcG  2 (tie)   @tgut03  2 (tie)       Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 2: Community MembersSolutionsSuper UsersSolutionsPower Automate  @Deenuji  12@ManishSolanki 19 @Anil_g  10 @NathanAlvares24  17 @VishnuReddy1997  6 @Expiscornovus  10 @Tjan  5 @Nived_Nambiar  10 @eetuRobo  3 @SudeepGhatakNZ 8     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 3:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji32ManishSolanki55VishnuReddy199724NathanAlvares2444Anil_g22SudeepGhatakNZ40eetuRobo18Nived_Nambiar28Tjan8David_MA22   Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 4:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji11FLMike31Sayan11ManishSolanki16VishnuReddy199710creativeopinion14Akshansh-Sharma3SudeepGhatakNZ7claudiovc2CFernandes5 misc2Nived_Nambiar5 Usernametwice232rzaneti5 eetuRobo2   Anil_g2   SharonS2  

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages

Users online (808)