I'm new to Power Automate, and trying to set up what should be a simple flow. I need to send two reminder emails to managers to check and approve timesheets.
The first is every other Friday, the last day of a pay period. This was easy to create using a recurrence and mail.
The second is on the last working day of the month, for the close of the fiscal period. Timesheet approvals done outside of a fiscal period cause havoc in our ERP system. This is where I'm running into problems. While tools like Outlook calendar can do recurrences on the last day of the month, this isn't available in the PA recurrence feature.
I've searched and found references to code that determines the correct day, but because I'm new at this, I'm not even sure how or where to use that code. Any help with a step-by-step would be greatly appreciated. Thanks!
After daily recurrence, use this condition-
if last and previous last day of month is saturday and sunday then it is not last working day.
This sort of worked. The problem is the email will be sent every day on the 27th, 28th, 29th, 30th and 31st as long as those days aren't a Saturday or Sunday. I only want it to send once, on the last workday of the month.
So... if the 31st is a Sunday, the email would send on the 29th, but not the 28th or 27th.
I hadn't thought of that. Yes, I suppose I should. But at this point, I'll take the flow with or without holidays as long as I can get the email sent on the last working day of the month otherwise.
Here is your solution. i have considered all permutation and combination.
My Logic- for 31 days month like Jan,March etc if 31st is not saturday and sunday then it is last working day. And if 29 & 30 of 31 days month falls on friday then it is last working day. Same way i did for 30 days month and feb as well.
@EJack , So in short, let's take the 1st day of the next month and count it backward, day by day until you get a working day (dayOfWeek(variables('Date') is not equal 0 or 6). Here is the explanation of the dayOfWeek.
And if you finally get such a day check if this is today.
Simple, isn't it? 😏
I thought so, but end up with a pretty complex flow.
Here are some pictures. If you need details - let me know.
The Date variable is initialized with this formula:
Condition at "Do Until" loop is advanced:
@or(not(equals(variables('DayOfWeek'), 0)),not(equals(variables('DayOfWeek'), 6)))
And the rest should be pretty straightforward.
Let me know if this works? I have tested a bit with November, as the 1st of November is Sunday, and it looks working. But I might do wrong conditions, so better test different scenarios and don't take it for granted.
Thanks! There's a lot to this. I'm also wondering what happens when you get to leap year with Feb having 29 days.
Thank you as well! I think I like the idea of counting backwards from the first day of the next month. That would seem to work regardless of what month it is an if it was a leap year or not. I haven't had a chance to play with this yet, as it takes my non-programmer brain a little while to wrap my head around it.
Is your example sharable? If you have more details on how to recreate those frames, I won't say no. 🙂
Came across this post while looking for a solution to the same problem...
Shouldn't the code below work with the exception of public holidays...
...If today is a weekday and tomorrow is the first day of next month or
if today is friday and the first day of next month is the day after tomorrow (sunday) or the next (monday)....
Note: for me dayofWeek returns (1...7) for (Monday...Sunday)...
Explore the latest innovations, learn from product experts and partners, level up your skillset, and create connections from around the world.
Learn to digitize and optimize business processes and connect all your applications to share data in real time.