I was recently working on the Filter Array in Power Automate, where we can filter the items in the array by using different types of operators in the Filter Array action.
This tutorial explains how to use filter query operators in the Filter Array action of Power Automate. Here we will see the following examples:
- How to use Filter Array Equals in Power Automate
- Filter Array Not Equals Operator in Power Automate
- Power Automate Filter Array greater than
- Filter Array Less Than using Power Automate
- Filter the Array based on AND
- Use AND OR Expression in Filter Array using Power Automate
Example 1: Power Automate Filter Array Equals
Let’s consider that you have an Array in Power Automate containing details about construction materials with multiple items, as shown in the code below. Here, I want to filter the items where the ‘LowStock’ value is equal to ‘true’.
[
{
"Material": "Cement",
"Quantity": 500,
"Unit": "Bags",
"LowStock": false
},
{
"Material": "Bricks",
"Quantity": 10000,
"Unit": "Pieces",
"LowStock": false
},
{
"Material": "Steel",
"Quantity": 200,
"Unit": "Tons",
"LowStock": true
}
]You can do this by using the steps below in Power Automate. I will create a button flow in Power Automate
- Create a button flow in Power Automate that can be triggered by a single click of a button.
- To store the array value, add an “Initialize variable” flow action and set the parameters, such as Name, Type [Set to Array], and Value.

- To filter the array items, add the “Filter Array” action and set the required parameters.
- From: Select the ‘Initialize variable’ from the dynamic content.
- Filter Query: Add the filter query mentioned below in the table.
| Choose Value | Operator | Choose Value |
|---|---|---|
| Click on Insert Expression -> item()?[‘LowStock’] | is equal to | true |

Now save and run the flow. To do that, click on the Save icon and then the Test button.
Output:

Check out Replace String in JSON using Power Automate
Example 2: Power Automate Filter Array Not Equals
Let’s see how not equals works in the filter array action. Here, I will use the same Array as mentioned in the above example.
In the provided array, the filter array should return the remaining two array items where the ‘LowStock’ value is not equal to ‘true.
In the filter query, let’s change the operator to ‘is not equal to’.
| Choose Value | Operator | Choose Value |
|---|---|---|
| item()?[‘LowStock’] | is not equal to | true |

Output:

Example 3: Power Automate Filter Array Greater Than
You often need to filter the items in a SharePoint list based on specific criteria according to our requirements.
In this example, I will explain how to filter a list array using the greater than operator in the Filter Array action.
Below, you can see a SharePoint list named ‘Employee Travel Voucher List‘ with different types of data. From that, I wanted to filter out the items that have a ‘Voucher Amount’ value greater than ‘2000’.

To do this, I will create a Power Automate Instant cloud flow. Click here to learn how to make different types of flows in Power Automate.
You can start from the steps mentioned below:
- Under the trigger [Manually trigger a flow], add a “Get Items” action to fetch all the SharePoint list items. Provide Site Address and List Name.

- Then, add a ‘Filter Array’ action to filter out the list of array items, which will filter the items with a “Voucher Amount” value greater than 2000. Set the required parameters.
- Name: Take the body/value of the Get items action from the dynamic content.
- Filter Query: Insert the values provided in the table below.
| Choose Value | Operator | Choose Value |
|---|---|---|
| @{item()?[‘VoucherAmount’]} | is greater than | 2000 |

- Next, add the ‘Create HTML table‘ action to create a table containing the filtered items. Provide the parameters, such as ‘From’, ‘Columns with Custom Headers’, and ‘Values’.
| Headers | Values |
|---|---|
| Employee Name | @{item()?[‘Title’]} |
| Voucher Amount | @{item()?[‘VoucherAmount’]} |
| Expiry Date | @{item()?[‘Expiry_x0020_Date’]} |
| Usage Status | @{item()?[‘UsageStatus/Value’]} |

- Now, I will take the “Send an email(V2)” action to view the output of the create HTML table action. Provide parameters such as ‘To’, ‘Subject’, and ‘Body’ with the Output of the Create HTML table. Have a look at the image below.

Now the flow is ready. Save and test the flow manually.
Output:

Example 4: Power Automate Filter Array Less Than
To illustrate this example, I will use the same SharePoint list as in the previous example, [Example 3].
Here, follow the similar steps, but update the Filter Query in the Filter Array action. I will change the operator to is less than. It should filter out the items that have a ‘Voucher Amount’ value less than ‘2000’.
- In the ‘Filter Array‘ action, set the filter query as mentioned in the table below.
| Choose Value | Operator | Choose Value |
|---|---|---|
| @{item()?[‘VoucherAmount’]} | is less than | 2000 |

Output:

Example 5: Power Automate Filter Array And
Let’s consider an array of ‘Sales Records’, where I want to filter the array items based on ‘Region of South‘ and ‘Amount less than 5000‘.
[
{
"SalesID": "S001",
"SalesPerson": "Arjun",
"Region": "North",
"Amount": 15000
},
{
"SalesID": "S002",
"SalesPerson": "Meena",
"Region": "South",
"Amount": 2000
},
{
"SalesID": "S003",
"SalesPerson": "Rahul",
"Region": "East",
"Amount": 12000
},
{
"SalesID": "S004",
"SalesPerson": "Divya",
"Region": "South",
"Amount": 4500
}
]Follow the steps below:
- Create a Power Automate Instant cloud flow.
- Then, add an ‘Initialize variable‘ action to set the array values to it. See the screenshot below.

- After that, add a ‘Filter Array’ action to filter array items based on the required condition.
- Name: Take an Initialize variable[VarSalesRecords]from dynamic content.
- Filter Query: Click on Edit in advanced mode option ->Set the following expression in the filter query.
and(equals(item()?['Region'],'South'),less(item()?['Amount'],5000))
Save and run the flow..
Output:

To filter the Array items with the (OR) operator, you can follow this expression:
or(equals(item()?[‘Region’],’South’),equals(item()?[‘Amount’],5000))
Example 6: Power Automate Filter Array based on [AND, OR]
Let me use one of my SharePoint lists to explain this example.
Here, I will take a SharePoint list named ‘Budget List’ with different types of columns. I wanted to filter the items based on the condition like:
- Category as HR and Allocated Amount Less than 5000,(OR)
- Category – Any type and Allocated Amount equals 5000

You can follow the same steps as mentioned in the example [Example 3]. But only change the Filter Query in the Filter Array action.
- Add a ‘Filter Array’ action and set the below-mentioned parameters.
- Name: Take Body/Value of the get items action from the dynamic content.
- Filter Query: Click on Edit in advanced mode -> Insert the expression below.
or(and(equals(item()?['Category/Value'], 'HR'), equals(item()?['AllocatedAmount'], 5000)), less(item()?['AllocatedAmount'], 5000))
Now, save and run the flow.
Output:

This is all about Filter query operators that can be used in the Filter Array action of Power Automate.
I hope you found this article helpful. Do mention your suggestions or comments in the comments section.
You may like the following tutorials:
- Power Automate Array Variable
- Power Automate Filter Query Operators
- Power Automate Create HTML Table from Array
- Power Automate Remove Item from Array

After working for more than 18 years in Microsoft technologies like SharePoint, Microsoft 365, and Power Platform (Power Apps, Power Automate, and Power BI), I thought will share my SharePoint expertise knowledge with the world. Our audiences are from the United States, Canada, the United Kingdom, Australia, New Zealand, etc. For my expertise knowledge and SharePoint tutorials, Microsoft has been awarded a Microsoft SharePoint MVP (12 times). I have also worked in companies like HP, TCS, KPIT, etc.