logo
search
Others

How to Filter and Email Excel Rows Added in the Previous Hour via Power Automate

Tauseeq MagsiTauseeq Magsi Oct 19, 2026 870 views

Question details

The user wants to set up a Power Automate flow that filters an Excel table to retrieve only the rows added within the last hour, and then sends those specific records via email.

How to Email Excel Rows Added During the Previous Hour in Power Automate
Product
Microsoft Excel
Device & OS
not provided
Scenario
Automating hourly email notifications based on newly created records in an Excel table over a specific one-hour time window.
Observed behavior
The flow needs a reliable method to compare a date-time column in the Excel table against the current time minus one hour to correctly process the rows in an Apply to each loop.
Before you start

Ensure your Excel file is saved in OneDrive for Business or SharePoint, formatted as an official Table, and contains a dedicated date-time column recording exactly when each row was added.

Solution 1Recommended

Use OData Filter Query to Retrieve Rows from the Last Hour

This is the most efficient method because it filters the data on the server side before retrieving it into the flow, saving processing time and API limits.

By applying an OData Filter Query directly in the 'List rows present in a table' action, Power Automate will only fetch the records created within the last 60 minutes.

1
Configure the Excel Action

Add the 'List rows present in a table' action to your flow. Select the Location, Document Library, File, and Table where your data is stored.

2
Set DateTime Format

Click 'Show advanced options' in the Excel action. Change the 'DateTime Format' dropdown to 'ISO 8601' so Power Automate accurately reads the Excel timestamp.

3
Apply Filter Query

In the 'Filter Query' field, type the name of your Excel date column, followed by 'ge' (greater than or equal to), and then add the expression: addHours(utcNow(), -1). For example: CreationTime ge '@{addHours(utcNow(), -1)}'.

4
Send Email

Add an 'Apply to each' control, selecting the 'value' output from the Excel action. Inside the loop, add the 'Send an email (V2)' action to email the row details.

Use OData Filter Query to Retrieve Rows from the Last Hour
Tip for Date Expressions: Ensure you type addHours(utcNow(), -1) inside the Dynamic Content 'Expression' tab rather than pasting it directly as plain text.
Free Microsoft Office alternative

Manage Your Spreadsheet Data Seamlessly with WPS Office

While Power Automate is heavily tied to the Microsoft ecosystem, WPS Office provides a highly compatible, lightweight, and completely free alternative to Microsoft Excel. If you need to manage, clean, or format the Excel tables that feed into your automated workflows, WPS Spreadsheet offers an intuitive interface without the heavy subscription fees.

  1. 1. Download and Install: Visit the official WPS Office website to download the free suite for Windows, Mac, or Linux.
  2. 2. Open Your Excel File: Launch WPS Spreadsheets and open your existing .xlsx table to edit or verify your timestamp columns.
  3. 3. Manage Data Easily: Use familiar formulas and data validation tools to prepare your tables perfectly for automated workflows.
100% compatible with Microsoft Excel formats (.xlsx, .xls, .csv).Lightweight installation with fast loading times for large datasets.Built-in advanced data filtering, sorting, and duplicate removal tools.Free to use with a familiar, easy-to-navigate tabbed interface.
microsoft office alternative - wps office

Frequently Asked Questions

Why is my Excel date-time column causing an error in Power Automate?

Excel natively stores dates as sequential serial numbers rather than text strings. To fix this, open the advanced options in the 'List rows present in a table' action and set the 'DateTime Format' to 'ISO 8601'. This translates the serial numbers into standard timestamps Power Automate can read.

Can I use Power Automate to automatically write the timestamp when a row is added?

Yes. If your flow is responsible for creating the row, you can map the flow's utcNow() expression into a dedicated 'Creation Time' column inside the 'Add a row into a table' action.

How do I prevent the flow from sending duplicate emails for the same row?

Add a 'Status' column to your Excel table. After sending the email in your flow, add an 'Update a row' action to mark that specific row as 'Emailed'. Then, update your Filter Query to only fetch rows where the status is not 'Emailed'.

Does my Excel file need to be formatted as a table to work with Power Automate?

Yes. Power Automate's Excel Online connector requires data to be formatted as an official Excel Table. You can do this by highlighting your data in Excel and pressing Ctrl+T (or Insert > Table).