SharePoint OData Filter Query Examples for Power Automate
The Filter Query box in Get items is the best way to stop a flow pulling every row in a list. It is also where most people get stuck, because one wrong quote or column name gives a vague error. Here are the patterns I use most, in the order that solves the most problems.
1. Use the internal column name, not the display name
This is the most common cause of a failed filter. The filter needs the column's internal name. If you created the column as Due Date, the internal name is often Due_x0020_Date, because spaces are encoded.
To find it, open the list settings, click the column, and look at the end of the address bar for Field=. That value is the internal name. A column created as DueDate with no space keeps that name even if you rename it later.
2. Text columns: eq, ne and startswith
Text values go in single quotes. The operator words are lower case.
Title eq 'Invoice 1001'Department ne 'Finance'startswith(Title,'INV-')To find text anywhere in a column, use substringof. Notice the search text comes first:
substringof('contract',Title)If the text itself contains a single quote, such as O'Brien, double it: 'O''Brien'.
3. Choice columns and Yes/No columns
A single-choice column filters like text:
Status eq 'Open'A Yes/No column compares to 1 or 0, with no quotes:
Approved eq 1If you use true or false in quotes you will usually get an error or no rows.
4. Numbers
Numbers and currency need no quotes. The comparison words are gt, ge, lt and le.
Amount gt 5000Quantity le 105. Dates
Compare a date column with an ISO date in single quotes. To get items due before today, build the date in an expression:
DueDate lt '@{formatDateTime(utcNow(),'yyyy-MM-dd')}'For a range, join two conditions with and:
DueDate ge '2026-11-01' and DueDate le '2026-11-30'SharePoint stores times in UTC, so a filter near midnight can be an hour or more out for your users. My guide on converting UTC to local time covers that.
6. Lookup and person columns
For a lookup column, filter on the ID of the looked-up item, not its text:
Customer/Id eq 12For a person column, filter on the email address of the person:
AssignedTo/EMail eq 'sam@yourcompany.com'If the lookup or person filter returns an error, fall back to Get items without it and use a Filter array action afterwards. It is slower, but it works on any column.
7. Find empty and non-empty values
Use null, without quotes:
DueDate eq nullNotes ne null8. Combine conditions with and, or and brackets
Use and, or and not. Add brackets when you mix and with or, otherwise the result may not be what you expect:
Status eq 'Open' and (Priority eq 'High' or Priority eq 'Urgent')9. Sort and limit the results
Sorting does not go in the Filter Query box. Use the Order By box instead, for example Modified desc. Use Top Count to limit how many rows come back. If you need more than 100 rows, turn on Pagination in the action's settings and set a threshold.
Test the filter before you rely on it
Want this done for you?
I build this for clients every week. Book a free 30-minute call and I'll tell you exactly what your team needs.