Power Automate  

Automated flow to send reminder after specific Business Days (Excluding Weekends)

In real-world business processes, reminders and follow-ups are usually calculated based on working days, not calendar days. If weekends are not excluded, reminders may be triggered too early or at incorrect times.

This article describes the implementation of an automated reminder mechanism using Power Automate and SharePoint Online. The solution calculates the required business days by excluding weekends, retrieves records from a SharePoint list based on past dates, and sends reminder notifications to users.

Step 1: Creating a Scheduled Flow in Power Automate

To begin, navigate to Power Automate Online by visiting: https://make.powerautomate.com/

From the left menu:

  1. Select Create

  2. Choose Scheduled cloud flow.

1_CreateFlow
  1. Configure the recurrence to run once per day

2_NameFlow

Step 2: Generate a Date Range for Business Day Calculation

Since Power Automate does not have a native “add business days” function, we generate a range of dates.

Add a Select action and name it Dates :

The expressions used in the select is as follows :

From: @{range(0,365)}
Map : Date : formatDateTime(subtractFromTime(utcNow(), item(), 'Day', 'yyyy-MM-dd'), 'yyyy-MM-dd')
Map : Day  : dayOfWeek(subtractFromTime(utcNow(), item(), 'Day'))
3_ConfigureSelect

The output for select is an array of dates, and the day of the week. (ordered backward from today storing past 365 days)

4_Output-ofSelect

Step 3: Excluding Weekends Using Filter Array

Next, add a Filter Array step, to reduce the dates array so that it only includes week days:

From : @body('Dates') // Output of Select action

Condition Expression

@and(not(equals(item()['Day'], 0)), not(equals(item()['Day'], 6)))
5_FilterAction

It ensures that:

  • Saturday (Day = 6) and Sunday (Day = 0) are excluded from the generated array list considering only the week dates and days.

  • The resulting output represents valid business days ordered backward from today.

6_Output_of_FilterAction

Step 4: Using Compose to Pass a Specific Past Date to SharePoint (Optional but Recommended)

As we don’t want all past dates - we want to target a specific past working day, such as: 5 working days ago, 10 working days ago, N working days ago.

To achieve this cleanly, we use a Compose action and add an expression as follows:

@{formatDateTime(body('Filter_array')[5]['date'],'yyyy-MM-ddT00:00:00Z')}

You can change this value in [ ] :

  • [3] → 3 working days ago

  • [5] → 5 working days ago

  • [10] → 10 working days ago

This gives you full control over how far back you want to fetch records.

Step 5: Fetching SharePoint Records using Compose Output

Once the business date is identified the flow retrieves records from the SharePoint list using the Get items action.

The expression for filter query of Get Items is :

Status eq 'Report Generated' and ReferenceDate eq '@{outputs('Compose_-_Reference_Date')}'
7_GetItemsAction

The filter conditions ensure:

  • Only those records where Status (choice type column ) is 'Report Generated' and Reference Date (Date column) is matching past date are fetched.

  • Previously processed records are excluded

This keeps the automation efficient and prevents duplicate notifications.

Step 6: Sending Reminder Notifications (Final Step)

Since Get items can return multiple records, an Apply to each loop is required to process every matching SharePoint item individually.

Action Step : Apply to each
Expression for : Select as output from previous step :

@{outputs('Get_items')?['body/value']}

Action Step: Send an email (V2) : (Placed inside the Apply to each loop) :
The email action sends a reminder to the intended recipient using dynamic values from the SharePoint item.

8_SendanEmail

Flow Run Output and Validation

After the flow completes all actions, Power Automate provides a clear execution summary that helps validate whether the automation ran successfully.

Flow Run Status

  • The flow run status shows Succeeded

  • All configured actions display a green checkmark

9_FlowOutput

Conclusion

This approach removes manual follow-ups, improves operational efficiency, and ensures time-sensitive actions are never missed.

The same pattern can be used for:

  • SLA breach reminders

  • Compliance and audit follow-ups

  • Report generation alerts

  • Task escalation workflows

By leveraging Power Automate 's date functions and different actions, business logic can be implemented with minimal effort and maximum reliability.

Hope this helps and thanks for reading my article.