4 Ways to Get a Value from an Array in Power Automate

Do you need to get a single element from an array in Power Automate?

This post is going to show you how to get the Nth item from an array object!

Working with arrays can be tricky if you’re not familiar with them. An array, also called a collection, is just an ordered set of items. The items inside the array can be text, numbers, dates, Booleans, or even other arrays.

When working with an array, you may only want a particular item. This post will show you how to do that.

["A", "B", "C", "D", "E"]

All the examples in this post will use the above array in a Compose action named myArray.

Get the Nth Item from an Array

Arrays are ordered lists. This means you can extract an item from the list based on the ordering.

@{outputs('myArray')?[2]}

The above syntax will get the third item in myArray which will result in the value C.

Notice the 2 in the syntax returns the 3rd item? This is because arrays in Power Automate use a zero-based index for their order. 0 is the 1st item, 1 is the 2nd item, 2 is the 3rd item, etc.

Get the First Item from an Array

You can use the 0 index to get the first item in your arrays, but there is a special formula that can also be used to get the first item.

@{first(outputs('myArray'))}

The above expression syntax will return the first item from the myArray collection. This uses the first workflow expression to return the first item in the collection.

In this example, it will return the value A.

Get the Last Item from an Array

Getting the last item in an array would be tricky if you were only able to extract items using the index. You might not know exactly how many items your array will contain and it could change with each run.

Thankfully there is also a last workflow expression which will return the last item in any collection.

@{last(outputs('myArray'))}

The above expression will return the last item from the myArray collection which in this example will be E. This uses the last workflow expression to return the last item in the collection.

Get the Second to Last Item from an Array

Perhaps you don’t want the last item in your array, but rather the second to last or third to last item?

In this situation, you can’t use the last expression.

You will need to find how many total items the array has, and then subtract 1 from this number. This will give you the proper index number of that item.

You can then use the index to return the value.

@{outputs('myArray')?[sub(length(outputs('myArray')),2)]}

The above syntax will return the second to last item in the myArray collection. In this example, it will return the value D.

The length(outputs('myArray')) returns a count of how many items are in the array. The expression then subtracts 2 from this value using the sub expression to get the index number of the second last item.

Conclusions

Arrays are a common object you will come across in Power Automate and they can be tricky to work with when you don’t know how.

Getting the values in your arrays is an easy process. These can be accessed using a zero-based index or with several expressions.

Do you have any other tips for accessing the values of an array? Let me know in the comments section below!

About the Author

John MacDougall

John MacDougall

John is a Microsoft MVP and freelance consultant and trainer specializing in Excel, Power BI, Power Automate, Power Apps and SharePoint. You can find other interesting articles from John on his blog or YouTube channel.

Related Articles

Comments

0 Comments

Submit a Comment

Your email address will not be published.

Get the Latest Tech Tips

Write For Us

Are you a tech enthusiast with a talent for writing great content? Come write for us!

Follow Us

Follow us on social media to stay up to date with the latest tech!