If your Power Automate flow is returning all list items instead of just the ones with empty fields — or throwing a cryptic error when you try to filter for blank values — you’re not alone. This is one of the most common stumbling blocks I see when people start working with the Get items action in Power Automate.
The short answer: use ColumnName eq null for most column types. But the longer answer is that different SharePoint column types handle blank differently, and if you use the wrong syntax, your filter either silently returns nothing or breaks entirely.
In this tutorial, I’ll walk you through:
- The exact filter query syntax for every major SharePoint column type
- Why
eq nulldoesn’t always work, and what to do instead - Real-world mistakes that trip people up (and how to fix them)
- A quick-reference table you can bookmark
Let’s get into it.
What Is a Filter Query in Power Automate?
When you use the Get items action to pull data from a SharePoint list, by default, it retrieves up to 100 items (or however many you set as the top count). If your list has 1,000 rows and you only want the ones with a blank field, loading all 1,000 and then filtering inside the flow is wasteful — and slow.
The Filter Query field (under Advanced options in Get items) lets you filter at the source using OData syntax. The query runs server-side, so only the matching rows come back to your flow. This makes your flow faster, cheaper (fewer actions), and easier to maintain.
Think of it like a WHERE clause in SQL — EmployeeDesignation eq null means “give me only the rows where EmployeeDesignation is empty.”
Quick-Reference: Filter Query Syntax for Blank by Column Type
Before diving into the step-by-step examples, here’s the cheat sheet I wish existed when I first started:
| Column Type | Filter for Blank | Filter for Not Blank |
|---|---|---|
| Single Line of Text | ColumnName eq null | ColumnName ne null |
| Multi-Line Text | ColumnName eq null | ColumnName ne null |
| Choice | ColumnName eq null | ColumnName ne null |
| Number | ColumnName eq null | ColumnName ne null |
| Currency | ColumnName eq null | ColumnName ne null |
| Date/Time | ColumnName eq null | ColumnName ne null |
| Yes/No (Boolean) | ColumnName eq null | ColumnName ne null |
| People Picker | ColumnName/Claims eq null | ColumnName/Claims ne null |
| Lookup Column | ColumnNameId eq null | ColumnNameId ne null |
Important: Don’t use quotes around
null. WritingColumnName eq 'null'is wrong — that would look for items where the column literally contains the text “null”, not items that are empty.
The SharePoint List I’m Using
For all examples in this tutorial, I’m using an Employee SharePoint list with these columns:
- Employee ID – Title column (default)
- Employee Name – People Picker column
- Employee Designation – Single Line of Text column
- Date of Joining – Date/Time column
- Employee Status – Choice column
- Contact Number – Number column

Some rows have these fields intentionally left blank so we can test the filter queries. The goal is to identify and flag those blanks using a Power Automate flow.
How to Set Up the Power Automate Flow
For each example below, the base flow structure is the same:
- Trigger: Manually trigger a flow
- Get items action (from SharePoint) with a filter query
- Apply to each – loop through the filtered results
- Update item – mark the blank records (optional, but useful for auditing)
Let me walk through each column type separately, since the filter query syntax varies depending on the column type.
Power Automate Filter Query If Blank
Now, let’s discuss all the examples one by one.
Example 1: Filter Blank Single Line of Text Column in Power Automate
Use case: Find all employees with an empty EmployeeDesignation.
Steps:
- Open Power Automate and create a new Instant Cloud Flow → choose Manually trigger a flow → click Create
- Click + New step and search for Get items
- Set the Site Address and List Name to your SharePoint list
- Click Show advanced options and in the Filter Query field, type:
EmployeeDesignation eq null
- Click + New step, search for and add Apply to each
- In the Select an output from previous steps field, pass in
valuefrom the Get items action - Inside Apply to each, add an Update item action
- Set the Site Address and List Name, then map:
- ID →
ID(dynamic content from Get items) - Title →
Title(dynamic content from Get items) - EmployeeDesignation → type
#####as a flag to mark blanks
- ID →

- Save and run the flow
After the flow runs, go back to your SharePoint list. Any row that had a blank EmployeeDesignation will now show ##### — making it easy to spot during a data quality review.

Pro tip: If your column name has spaces (e.g., “Employee Designation” instead of “EmployeeDesignation”), use the internal name of the column, not the display name. You can find the internal name in SharePoint list settings by clicking on the column name and looking at the URL — it shows
Field=InternalName. Spaces in the display name are usually replaced with_x0020_in the internal name, soEmployee DesignationbecomesEmployee_x0020_Designation. Always use the internal name in filter queries.
Example 2: Filter Blank Choice Column in Power Automate
Use case: Find all employees where EmployeeStatus is blank (no option selected).
In the Get items action’s Filter Query field, type:
EmployeeStatus eq null
The rest of the flow setup is identical to Example 1. Inside the Update item action, set EmployeeStatus to ##### (or whatever placeholder makes sense for your scenario).
Choice columns store null when nothing is selected — they don’t store an empty string. So eq null is the right approach here, and it works reliably.
Example 3: Filter Blank Number Column in Power Automate
Use case: Find all employees where ContactNumber is blank.
In the Get items action’s Filter Query field, type:
ContactNumber eq nullInside the Update item action, set ContactNumber to 0 to replace blanks with a default value.

Number columns in SharePoint store null when empty (not 0). This is worth keeping in mind if you’re doing numeric calculations downstream — a blank is not the same as zero, and treating them differently matters.
Example 4: Filter Blank Date/Time Column in Power Automate
Use case: Find all employees where DateofJoining is blank.
DateofJoining eq null
Date columns can be tricky. A common mistake I’ve seen is writing:
DateofJoining eq 'null' ← Wrong, this looks for the text "null"
DateofJoining eq '' ← Wrong, empty string doesn't apply to datesNeither of those will work. Stick with eq null (no quotes) and you’ll be fine.
Example 5: Filter Blank People Picker Column in Power Automate
People Picker columns are where most people run into trouble. You can’t just write ColumnName eq null for a Person column — it won’t work. People Picker is a complex/composite column type in SharePoint, and you need to filter on one of its sub-properties.
Use case: Find all employees where EmployeeName (People Picker) is blank.
EmployeeName/Claims eq nullThe /Claims part accesses the person field’s internal identifier property. This is what SharePoint uses to store whether a person has been selected or not.
If you want to filter by a specific person’s email instead, you’d use:
EmployeeName/EMail eq '[email protected]'
But for blank checks, /Claims eq null is the one you want.
Example 6: Power Automate Filter Blank Lookup Column
Lookup columns also need special handling. Instead of using the column name directly, you add Id it at the end:
Use case: Find rows where a lookup column Department is blank.
DepartmentId eq nullThe Id suffix tells the OData query to look at the lookup ID value (the integer stored internally). When a lookup is blank, this ID is null.
If you try Department eq null on a lookup column, you’ll likely get an error or unexpected results.
Why Your Blank Filter Query Might Not Be Working in Power Automate
Here are the most common reasons filter queries for blank values fail — I’ve hit most of these myself:
1. You’re using quotes around nullColumnName eq 'null' is wrong. null without quotes is a keyword, not a string value.
2. You’re using an empty string instead of nullColumnName eq '' works in some scenarios (it finds empty strings), but SharePoint typically stores a missing value as null, not as an empty string. These are different things.
3. You’re using the display name instead of the internal column name
If your column is called “Date of Joining” with spaces, the internal name might be Date_x0020_of_x0020_Joining. Check SharePoint List Settings → click the column → look at the URL parameter Field=.
4. People Picker columns need /ClaimsEmployeeName eq null will not work. Use EmployeeName/Claims eq null.
5. Lookup columns need Id appendedDepartmentLookup eq null won’t work. Use DepartmentLookupId eq null.
6. Date columns are case-sensitive
The word null must be lowercase in filter queries. Writing NULL or Null can sometimes cause issues depending on the connector version.
7. Your column name has special characters
Hyphens, brackets, and special characters in column names will break filter queries. If you must use them, wrap the column name in square brackets — though the safest fix is to rename the internal column name in SharePoint.
Power Automate Combining Multiple Blank Checks in One Filter Query
You’re not limited to filtering on a single blank column. You can combine conditions using and / or.
Example: Get items where both EmployeeDesignation and ContactNumber are blank:
EmployeeDesignation eq null and ContactNumber eq nullExample: Get items where either field is blank:
EmployeeDesignation eq null or ContactNumber eq nullExample: Get items where EmployeeDesignation is blank but ContactNumber is not blank:
EmployeeDesignation eq null and ContactNumber ne nullKeep in mind that complex filter queries with many and/or conditions can sometimes hit OData query limits. If you’re getting unexpected results with complex queries, try breaking them into simpler conditions and filtering in a Condition action inside the loop instead.
A Practical Use Case: Weekly Data Quality Check
Here’s a real-world scenario where all of this comes together.
Say your HR team maintains an employee master list in SharePoint, and every Monday a flow should run to catch incomplete records before they sync to payroll. Some employees might be missing a designation, contact number, or onboarding date.
The flow would look like this:
- Trigger: Recurrence – every Monday at 8 AM
- Get items with filter query:text
EmployeeDesignation eq null or ContactNumber eq null or DateofJoining eq null - Condition: Check if the
valuearray from Get items is empty (length = 0)- If yes: Send a “No issues found” Teams message to HR
- If no: Send an HTML table email with the list of incomplete records
- Apply to each the results and optionally update a “DataQualityFlag” column to “Incomplete”
This kind of flow can save hours of manual auditing every week, and it’s entirely built on a single well-constructed filter query.
Frequently Asked Questions
Can I filter for blank and empty string at the same time?
Yes. SharePoint can sometimes have a field that looks blank but is actually stored as an empty string ” rather than null — especially if data was imported via CSV or API. To catch both:
EmployeeDesignation eq null or EmployeeDesignation eq ”
Why does my filter return 0 results even though blanks exist in the list?
This usually comes down to column name mismatch. Double-check the internal name of the column in SharePoint Settings. Also check if you have any OData query syntax issues — a missing space between the operands (ColumnNameeqnull instead of ColumnName eq null) will silently fail.
Does the filter query work with Dataverse or Excel tables?
The eq null pattern works for SharePoint OData queries. For Dataverse (List rows), the syntax is different — Dataverse doesn’t support eq null the same way. For Excel (List rows present in a table), filtering for blank isn’t supported natively in the filter query and you’d need to handle it in a Condition action inside the loop.
What’s the maximum number of items the filter query will return?
The Get items action still respects the Top Count setting (default 100). If you expect more than 100 matching blank items, increase Top Count or enable pagination in the Get items settings (Settings gear → Pagination → On, and set a threshold like 5000).
Can I use filter query in Power Apps with SharePoint?
Yes — Power Apps uses a different syntax (IsBlank() function in the formula bar), but the underlying OData query when you call SharePoint from Power Apps follows the same eq null pattern when using connectors directly.
Summary
Filtering for blank values in Power Automate isn’t complicated once you know the rules. Here’s the quick version:
- Most columns:
ColumnName eq null - People Picker:
ColumnName/Claims eq null - Lookup:
ColumnNameId eq null - Never quote null:
eq nullnoteq 'null' - Always use the internal column name, not the display name
The filter runs server-side, which keeps your flows lean and fast. Once you get comfortable with this pattern, you’ll find yourself reaching for it constantly — data quality flows, approval reminders, incomplete record reports — the use cases are everywhere.
Also, you may like:
- Power Automate Send Reminder Emails
- Create an HTML Table from an Array in Power Automate
- Add Excel Table into HTML Email Body using Power Automate Desktop

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.
Thanks. That was helpful