Introduction
When working with SharePoint lists, the Rich Text (Enhanced Rich Text) column type is commonly used to store formatted content such as HTML, bullets, links, and images.
However, when building flows in Power Automate, many users face an issue:
How do you correctly check if a SharePoint Rich Text column is empty or not?
A normal condition like @empty(triggerBody()?['ColumnName']) often does NOT work, because Rich Text columns store values in HTML format, not plain text.
In this article, I'll walk you through how to correctly check for blank Rich Text columns using Power Automate.
Why Rich Text Columns Behave Differently
A SharePoint Rich Text field stores data as HTML, meaning even if it "looks empty" in the list, the actual stored value might be:
Therefore, your condition must remove these HTML tags before checking if the value is blank.
Step-by-Step Solution: Check if Rich Text Column Is Blank
Assume your Rich Text column internal name is Notes.
Step 1: Manually Trigger the Flow
As shown in the image, start with:
Trigger:
Manually trigger a flow
(no inputs needed)
Step 2: Get Items from SharePoint
Add a Get items action to retrieve all rows from your list.
Site Address: Your SharePoint site
List Name: Your SharePoint list
Keep the other fields as default to get all records; otherwise, use a Filter Query to retrieve a specific record.
This will fetch all items so we can check each Rich Text field.
Step 3: Initialize an Array Variable
Add an Initialize variable action.
Name: BlankItems
Type: Array
Value: (keep empty)
This array will store the IDs of all items where the Rich Text column is blank.
![09-12-2025-04-57-12]()
Step 4: Apply to Each
Add an Apply to each and select:
outputs('Get_items')?['body/value']
![09-12-2025-04-57-57]()
Step 5 : Add Condition inside Apply to Each
Add a Condition to check the Notes is not equal to null.
Condition Expressions (Left Side):
items('Apply_to_each')?['Notes']
![09-12-2025-05-02-30]()
Step 6: YES Branch → Convert HTML to Plain Text
Inside the If Yes branch:
Add: HTML to text
Content: Notes [items('Apply_to_each')?['Notes']]
![09-12-2025-05-06-24]()
This removes HTML tags like <div>, <p>, <br>, etc.
Add: Compose to Trim the Converted Text
trim(if(equals(outputs('Html_to_text')?['body'],null),'',outputs('Html_to_text')?['body']))
Add: Condtion
Add a another condition to check that the Compose output is not equal to true.
empty(outputs('Compose'))
Add: Parallel branch Under HTML to text action
Also, configure this action to run after the HTML to text action fails.
![24-12-2025-02-26-47]()
Step 7: No Branch
Inside the If No branch:
Add: Condtion
Add a another condition to check that the Notes is equal to null.
items('Apply_to_each')?['Notes']]
![24-12-2025-02-27-16]()
Step 8: Add Compose after Apply to each
Add a Compose action to find the values or the length of the values appended to the BlankItems variable.
Input:
to find all values:
variables('BlankItems')
to find length of all values:
length(variables('BlankItems'))
Conclusion:
Using this article’s approach, you can reliably check whether a SharePoint Rich Text column is truly empty. By converting HTML to plain text, trimming unwanted content, and handling edge cases, you avoid false results and ensure your Power Automate flows work accurately and consistently.