Skip to main content

Notifications

Community site session details

Community site session details

Session Id :
Power Automate - Building Flows
Suggested answer

Auto Email Reminder Notifications sent via Power Automate for SharePoint List Items.

(0) ShareShare
ReportReport
Posted on by 4
Hi all, I have a vehicle license register as a list in SharePoint. Auto generated emails need to be sent to a Responsible Person to remind them of upcoming licenses becoming due within a certain time period (45 days). It also needs to send auto generated emails when a license is expired. My list is well structured (text fields, number fields, date fields, etc.) and contains a calculated column "Days to expire" based on the Expiry Date column. The "Days to expire" column auto updates based on the "Last Checked" column with a formula "utcNow()" via the recurrence I set up in Power Automate on a daily basis or whenever. A "Last Notified" column also added to the list triggered by Power Automate to indicate "Renew" or "Expired". Specific email body info is pulled from the list into the emails. The main issue I'm experiencing is that repeat emails are being sent for the same vehicle on the recurrence date for the same reason ie. "Renew" license or "Expired" license. I only want the email to be sent out just once when the Renewal Status in the List changes from "Valid" to "Renew" and similarly sent out just once when the "License Status" in the List changes from "Active" to "Expired". I've tried in vain for two weeks using Copilot to build my flow in Power Automate but can't get what I want. I've copied and pasted pertinent sections of the Power Automate Flow in the attachment for analysis. Please assist?
  • CN-30051745-0 Profile Picture
    4 on at
    Auto Email Reminder Notifications sent via Power Automate for SharePoint List Items.
    Notes: I truly admire and appreciate your valuable assistance!
    My Newly created flow as you suggested is attached pdf.
    My replies to your queries…are in (parenthesis):
    • The trigger will be for when an item is modified. (How do I invoke this trigger for when an item is modified and not when created? Because the only trigger available is one for “When an item is created or modified in SharePoint”)
    • The trigger conditions will look something like this depending on the name of your fields and if they are choice fields (As can be seen from the uploaded pdf flow, I’ve only created the flow for the Renewal part and the Renewal Status and License Status are calculated fields not choice fields).
    • To prevent the flow from sending multiple notifications if the item is updated and the Renewal Status or License Status has not changed since the last update, after the trigger use the action Get changes for an item or a file. (I’ve added this action, see if it’s in the correct position.)(Include Minor Versions “NO” shows up as a default, is this correct?)
    • Add a condition to each flow to check of the respective status field was updated (true).(Please verify if this is not in my flow under Update Item for Last Checked “utcNow()” and Last Notified Status “Renew” which is aimed at taking care of your query?)
    With this method, when the respective status field is changed back to renew or expired, the flow will be able to trigger again, which is most likely what you want. (The respective Status fields which are calculated fields will have to be changed to blank fields manually I assume to allow the trigger to run the flow again).
    After running the Test which was successful, there are error messages in the last screenshot of the attached, please analyze and respond. I'm not receiving any emails just yet.
  • Suggested answer
    David_MA Profile Picture
    11,264 Super User 2025 Season 1 on at
    Auto Email Reminder Notifications sent via Power Automate for SharePoint List Items.
    If you only want the notifications to go out as you noted in your original post and reply; "I only want the email to be sent out just once when the Renewal Status in the List changes from "Valid" to "Renew" and similarly sent out just once when the "License Status" in the List changes from "Active" to "Expired", then create two flow.
     
    • Create one flow for when the renewal status changes to "Renew" and create another flow when the license status changes to "Expired."
    • The trigger will be for when an item is modified.
    • The trigger conditions will look something like this depending on the name of your fields and if they are choice fields:
      • @equals(triggerOutputs()?['body/RenewalStatus'], 'Renew')
      • @equals(triggerOutputs()?['body/LicenseStatus'], 'Expired')
      • You can learn more about trigger conditions at https://www.spguides.com/power-automate-trigger-conditions/
      • Your flow will only trigger if it meets the condition specified.
      • If the fields are choice fields, when building the trigger condition, be sure to choose the field that has value after it from the dynamic content picker.
    • To prevent the flow from sending multiple notifications if the item is updated and the Renewal Status or License Status has not changed since the last update, after the trigger use the action Get changes for an item or a file.
      • For the Since field, choose Trigger Window Start from the dynamic content.
      • For the Until field, choose Trigger Window End from the dynamic content.
      • This will return true of for each field in the list item that was updated when submit was pressed.
      • This post will illustrate what I am referring to: Power Automate SharePoint Get Column Changes - April Dunnam
    • Add a condition to each flow to check of the respective status field was updated (true).
    • On the yes side of the condition, send your e-mail.
     
    I assume the status will change to active when they have been renewed. With this method, when the respective status field is changed back to renew or expired, the flow will be able to trigger again, which is most likely what you want. And with this method, you don't need to worry about any limitations around the number of items in the list since the flow runs at the item level.
  • CN-30051745-0 Profile Picture
    4 on at
    Auto Email Reminder Notifications sent via Power Automate for SharePoint List Items.
    My replies to your questions as follows: 
    Some questions:
    1. How many items do you expect your list to grow to? This is an important consideration with the get items action. (In the 2nd List it won't be bigger that 50 items)
    2. Are you using a filter query on the get items action? If yes, what is it? (No I'm not using a Filter Query as I'm not familiar with this...)
    3. If you want the notice to be sent out when the renewal status changes from valid to renew, or the license status changes from active to expired, why are you using a scheduled flow instead of the trigger when an item is modified? (I adopted this a guided by Copilot, and I tend to agree with you to use the trigger when an item is modified and would appreciate your valued detailed inputs with this choice after analyzing my uploaded screenshots of the updated Flow).
    4. The reason multiple notifications are going out is probably because you are using a scheduled flow. (As above I agree).
  • creativeopinion Profile Picture
    10,423 Super User 2025 Season 1 on at
    Auto Email Reminder Notifications sent via Power Automate for SharePoint List Items.
    @CN-30051745-0 You might consider simplifying the logic of your flow. Base your flow on the Expiry Date column. Instead of running an automated flow that triggers when the status has changed, use a Scheduled Trigger to run the same time every day.
     
    The logic of your flow could be as follows:
    • Schedule Trigger – Runs at the same time each day
    • Get Items from SP list where the expiry date is in 45 days and if the expiry date is equal to today.
    • Use an expression or create a dynamic reference key to output a dynamic subject line and email body based on whether the license will expire in 45 days or if it has expired already. 
    You can customize the emails based on the date. For example, you can even have it send 30, 60 and 90 days before it's going to expire. This will be a lot easier to manage then managing it by whether the status has changed. One the license has been renewed, adjust the expiry date and then change the status to Valid.
     
    To help you build your flow, you might be interested in these YT Tutorials:
     

    Are you easily stumped when working with Dates in Power Automate? In this Power Automate tutorial, I’ll show you how to compose an expression that will return a future date, a past date, how to count the number of days between two dates, how to check for a birthdate and anniversary date as well as tips and tricks when working with dates in Power Automate. I’ll cover some common use cases and concepts that can help you to build better Power Automate flows.

    Feel free to skip ahead using the timestamps listed below. I’ve also linked a few other tutorials that you might be interested in as well.

    IN THIS VIDEO:
    ✓ 4 Date Functions You Need to Know
    ✓ How to use the Convert Time Zone Action
    ✓ How to Get a Future Date
    ✓ How to Get a Past Date
    ✓ How to Return SharePoint Items Due in a Number of Days
    ✓ How to Return SharePoint Items Due within a Date Range
    ✓ How to write a Filter Query for SharePoint Items Due in 30, 60 and 90 Days
    ✓ How to Calculate the Number of Days between Two Dates
    ✓ How to Check for a Birthdate and Anniversary Date
    ✓ How to work with Dates and Times in Excel
    ✓ How to use a Manual Trigger with Date Input
    ✓ How to Output Dynamic Text with an Expression
    ✓ How to Check if a Date Falls on a Weekend
     
    ----
     

    In this Microsoft Power Automate tutorial, I’ll show you how to build a flow that will send a Happy Birthday email to a user based on a date column in a SharePoint list. The SharePoint list also contains a column with a Manager’s name which we’ll use to send a three-day and day of reminder to the user’s manager.

    This automation will use the Filter Array action to filter out all SharePoint list items where the user’s birthday is today or in three days. This flow can apply to a variety of scenarios such as:
    📅 Student Birthdays
    📅 Project Due Dates
    📅 Contract/Membership Renewals
    📅 License Expirations
    📅 Client Anniversaries

    IN THIS VIDEO:
    ✓ How to Send an Email based on a Date Column in SharePoint
    ✓ Using the Recurrence Trigger in Power Automate
    ✓How to Use the Filter Array Action with multiple conditions
    ✓ How to Get Dynamic Content from a Filter Array Action
    ✓ How to Get a Date Three Days from Today
    ✓ How to Create a Dynamic Date Based on utcNow()
    ✓ How to Return a Count of Items
    ✓ How to initialize and set a variable
    ✓ How to use the Send an Email (V2) action
    ✓ How to send test emails
     
    ----
     

    Are you using the Switch action in your flow? While it seems like a simple way to handle multiple conditions, it can quickly become inefficient and difficult to manage.

    Here’s why:
    ❌ You can’t use dynamic content in the Equals field.
    ❌ You have to manually recreate the same actions for each case.
    ❌ Any updates require you to edit every single case individually.
    This results in a flow that’s repetitive, hard to scale, and a nightmare to maintain.
    In this tutorial, I’ll show you how to replace redundant Switch actions with a Dynamic Reference Key—a simple way to streamline your flows. Instead of being redundant, you’ll create a lookup-style structure to makes your flows more efficient, scalable, and easier to update.
    IN THIS VIDEO:
    ✓ Why the Switch action is inefficient and what to use instead
    ✓ What is a Dynamic Reference Key
    ✓ Creating a custom look up in Power Automate
    ✓ Using a Dynamic Reference Key instead of writing an expression with nested if() functions
    ✓ How to use a Dynamic Reference Key to reduce actions in your flow
    ✓ How to use a Dynamic Reference Key to route emails to different recipients based on a MS Form Selection
    ✓ How to reduce redundancies in your flow by using a single Send an Email (V2) action instead of multiple instances
    ✓ How to use a Dynamic Reference Key to send email notifications 90, 60 and 30 days from today’s date
     
    ---
    How to Send a SINGLE EMAIL ✉️ with multiple SharePoint list items
    Building a Power Automate flow that will send an email with multiple SharePoint items can be a bit complex. In this video tutorial I’ll cover how to build a flow that will send a single email to each user with tasks that have been assigned to them. The logic in this flow can be applied to many different scenarios.

    First, I’ll show you how to use a Filter Query to return items from your SharePoint list that meet your criteria. Then I’ll show you how to return a list of unique email addresses so that each user receives a single email. Lastly I’ll show you how to compose an email that will contain an HTML table with a list of tasks for each user.

    IN THIS VIDEO:
    ✓ How to send multiple list items in a single email with a Power Automate Flow
    ✓ How to create a dynamic date range
    ✓ How to use the Convert Time Zone action
    ✓ How to use a Filter Query in the Get Items action
    ✓ How to count number of items in an array
    ✓ How to use the Select action to extract a users display name and email address
    ✓ How to create a unique list of email addresses
    ✓ How to use the Create HTML Table action
    ✓ How to customize the HTML Table with CSS styles
    ✓ How to use the Send an email (V2) action
    ✓ How to use the Append to String Variable action
    ✓ How to create a custom list of items for an email
    ✓ How to use the Send an email (V2) action
    ✓ How to display singular or plural text based on the number of items returned
     
    ---

    In this video tutorial I’ll go over how to avoid these common mistakes when using the Apply to Each action in a Power Automate flow:
    1️⃣ Looping through a Single Item
    2️⃣ Creating Unnecessary Nested Loops
    3️⃣ Looping through an Unfiltered Array

    At the end of the video I share a few helpful insights when it comes to using the Apply to Each action in your flow.

    IN THIS VIDEO:
    ✓ How to avoid the Apply to Each action with a single item array
    ✓ How to use the item() function to access dynamic content in an array
    ✓ How to prevent unnecessary nested Apply to Each action loops
    ✓ How to use the Select action
    ✓ How to convert an array to a string with the Select action
    ✓ How to use the Filter Query field
    ✓ How to count the number of items in an array
    ✓ How to use a condition control
    ✓ How to use the concurrency control
    ✓ How to set a top count
    ✓ How to use Compose actions for troubleshooting
     
    If you still run into issues while building your flow, share screenshots of your full flow and the logic behind it. 

    Upload a screenshot of your flow in edit mode. If you are using the new designer, toggle it off and click each action to expand it.
     
    Hope this helps!

    Consider giving me a ❤️ if you liked my response!

    👉 Level up your Power Automate skills by checking out my tutorials on YouTube
    👉 Tips and Tricks on TikTok and Instagram
  • David_MA Profile Picture
    11,264 Super User 2025 Season 1 on at
    Auto Email Reminder Notifications sent via Power Automate for SharePoint List Items.
    Some questions:
    1. How many items do you expect your list to grow to? This is an important consideration with the get items action.
    2. Are you using a filter query on the get items action? If yes, what is it?
    3. If you want the notice to be sent out when the renewal status changes from valid to renew, or the license status changes from active to expired, why are you using a scheduled flow instead of the trigger when an item is modified?
    4. The reason multiple notifications are going out is probably because you are using a scheduled flow.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Warren Belz – Community Spotlight

We are honored to recognize Warren Belz as our May 2025 Community…

Congratulations to the May Top 10 Community Leaders!

These are the community rock stars!

Announcing the Engage with the Community forum!

This forum is your space to connect, share, and grow!

Leaderboard >