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 Apps / Power Apps and Automat...
Power Apps
Answered

Power Apps and Automate Error upon clicking a button: The $Filter expression must evaluate to a single boolean value

(0) ShareShare
ReportReport
Posted on by

I'm using Dataverse as my source and trying to recreate what is in this video. 

https://www.youtube.com/watch?v=UZdngrwWsqA&ab_channel=RezaDorrani

Unfortunately this is in Sharepoint. I have a button that runs a Flow in Power Automate that sends a filter query. First i received an error about Unexpected PrimitiveValue node. A 'StartArray' node was expected then managed to fix it by adding { } in my query, and now I'm receiving the error about $filter expression

 

Here is the code OnSelect property of my button in Power Apps:

PowerAppsExportAllToExcel.Run("{'"& txt_requirementId.Text &"' in cr21b_requirementid}",User().Email);

 

 Here's my Flow:

Flow1.JPG

 

Upon clicking the button here's the error.

 

Error1.JPG

 

After tried looking for similar cases like mine with this error. I found these 

https://powerusers.microsoft.com/t5/Building-Flows/Dataverse-List-Rows-oData-filter-not-working-with-Variable-only/td-p/1824706

 

https://powerusers.microsoft.com/t5/Building-Flows/The-filter-expression-must-evaluate-to-a-single-boolean-value/td-p/1558469

 

And tried to change my flow into this:

 

Flow2.JPG

and my filtering code into this :

PowerAppsExportAllToExcel.Run("{'"& txt_requirementId.Text &"'}",User().Email);

But still can't make it work cause of the error this approach is causing

Invalid JSON. A colon character ':' is expected after the property name '7006', but none was found.
Categories:
I have the same question (0)
  • Jose Ramon Profile Picture
    107 on at

    If you want to put an IN clause in the filter, it would look like this:

    (Microsoft.Dynamics.CRM.In(PropertyName='cr21b_requirementid',PropertyValues=['0','1','2','3','4']))

    If in the filter, you only want to put an equality condition, so that the column is equal to a certain value

    (cr21b_requirementid eq 'value_of_column')

     

  • RazenC Profile Picture
    on at

    Just for additional context. That requirement id is type of Textfield. It filters the record based on the series of numbers whether it's in the beginning, middle or end of a record. So how can I apply the filtering for this with user's input? 

    (Microsoft.Dynamics.CRM.In(PropertyName='cr21b_requirementid',PropertyValues=['0','1','2','3','4']))

    If I read this right this is fixed with values of 0 - 4? Is this to be placed in the Filter rows property of Power Automate or in passing a parameter via Power Apps?

     

  • Verified answer
    Jose Ramon Profile Picture
    107 on at

    In your case the best option is to put this in the Power Automate filter:

     

     

    (contains(cr21b_requirementid, 'XXXXXX'))

     

     

    NOTE: where it says "XXXXXXX" you will have to replace it with the input parameter that the flow receives when it is invoked from the canvas application (In your case I have seen that it is called Query), do not remove the single quotes, just replace XXXXXXX.

  • RazenC Profile Picture
    on at

    Thanks for this. How about the one for the IN clause?

    (Microsoft.Dynamics.CRM.In(PropertyName='cr21b_requirementid',PropertyValues=['0','1','2','3','4']))

    Where can I place the users input for this one? I'm getting values from a Combobox for context in which users can apply multiple values.

     

    Is it like 

    (Microsoft.Dynamics.CRM.In(PropertyName='cr21b_requirementid',PropertyValues=[cbRegion.SelectedItems]))

    in which I need to enclose it with []  ?

  • Jose Ramon Profile Picture
    107 on at

    Although in your case it is not the best option, if from the Canvas application, you want to pass a list of values to the Power Automate (PA) and in the PA filter you want to use the IN clause, then what you would have to do is this:

     

    Let's assume your Combo has these elements in the Items property:

     

     

     

    [{Id: 1, Value: "One"}, {Id: 2, Value: "Two"}, {Id: 1, Value: "Three"}, {Id: 4, Value: "Four"}]

     

     

     

     

    The call to your PA would look like this (you need convert your selected items into JSON):

     

     

     

    PowerAppsExportAllToExcel.Run(JSON(cbRegion.SelectedItems),User().Email)

     

     

     

    In your PA you would have to do the following:

     

    1. Add an action of type Data Operation - Parse JSON, you will have to generate the schema with the value that arrives to the Query parameter of your PA. With my example, the JSON is 

     

     

     

    [{"Id":1,"Value":"One"},{"Id":2,"Value":"Two"}]​​

     

     

     

    • Add an action of type Data Operation - Select. In the From, you need to put Dynamic content to Body from previous action (Parse JSON) and in Map it is not necessary to put key and value, if you look to the right there is an option that says: "Switch map to text mode", click there y tendrás que poner esto: Double quotation mark and single quotation mark then add as dynamic content the result of the previous action of the Select and then single quotation mark and double quotation mark. If you press in Peek code you should see this: 

     

     

     

    "inputs": {
     "from": "@body('Parse_JSON')",
     "select": "'@{item()['Id']}'"
     }​

     

     

     

    • Add an action of type Data Operation - Compose, and put this expression: (In my case "Select" is the name of the action of step 2)

     

     

     

    join(body('Select'), ',')​

     

     

     

    • Finally, in the action where you are making the query to the Dataverse table, in the filter, you will have to put: (XXX you will have to replace it with the dynamic content of the result of the action in step 3, which was to join all the values of the array with a comma.) 

     

     

     

    (Microsoft.Dynamics.CRM.In(PropertyName='cr21b_requirementid',PropertyValues=[XXX]))​

     

     

     

    The only problem with this, which works perfectly, is that once you save the PA, exit and edit it again, you will get an error in step 2 of the Select, you will have to put double quotes at the beginning and at the end again.

  • RazenC Profile Picture
    on at

    Ok I tried creating a new flow in PA for this one. In my Power Apps button I have this

    TestFlow.Run(JSON(cmb_caseStatusNewCase.SelectedItems));

    Here are the values or items being sent into the flow 

    [{"Value":"NPW in Progress"},{"Value":"Not Taken"}]

    So in the 1st step you mentioned rather than adding an Id and value I only added the Value

    [{“Value”:”One”}, {“Value”:“Two”}]

     

    Now here's where I am confused in Step 2 I'm not sure if it's supposed to look like this 

    Haha1.JPG

    OR THIS 

     

    Haha2.JPG

     

    Now in Step 3 I'm not sure If I need to type these manually (which I did in this case) or actually click the output from the SELECT

     

    Haha3.JPG

     

    Now here's the List Rows from Dataverse I put the query you sent manually

     

    Haha4.JPG

    But after saving and running this. I am receiving an error in the List Rows action

     

    Haha6.JPG

     

    So I placed the query inside the expression but it's giving me this error.

    Enter an OData Style filter expression to limit which rows are listed

     

    Haha5.JPG

  • Jose Ramon Profile Picture
    107 on at

    This is my example

     

    jrestebanez_0-1698335505858.png

     

    When I run this flow, this is the result from Data Operation - Select

    jrestebanez_1-1698335575507.png

     

    The result from Data Operation - Compose:

    jrestebanez_2-1698335617525.png

     

    And the result from List rows (in my case, using Accounts with the field name)

    jrestebanez_3-1698335654460.png

     

  • RazenC Profile Picture
    on at

    Thanks for this. Lastly, I'm supposed to do this for 9 comboboxes. So If I'm right that would mean 9 parameters with SELECT and Compose Operation each then merge them all together to a single string in PA before putting it in FILTER?

    (Microsoft.Dynamics.CRM.In(PropertyName='cr21b_requirementid',PropertyValues=[Parameter1]))​ and
    (Microsoft.Dynamics.CRM.In(PropertyName='cr21b_casestatus',PropertyValues=[Parameter2])) and 
    (Microsoft.Dynamics.CRM.In(PropertyName='cr21b_type',PropertyValues=[Parameter3])) and
    (Microsoft.Dynamics.CRM.In(PropertyName='cr21b_stateofissue',PropertyValues=[Parameter4]))

    Is there any other way to do this? Just curious. 

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 Apps

#1
WarrenBelz Profile Picture

WarrenBelz 531 Most Valuable Professional

#2
Haque Profile Picture

Haque 261

#3
Kalathiya Profile Picture

Kalathiya 221 Super User 2026 Season 1

Last 30 days Overall leaderboard