cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
North_001
Frequent Visitor

Adding Working days to Scheduled Flow

Hi, 

 

Very new to Power Automate here and looking include working days on a scheduled flow.

I have set up a basic flow to run once per day which triggers a teams post if a SharePoint list item has a StartDate two days prior. Couple of other values from the list have been added to the Filter Query section of ‘Get Items’, which are working fine.

 

Does anyone know how to ensure only working days are considered? I.e. if I have a StartDate on a Thursday, I would want the teams post to happen on Monday as opposed to Saturday as it stands.

 

Unable to post a screenshot at present so have bullet pointed the initial steps of the flow:

 

• Recurrence -  once per day (9am) 

• Date Time (Get past time) - 2 days

• Substring - Past time, Starting Postion 0, length 10

• Get items - SharePoint list 

 

Thanks 🙂

1 ACCEPTED SOLUTION

Accepted Solutions

Here is one way to do it. The note at each step shows the used expression(s). A daily Recurrence trigger is used with a Trigger Condition (hit the ellipsis and choose Settings of the Recurrence step, and add one) of

 

 @contains(createArray(1,2,3,4,5), dayOfWeek(utcNow()))

 

This will make it so the flow only triggers on Weekdays. Then a compose is used to provide the # of days to subtract based on the day of the week (subtract 4 if M or T, and 2 for the other 3 weekdays). This could have been done with a nested if as well, but I thought this would be easier to adapt.

 

A filter is used to select the right value based on the dayOfWeek() of the current day (utcNow()). A 2nd Compose gets the first (and only) record and the value in the 'Subtract Days' field.  You can then use that value in your Get Items filter with addDays() to dynamically go back the right # of days.

 

mahoneypat_0-1640784244833.png

 

Pat





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about the Power Platform, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


View solution in original post

16 REPLIES 16
leo85
Super User
Super User

Hi @North_001 ,

instead of using the trigger to run daily, use it to run weekly. On the weekly trigger you can enter, which days of the week the flow should run. So it only runs Monday through Friday (see screenshot).

 

leo85_0-1640355175945.png

 

Happy Christmas,

Leo

 

----------------------------------------------

If my answer solved your issue, please mark it as complete.

If what I wrote helped you, please give it a thumbs up.

 

mahoneypat
Dual Super User
Dual Super User

You can use a nested if like below to check the current day of week at refresh and generate the right comparison date based on that to be used to filter your SharePoint list items.

 

if(equals(dayOfWeek(utcNow()),0), addDays(utcNow(), -3), if(equals(dayOfWeek(utcNow()),6), addDays(utcNow(), -4), addDays(utcNow(), -2)))

 

Pat

 





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about the Power Platform, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Pstork1
Dual Super User
Dual Super User

Use the recurrence trigger set to run once a day, but use the following as a trigger condition in settings.  It will then be prevented from triggering on Sat or Sunday.

@less(dayOfWeek(utcNow()), 6)

 



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.
Pstork1
Dual Super User
Dual Super User

@leo85 I don't think that will work.  It will keep the flow from triggering on the weekend, but it will only run once per week on whichever weekday it triggers on.  



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.
leo85
Super User
Super User

Hi @Pstork1,

No, I tested this myself and it works exactly as I described. It triggers on every day that is set in the trigger. So if you set only weekdays within the weekly trigger, the flow will trigger only on weekdays.

Note, this is a scheduled trigger, not an automatic trigger.

 

North_001
Frequent Visitor

Hi @leo85 , @Pstork1 & @mahoneypat

 

Hope you all enjoyed the holiday period (if you celebrate that is)

 

Thanks a lot for taking the time to respond to my query, it’s very much appreciated. 

I hadn’t considered only running on Weekdays. Thanks @leo85 & @Pstork1  for your suggestions of this. I will try this out. 

My main issue is ensuring the flow does not consider Saturdays & Sundays as days. For example, if an item has a StartDate of Thursday, I want the teams post to happen on a Monday. 2 ‘working days’ following the start date. 

If the flow runs as is, on a Monday it would check for any start dates for 2 days prior (Saturday) however, I need it to ignore the weekend and check for start dates 2 working days prior (Thursday). Hope that makes sense. 

 

 

@mahoneypat I have tried your suggestion but I’m unsure where to put this ‘nested if’? Apologies, very new to Power Automate. I've put a screenshot of the flow below.

 

North_001_0-1640776703000.jpeg

 

Thanks again for your help 🙂

 

 

Here is one way to do it. The note at each step shows the used expression(s). A daily Recurrence trigger is used with a Trigger Condition (hit the ellipsis and choose Settings of the Recurrence step, and add one) of

 

 @contains(createArray(1,2,3,4,5), dayOfWeek(utcNow()))

 

This will make it so the flow only triggers on Weekdays. Then a compose is used to provide the # of days to subtract based on the day of the week (subtract 4 if M or T, and 2 for the other 3 weekdays). This could have been done with a nested if as well, but I thought this would be easier to adapt.

 

A filter is used to select the right value based on the dayOfWeek() of the current day (utcNow()). A 2nd Compose gets the first (and only) record and the value in the 'Subtract Days' field.  You can then use that value in your Get Items filter with addDays() to dynamically go back the right # of days.

 

mahoneypat_0-1640784244833.png

 

Pat





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about the Power Platform, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


@leo85  and @Pstork1  that's how we do weekdays-only flows as well with the 1 week trigger set to run each weekday. Works beautifully.

Hi @mahoneypat,

 

Thanks so much for your help. I tried adding those expressions however, I got the below error. Any ideas why? 

North_001_0-1640790730269.jpeg

North_001_1-1640790771124.jpeg


Thanks 

In your pic, it looks like you just have item() in the Filter action, not item()?['DayOfWeek']

Is that the case?

 

Pat





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about the Power Platform, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Hi @mahoneypat ,

 

Whenever I enter item()?['DayOfWeek'] into the expression field . It shows as item() and not item(...) as per you example.

 

Hopefully these screenshots will be clearer.

 

North_001_0-1640857292282.jpeg

North_001_1-1640857315113.jpeg

 

That's odd. I exported my flow, so you can import it and look for any differences. Attached here.

Pat

 





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about the Power Platform, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


leo85
Super User
Super User

Hi @North_001 ,

In your screenshot there is a syntax error. All the opening parentheses are curly, but the closing ones are not.

leo85_0-1640872390102.png

 

Maybe this is the error.

Hi @mahoneypat,

 

I think I may have found the reason for why I was receiving the error. When completing the first compose, I used a ) instead of a } as the second bracket. Amended and seems to be working as expect now.

 

Rookie mistake!

 

Thanks again for your time a help, it’s much appreciated 🙂

North_001
Frequent Visitor

Hi @leo85 

 

Good spot. Just this minute replied to @mahoneypat with how that was the cause of my error.

 

Thanks for flagging 🙂 

@North_001 Did this work out for you? If so, please accept it as the solution.

Thanks,

Pat

 





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about the Power Platform, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Helpful resources

Announcements
Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

MPA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

Learn to digitize and optimize business processes and connect all your applications to share data in real time.

Power Automate Designer Feedback_carousel.jpg

Help make Flow Design easier

Are you new to designing flows? What is your biggest struggle with Power Automate Designer? Help us make it more user friendly!

Top Solution Authors
Users online (1,712)