SharePoint site owners often manage policy documents that expire on specific dates. Without a reminder system, you risk keeping outdated policies live or missing renewal deadlines. This article walks through building an automated reminder flow using Power Automate and SharePoint lists. You will get a practical checklist to set up expiration tracking and email alerts for your team.
Key Takeaways: Setting Up Policy Expiration Reminders
- SharePoint list with Expiration Date column: Stores policy metadata and drives the flow trigger.
- Power Automate scheduled cloud flow: Checks the list daily and sends email notifications for items expiring soon.
- Flow condition action: Filters items based on expiration date relative to today to avoid false alerts.
Understanding the Policy Reminder Flow
The reminder flow uses a SharePoint list where each policy item has an Expiration Date column. The flow runs on a schedule, such as once per day. It queries the list for items whose expiration date falls within a defined window, for example 7 or 14 days from today. For each matching item, the flow sends an email to the policy owner or a distribution group. This approach works for any SharePoint site with a standard list and does not require premium licenses. Before building the flow, your SharePoint list must have at least these columns: Title (default), Expiration Date (Date and Time type), Policy Owner (Person or Group type), and Status (Choice type with options Active, Expiring, Expired).
Steps to Build the Reminder Flow in Power Automate
- Create a scheduled cloud flow
Go to Power Automate at https://make.powerautomate.com. Select Create from the left menu and choose Scheduled cloud flow. Name the flow Policy Expiration Reminder. Set the schedule to repeat every 1 day. Choose a start time that matches your work hours, such as 8:00 AM. Click Create. - Add the Get Items action
Click the plus icon below the trigger and select Add an action. Search for SharePoint and choose Get items. Provide your SharePoint site URL and the list name that holds your policies. In the Filter Query field, enter a condition to pull only items with an expiration date in the future. Example filter: ExpirationDate ge ‘@{addDays(utcNow(), -1)}’. This gets items expiring from yesterday onward. Adjust the Top Count to 100 or a number that covers your list size. - Add a condition to filter items by date range
Click New step, search for Condition, and select it. In the left value box, select ExpirationDate from the dynamic content list. Choose the operator is less than or equal to. In the right value box, enter: addDays(utcNow(), 14). This checks if the expiration date is within the next 14 days. In the If yes branch, you will send the email. In the If no branch, do nothing. - Send email notification for each matching item
Inside the If yes branch, click Add an action. Search for Send an email and select the Outlook connector option. In the To field, choose Policy Owner from the dynamic content. If you want a fixed group, type the group email address instead. In the Subject field, enter: Policy Expiring Soon: [Title]. Use the dynamic content for Title. In the Body field, write a clear message. Include the policy name, expiration date, and a link to the item. Use the Link to item dynamic content to create a clickable URL. Click Save. - Test the flow
Go back to the flow editor and select Test. Choose Manually and click Test. The flow runs immediately on the current list data. Check your email inbox for the test notification. If no email arrives, verify the filter query and condition logic. After a successful test, turn on the flow by clicking the toggle at the top of the flow page.
Common Mistakes and How to Avoid Them
Expiration Date Filter Returns No Items
The most frequent problem is an empty filter result. This happens when the Expiration Date column in SharePoint is not recognized as a date type by Power Automate. Verify the column type in SharePoint list settings. It must be Date and Time, not a single line of text. Also confirm that at least one item in the list has an expiration date within the next 14 days.
Email Is Sent to Wrong Recipient
If the Policy Owner column is empty for some items, the email action fails or sends to no one. Add a validation rule in the SharePoint list to require the Policy Owner field. You can also add a second condition in the flow to check if Policy Owner is not empty before sending.
Flow Runs But No Email Appears
Check the flow run history in Power Automate. Open the flow, click on the clock icon for run history, and select the latest run. Look for any failed actions. Common causes include incorrect SharePoint site URL or insufficient permissions. The flow owner must have at least Contribute access to the SharePoint list and Send As permission for the email connector.
SharePoint List Setup vs Power Automate Flow: Key Differences
| Item | SharePoint List Setup | Power Automate Flow |
|---|---|---|
| Purpose | Stores policy metadata and expiration dates | Automates checking dates and sending emails |
| Trigger | Manual entry or bulk upload | Scheduled daily run |
| Configuration effort | 15 minutes to create columns and views | 30 minutes to build and test the flow |
| License requirement | Standard SharePoint license | Power Automate included with Office 365 or Microsoft 365 |
| Error handling | Column validation rules | Configure run after settings and conditions |
You can now build a scheduled reminder flow for expiring policies using a SharePoint list and Power Automate. Start by creating the list with the required columns and then follow the steps to configure the flow. As an advanced tip, add a second condition to update the Status column to Expired when the expiration date has passed. This keeps your list accurate without manual work.