cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
JRyder
Regular Visitor

Recurrent flow that runs on the last Monday every second quarter

Hello,

 

Hoping someone can help. I have a flow that I'd like to run on the last Monday of every second quarter (i.e., the last Monday every 6 months, starting on the third quarter). This is my current setup: 

JRyder_0-1693324534923.png

JRyder_2-1693323203390.png

 

I'm not sure about the trigger condition that I've set (I found this example in another thread but it wasn't specific to every second quarter). Will this flow work as desired, or do I need to tweak anything?

 

Thank you for any help!

1 ACCEPTED SOLUTION

Accepted Solutions
wskinnermctc
Super User
Super User

Alright this is going to be fun. I came up with a solution, but when I got done, I realized that a flow that sits for 6 months will automatically be disabled. So after my primary solution, I have a secondary that will adjust for the 6 month delay.

So think of this as 2 parts:

  • Solution to the Trigger Condition.
  • Follow-up amendment to keep flow active for 6 months. 

I'm adding extra detail so you can understand how the flow works so you can make changes or test dates.

 

Solution for Trigger Condition - Last Monday of 1st Quarter and Last Monday of 3rd Quarter:

I recommend you make another scheduled flow that sends an email to you, and adjust the dates in the trigger condition to something like next week to verify it works correctly with a small test flow.

 

OR(AND(greaterOrEquals(convertfromUtc(utcNow(),'Central Standard Time'),addDays(startofMonth(utcNow('yyyy-04-01')),-7)),less(convertfromUtc(utcNow(),'Central Standard Time'),startofMonth(utcNow('yyyy-04-01')))),AND(greaterOrEquals(convertfromUtc(utcNow(),'Central Standard Time'),addDays(startofMonth(utcNow('yyyy-10-01')),-7)),less(convertfromUtc(utcNow(),'Central Standard Time'),startofMonth(utcNow('yyyy-10-01')))))

 

 

This will be based upon the traditional calendar quarters:

  • Dates for Q1: January 1 – March 31
  • Dates for Q2: April 1 – June 30
  • Dates for Q3: July 1 – September 30
  • Dates for Q4: October 1 – December 31

General Idea:

  • Flow scheduled to run weekly every Monday
  • Get Date Range of Last Week of Quarter 1
    • Determine if Current Date is within last week of Quarter 1
  • Get Date Range of Last Week of Quarter 3
    • Determine if Current Date is within last week of Quarter 3
  • If the date is within either week range, trigger the flow.

The basic idea I am using for the Last Monday of 1st Quarter and Last Monday of 3rd quarter is by hard coding the dates beginning of the 2nd quarter (April 1st) and beginning the 4th quarter (Oct 1st).

 

Subtract 7 days from the quarter start dates and it will be the last week of the previous quarter.

April 1st - 7 days = last week of 1st quarter

October 1st - 7 days = last week of 3rd quarter

 

A key component to this is the Flow Recurrence Schedule will be set for Monday. The flow will be created to run Weekly on Monday. If there were no trigger conditions then the flow would run every Monday.

 

Schedule the Recurrence to Weekly - MondaySchedule the Recurrence to Weekly - Monday

 

Since the flow will be scheduled to run every Monday, we can use the current time as a point of reference. 

 

Every Monday the flow will ask the questions:

Q1: Is the current datetime within the last week of the 1st Quarter?

Or

Q2: Is the current datetime within the last week of the 3rd Quarter?

 

If either Q1 OR Q2 are true, then the flow needs to continue running.

 

Trigger Condition Expression:

 

This will be the full trigger condition to use:

 

OR(AND(greaterOrEquals(convertfromUtc(utcNow(),'Central Standard Time'),addDays(startofMonth(utcNow('yyyy-04-01')),-7)),less(convertfromUtc(utcNow(),'Central Standard Time'),startofMonth(utcNow('yyyy-04-01')))),AND(greaterOrEquals(convertfromUtc(utcNow(),'Central Standard Time'),addDays(startofMonth(utcNow('yyyy-10-01')),-7)),less(convertfromUtc(utcNow(),'Central Standard Time'),startofMonth(utcNow('yyyy-10-01')))))

 

You need to replace 'Central Standard Time' with your time zone.

 

This trigger condition uses these expressions:

The full expression above is basically 2 identical sub expressions with the only difference being that one is hard coded for April 1st and the other is hard coded for October 1st. The OR() wraps both expressions and will return true if either of the sub expressions return a value of true.

OR({Subex-A},{Subex-B}) - OR is true if either Subex-A or Subex-B are true

 

Subex-A: Sub expression to check if current date is within last week of 1st Quarter (April 1st - 7 days): 

 

AND(greaterOrEquals(convertfromUtc(utcNow(),'Central Standard Time'),addDays(startofMonth(utcNow('yyyy-04-01')),-7)),less(convertfromUtc(utcNow(),'Central Standard Time'),startofMonth(utcNow('yyyy-04-01'))))

 

 

Subex-B: Sub expression to check if current date is within last week of 3rd Quarter (Oct 1st - 7 days):

 

AND(greaterOrEquals(convertfromUtc(utcNow(),'Central Standard Time'),addDays(startofMonth(utcNow('yyyy-10-01')),-7)),less(convertfromUtc(utcNow(),'Central Standard Time'),startofMonth(utcNow('yyyy-10-01'))))

 

 

I'll break down the expression using the Subex-A as an example:

  • AND({1subex}, {2subex}) - AND is true if both 1subex and 2subex are true

1subex: asks if the current datetime is greater than or equals April 1st of the current year subtracted by 7 days

 

greaterOrEquals(convertfromUtc(utcNow(),'Central Standard Time'),addDays(startofMonth(utcNow('yyyy-04-01')),-7))

 

 

2subex: asks if the current datetime is less than April 1st of the current year

 

less(convertfromUtc(utcNow(),'Central Standard Time'),startofMonth(utcNow('yyyy-04-01')))

 

 

Time Zone Conversion

For this to work correctly you need to convert the time zone of the utcNow() into your local time.

 

First part will be dealing with the current datetime when the flow is scheduled. It will be scheduled for 9AM Monday for your timezone. Since we are using utcNow() to get the current datetime, we need to convert that into your timezone by using convertfromUtc(utcNow(),'{your time zone}') expression.

 

Since I am in United States Central Time, I would use:

convertfromUtc(utcNow(),'Central Standard Time')

 

You can find the name to use for your time zone by checking the Windows Default Time Zones page. Or you can just get an example flow step "Convert time zone" and in the action settings select the Peek Code to look and see what the name would be for your timezone.

How to identify the text timezone needed for convertfromUtc() expressionHow to identify the text timezone needed for convertfromUtc() expression

 

Recurrence Example:

This would be if you are located in the Berlin time zone:

Recurrence - Berlin TIme ZoneRecurrence - Berlin TIme Zone

Recurrence Settings - Berlin Time ZoneRecurrence Settings - Berlin Time Zone

 

This is the expression that would be used in the trigger condition for Berlin time zone which is written as 'W. Europe Standard Time' for the conversion.

 

OR(AND(greaterOrEquals(convertfromUtc(utcNow(),'W. Europe Standard Time'),addDays(startofMonth(utcNow('yyyy-04-01')),-7)),less(convertfromUtc(utcNow(),'W. Europe Standard Time'),startofMonth(utcNow('yyyy-04-01')))),AND(greaterOrEquals(convertfromUtc(utcNow(),'W. Europe Standard Time'),addDays(startofMonth(utcNow('yyyy-10-01')),-7)),less(convertfromUtc(utcNow(),'W. Europe Standard Time'),startofMonth(utcNow('yyyy-10-01')))))

 

 

All of the above should get the schedule to run only on Mondays of the last week of the 1st and 3rd annual quarters.

 

Follow-up amendment to keep flow active for 6 months:

 

Since Power Automate will disable a flow that has not been run in 60 days, you need to find a way to get it to stay active until you actually want it to run twice a year.

 

I recommend adding 3 additional things to the primary trigger condition:

  • Schedule the Recurrence for Sunday and Monday
  • Add additional expression to trigger condition to allow runs on Sunday
  • Insert a Condition control into the flow - to check if the day is Sunday or Monday
  • If the day is Sunday then send you a personal email note
    • Followed by a Terminate step

Adjust the schedule to include Sunday:

wskinnermctc_0-1693509412716.png

 

Add expression to the trigger condition that allows the flow to run on Sundays: 

OR({Subex-A},{Subex-B},{Subex-C) - OR is true if either Subex-A or Subex-B or Subex-C are true

 

Subex-C: Sub expression to check if current day of week is Sunday

 

equals(dayOfWeek(convertfromUtc(utcNow(),'W. Europe Standard Time')),int(0))

 

 

dayOfWeek() expression gives a number zero 0 for the day Sunday. Sun-Sat:0-6

 

Including this with the main trigger condition OR will look like this as the entire condition:

 

OR(AND(greaterOrEquals(convertfromUtc(utcNow(),'W. Europe Standard Time'),addDays(startofMonth(utcNow('yyyy-04-01')),-7)),less(convertfromUtc(utcNow(),'W. Europe Standard Time'),startofMonth(utcNow('yyyy-04-01')))),AND(greaterOrEquals(convertfromUtc(utcNow(),'W. Europe Standard Time'),addDays(startofMonth(utcNow('yyyy-10-01')),-7)),less(convertfromUtc(utcNow(),'W. Europe Standard Time'),startofMonth(utcNow('yyyy-10-01')))),equals(dayOfWeek(convertfromUtc(utcNow(),'W. Europe Standard Time')),int(0)))

 

 

This will allow the flow to run on Sundays every week.

 

Add Condition and Terminate within the flow:

 

You can create a variable and put the exact same expression that checks the day of the week. And put that variable in a condition if equal "True" then it is Sunday. Add a terminate step that will Cancel the flow on the Yes side of the condition. 

Terminate will stop the entire flow. 

You can put your primary flow under the condition, you do not have to put it in the No side. 

 

Add Condition into Flow to Stop it from completing on SundaysAdd Condition into Flow to Stop it from completing on Sundays

 

 

Well I hope this works out for you. Put it together and let me know if you have any questions.

View solution in original post

9 REPLIES 9
wskinnermctc
Super User
Super User

I don't know what that trigger condition will do for you. It is saying if the date is less than the 8th of a month then the flow can run.


What does the date being less than the 8th do for you?

Hi. Thanks very much for getting back to me. As you can probably tell, I'm quite new to Power Automate, so I'm not sure what the trigger condition will do for my flow. I just saw it posted in another thread to a similar question. If we remove the trigger condition, and keep the main recurrence settings as they are, will the flow run first on Monday the 25th Sep, and then run every 26 weeks on the next Monday? I basically need it to run on the following dates (which are all Mondays):

  • Sep 25th 2023
  • Mar 25th 2024
  • Sep 30th 2024
  • Mar 31st 2025
  • Sep 29th 2025
  • Mar 30th 2026
  • And so on

I'm not sure if there is a solution to this. If not then I guess I'll just let it run every 26 weeks, regardless of what day it is.

Thank you!

A trigger condition is like an additional check that will determine if the flow should run or not.

 

The formula has to equal true so the flow can run.

 

So let's say I have a trigger "When a SharePoint Item is Created" it will run the flow everytime the sharepoint list has a new item added.

If I put a trigger condition "@equals(utcNow('yyyy-MM-dd'),'2023-09-14')"

 

The flow will only run when items are created when the current date equals '2023-09-14' 

So any list items created on a day other than September 14, 2023 will not trigger the flow.

 

That is a odd example, but trying to get the idea out there.

 

The expression dayOfWeek() will get the numerical day 0-6 Sun-Sat of a datetime. Monday = 1

 

The expression utcNow() will get the current full datetime stamp in UTC timezone. If the expression is utcNow('yyyy-MM-dd') then the output is formatted as only the date and no timestamp.

 

The integer int() expression converts text type to a number type. Numbers can be added or subtracted, text numbers can't be used in math.

 

So the condition "@equals(dayOfWeek(utcNow()),int(1))" is saying if the current day of the week equals 1 then true.

This example would allow a flow to trigger every Monday.

 

The difficulty with your flow is trying to narrow down a conditional formula logic that relies on something not standard such as a quarter. Months, Days, Dates, Years are all things that could be logically referenced. 

A quarter isn't as easily targeted.

 

Traditional calendar quarters are:
Dates for Q1: January 1 – March 31
Dates for Q2: April 1 – June 3
Dates for Q3: July 1 – September 30
Dates for Q4: October 1 – December 31

 

So I don't really understand what you mean by every second quarter starting in the third. I think I do, but I'm going to use the traditional quarter calendar reference along with your date list.

Sep 25th 2023
Mar 25th 2024
Sep 30th 2024
Mar 31st 2025
Sep 29th 2025
Mar 30th 2026

 

To me it looks like you want the flow to run the last Monday of the first quarter and the last Monday of the third quarter. Does that seem correct?

 

Firstly, thanks for your continued help with this query, and for the useful information on conditions. It's really appreciated.

 

You're correct in your thinking, and apologies for not being clearer. It might help if I provide some context. My department gives out a star award every 6 months for Q1 and Q3, which employees can nominate other employees for. Management wants to send an email and Teams notification to employees on the last Monday of Q1 and Q3 to let them know that the nomination window is open. Employees then have 2 weeks to submit their nominations, and following that, management has two weeks to decide the winner. The winners are announced mid-way through the Q2 and Q4 quarters.

 

From what you're saying, working with quarters might not be possible. That's fine if that's the case as I appreciate there are limitations. Do you have any suggestions for a solution that's the next best fit, based on the above context? I guess I could just configure it to send out the email every 6 months. Of course, that would mean the email and Teams notification getting sent out a week before the last Monday of the quarter in some cases, and in some cases the flow will get triggered on a weekend.

 

I'm not sure how the On these days field works. I previously selected Monday, but I'm guessing that the flow will not run at any 6-month interval that doesn't fall on a Monday, so I've disabled that parameter. A solution to tell the flow to wait until Monday when it's initiated every 6 months would be ideal, i.e., run the flow every 6 months but if it's not a Monday then wait until it is Monday before you trigger the actions. That's probably not possible though.

 

Here's my current flow:

JRyder_1-1693471404823.png

In case you're wondering, the Add to time actions are used to insert future deadline dates into the emails and Teams posts.

 

Thanks again for your assistance. Don't worry if you don't have any better solutions though as I'm conscious of taking up too much of your time on a potential pie-in-the-sky idea.

wskinnermctc
Super User
Super User

Alright this is going to be fun. I came up with a solution, but when I got done, I realized that a flow that sits for 6 months will automatically be disabled. So after my primary solution, I have a secondary that will adjust for the 6 month delay.

So think of this as 2 parts:

  • Solution to the Trigger Condition.
  • Follow-up amendment to keep flow active for 6 months. 

I'm adding extra detail so you can understand how the flow works so you can make changes or test dates.

 

Solution for Trigger Condition - Last Monday of 1st Quarter and Last Monday of 3rd Quarter:

I recommend you make another scheduled flow that sends an email to you, and adjust the dates in the trigger condition to something like next week to verify it works correctly with a small test flow.

 

OR(AND(greaterOrEquals(convertfromUtc(utcNow(),'Central Standard Time'),addDays(startofMonth(utcNow('yyyy-04-01')),-7)),less(convertfromUtc(utcNow(),'Central Standard Time'),startofMonth(utcNow('yyyy-04-01')))),AND(greaterOrEquals(convertfromUtc(utcNow(),'Central Standard Time'),addDays(startofMonth(utcNow('yyyy-10-01')),-7)),less(convertfromUtc(utcNow(),'Central Standard Time'),startofMonth(utcNow('yyyy-10-01')))))

 

 

This will be based upon the traditional calendar quarters:

  • Dates for Q1: January 1 – March 31
  • Dates for Q2: April 1 – June 30
  • Dates for Q3: July 1 – September 30
  • Dates for Q4: October 1 – December 31

General Idea:

  • Flow scheduled to run weekly every Monday
  • Get Date Range of Last Week of Quarter 1
    • Determine if Current Date is within last week of Quarter 1
  • Get Date Range of Last Week of Quarter 3
    • Determine if Current Date is within last week of Quarter 3
  • If the date is within either week range, trigger the flow.

The basic idea I am using for the Last Monday of 1st Quarter and Last Monday of 3rd quarter is by hard coding the dates beginning of the 2nd quarter (April 1st) and beginning the 4th quarter (Oct 1st).

 

Subtract 7 days from the quarter start dates and it will be the last week of the previous quarter.

April 1st - 7 days = last week of 1st quarter

October 1st - 7 days = last week of 3rd quarter

 

A key component to this is the Flow Recurrence Schedule will be set for Monday. The flow will be created to run Weekly on Monday. If there were no trigger conditions then the flow would run every Monday.

 

Schedule the Recurrence to Weekly - MondaySchedule the Recurrence to Weekly - Monday

 

Since the flow will be scheduled to run every Monday, we can use the current time as a point of reference. 

 

Every Monday the flow will ask the questions:

Q1: Is the current datetime within the last week of the 1st Quarter?

Or

Q2: Is the current datetime within the last week of the 3rd Quarter?

 

If either Q1 OR Q2 are true, then the flow needs to continue running.

 

Trigger Condition Expression:

 

This will be the full trigger condition to use:

 

OR(AND(greaterOrEquals(convertfromUtc(utcNow(),'Central Standard Time'),addDays(startofMonth(utcNow('yyyy-04-01')),-7)),less(convertfromUtc(utcNow(),'Central Standard Time'),startofMonth(utcNow('yyyy-04-01')))),AND(greaterOrEquals(convertfromUtc(utcNow(),'Central Standard Time'),addDays(startofMonth(utcNow('yyyy-10-01')),-7)),less(convertfromUtc(utcNow(),'Central Standard Time'),startofMonth(utcNow('yyyy-10-01')))))

 

You need to replace 'Central Standard Time' with your time zone.

 

This trigger condition uses these expressions:

The full expression above is basically 2 identical sub expressions with the only difference being that one is hard coded for April 1st and the other is hard coded for October 1st. The OR() wraps both expressions and will return true if either of the sub expressions return a value of true.

OR({Subex-A},{Subex-B}) - OR is true if either Subex-A or Subex-B are true

 

Subex-A: Sub expression to check if current date is within last week of 1st Quarter (April 1st - 7 days): 

 

AND(greaterOrEquals(convertfromUtc(utcNow(),'Central Standard Time'),addDays(startofMonth(utcNow('yyyy-04-01')),-7)),less(convertfromUtc(utcNow(),'Central Standard Time'),startofMonth(utcNow('yyyy-04-01'))))

 

 

Subex-B: Sub expression to check if current date is within last week of 3rd Quarter (Oct 1st - 7 days):

 

AND(greaterOrEquals(convertfromUtc(utcNow(),'Central Standard Time'),addDays(startofMonth(utcNow('yyyy-10-01')),-7)),less(convertfromUtc(utcNow(),'Central Standard Time'),startofMonth(utcNow('yyyy-10-01'))))

 

 

I'll break down the expression using the Subex-A as an example:

  • AND({1subex}, {2subex}) - AND is true if both 1subex and 2subex are true

1subex: asks if the current datetime is greater than or equals April 1st of the current year subtracted by 7 days

 

greaterOrEquals(convertfromUtc(utcNow(),'Central Standard Time'),addDays(startofMonth(utcNow('yyyy-04-01')),-7))

 

 

2subex: asks if the current datetime is less than April 1st of the current year

 

less(convertfromUtc(utcNow(),'Central Standard Time'),startofMonth(utcNow('yyyy-04-01')))

 

 

Time Zone Conversion

For this to work correctly you need to convert the time zone of the utcNow() into your local time.

 

First part will be dealing with the current datetime when the flow is scheduled. It will be scheduled for 9AM Monday for your timezone. Since we are using utcNow() to get the current datetime, we need to convert that into your timezone by using convertfromUtc(utcNow(),'{your time zone}') expression.

 

Since I am in United States Central Time, I would use:

convertfromUtc(utcNow(),'Central Standard Time')

 

You can find the name to use for your time zone by checking the Windows Default Time Zones page. Or you can just get an example flow step "Convert time zone" and in the action settings select the Peek Code to look and see what the name would be for your timezone.

How to identify the text timezone needed for convertfromUtc() expressionHow to identify the text timezone needed for convertfromUtc() expression

 

Recurrence Example:

This would be if you are located in the Berlin time zone:

Recurrence - Berlin TIme ZoneRecurrence - Berlin TIme Zone

Recurrence Settings - Berlin Time ZoneRecurrence Settings - Berlin Time Zone

 

This is the expression that would be used in the trigger condition for Berlin time zone which is written as 'W. Europe Standard Time' for the conversion.

 

OR(AND(greaterOrEquals(convertfromUtc(utcNow(),'W. Europe Standard Time'),addDays(startofMonth(utcNow('yyyy-04-01')),-7)),less(convertfromUtc(utcNow(),'W. Europe Standard Time'),startofMonth(utcNow('yyyy-04-01')))),AND(greaterOrEquals(convertfromUtc(utcNow(),'W. Europe Standard Time'),addDays(startofMonth(utcNow('yyyy-10-01')),-7)),less(convertfromUtc(utcNow(),'W. Europe Standard Time'),startofMonth(utcNow('yyyy-10-01')))))

 

 

All of the above should get the schedule to run only on Mondays of the last week of the 1st and 3rd annual quarters.

 

Follow-up amendment to keep flow active for 6 months:

 

Since Power Automate will disable a flow that has not been run in 60 days, you need to find a way to get it to stay active until you actually want it to run twice a year.

 

I recommend adding 3 additional things to the primary trigger condition:

  • Schedule the Recurrence for Sunday and Monday
  • Add additional expression to trigger condition to allow runs on Sunday
  • Insert a Condition control into the flow - to check if the day is Sunday or Monday
  • If the day is Sunday then send you a personal email note
    • Followed by a Terminate step

Adjust the schedule to include Sunday:

wskinnermctc_0-1693509412716.png

 

Add expression to the trigger condition that allows the flow to run on Sundays: 

OR({Subex-A},{Subex-B},{Subex-C) - OR is true if either Subex-A or Subex-B or Subex-C are true

 

Subex-C: Sub expression to check if current day of week is Sunday

 

equals(dayOfWeek(convertfromUtc(utcNow(),'W. Europe Standard Time')),int(0))

 

 

dayOfWeek() expression gives a number zero 0 for the day Sunday. Sun-Sat:0-6

 

Including this with the main trigger condition OR will look like this as the entire condition:

 

OR(AND(greaterOrEquals(convertfromUtc(utcNow(),'W. Europe Standard Time'),addDays(startofMonth(utcNow('yyyy-04-01')),-7)),less(convertfromUtc(utcNow(),'W. Europe Standard Time'),startofMonth(utcNow('yyyy-04-01')))),AND(greaterOrEquals(convertfromUtc(utcNow(),'W. Europe Standard Time'),addDays(startofMonth(utcNow('yyyy-10-01')),-7)),less(convertfromUtc(utcNow(),'W. Europe Standard Time'),startofMonth(utcNow('yyyy-10-01')))),equals(dayOfWeek(convertfromUtc(utcNow(),'W. Europe Standard Time')),int(0)))

 

 

This will allow the flow to run on Sundays every week.

 

Add Condition and Terminate within the flow:

 

You can create a variable and put the exact same expression that checks the day of the week. And put that variable in a condition if equal "True" then it is Sunday. Add a terminate step that will Cancel the flow on the Yes side of the condition. 

Terminate will stop the entire flow. 

You can put your primary flow under the condition, you do not have to put it in the No side. 

 

Add Condition into Flow to Stop it from completing on SundaysAdd Condition into Flow to Stop it from completing on Sundays

 

 

Well I hope this works out for you. Put it together and let me know if you have any questions.

Genius! You actually worked out a solution. I'm really impressed with the logic that you've applied. Yesterday, I was working out how to relay the bad news to management. Today, I am looking forward to delivering the solution. 

 

I'm going to have fun putting this together today. It all makes sense, so I don't see any issues at this point, but thanks for offering to answer any further questions if I run into any problems. In the meantime, I am happy to mark this as solved.

 

I can't tell you how much I appreciate your help with this, especially with you going the extra mile to explain things in detail. I really love logic and problem-solving, but I would never have got anywhere close to a solution by myself. Thank you so much! If you have a Buy Me a Coffee link, or something similar, let me know. And if I remember then I'll circle back to this in 6 months time to confirm its success.

Hope it helps! If it was me, I would make another simple flow and work on the dates to verify how it working with the Recurrence scheduler. Like change the date range checker to be September 1st and add 7 days. See if it runs on Monday.

(I kinda don't like the scheduler because it is a little confusing how it works. Like it asks for datetime zone, but then start time doesn't seem to do what I want, so I always leave it blank.)

 

At the least, you could not use the expression in the trigger condition. Instead of using the trigger condition, put the expression into the flow in a similar way that I did with the Sunday checker.

 

If you did it that way, then it would literally run every Monday, but you have a condition to check if the full expression is true, if it is, run the primary flow, if not, terminate.

NO Trigger Condition - The expression that checks the correct Monday will be in the flowNO Trigger Condition - The expression that checks the correct Monday will be in the flow

 

The expression is the main solution expression that just checks the Monday, it doesn't have the Sunday day of week expression included since it wouldn't be necessary:

OR(AND(greaterOrEquals(convertfromUtc(utcNow(),'Eastern Standard Time'),addDays(startofMonth(utcNow('yyyy-04-01')),-7)),less(convertfromUtc(utcNow(),'Eastern Standard Time'),startofMonth(utcNow('yyyy-04-01')))),AND(greaterOrEquals(convertfromUtc(utcNow(),'Eastern Standard Time'),addDays(startofMonth(utcNow('yyyy-10-01')),-7)),less(convertfromUtc(utcNow(),'Eastern Standard Time'),startofMonth(utcNow('yyyy-10-01')))))

If you did it this way, you do not need the Sunday checker because the flow will be running every Monday. No need to worry about it being disabled for inactivity.

 

Honestly, I like this approach more.

It is transparent of what is happening. And depending on your Power Automate subscription plan, it isn't a big deal to trigger this flow, since it is not using up a lot of api just to check a condition and then terminate the flow. If you have to pay per flow run or something, then the trigger condition will save you unnecessary flow runs.

But we are talking about 1 flow run per week. So even that's not a huge deal.

 

(Sadly I did not answer this post within 24 hours, so I don't get fake internet points that count towards the Summer of Solutions Contest dashboard. 😭😭😭 But knowing my solution found a good home makes it all worth it! 😊)

 

Good luck!

It definitely helps! My only concern is that management will think that I'm a PA expert now, and I'll start receiving more and more complex flow requests. I guess I'll worry about that if it comes to it, although I've already told one of the managers that I've had to recruit an expert to help with this.

 

I also really like your revised solution of having the expression within the flow. If I get knocked over by a bus then at least someone will be able to see what's going on more easily. I'm going with your revised version now so thanks very much. I'll be sure to test everything out before we go live.

 

I'm really sorry to hear that you won't get any "fake internet points" as a result of this. I'm absolutely blown away by how much effort you've put into helping a stranger out. Rest assured that your effort here will make a big difference to a lot of people in my company. They're actually really excited to get this flow up and running. And of course, I'll be able to use what you've taught me here to create similar flows, so your spirit will live on. Once you start automating tasks, people start to wonder what other tasks can be automated.

 

Once again, thank you so much for your assistance. I could not have asked for better help, and I'll make an effort to remember to let you know how the flow gets on. Thanks!

Great news! Just checking in as promised, and it looks like the notification flow is working perfectly. Users received their second notification today, six months after the first one and on the correct day. Thanks again for your excellent work on this solution!

Helpful resources

Announcements

Tuesday Tip | How to Report Spam in Our Community

It's time for another TUESDAY TIPS, your weekly connection with the most insightful tips and tricks that empower both newcomers and veterans in the Power Platform Community! Every Tuesday, we bring you a curated selection of the finest advice, distilled from the resources and tools in the Community. Whether you’re a seasoned member or just getting started, Tuesday Tips are the perfect compass guiding you across the dynamic landscape of the Power Platform Community.   As our community family expands each week, we revisit our essential tools, tips, and tricks to ensure you’re well-versed in the community’s pulse. Keep an eye on the News & Announcements for your weekly Tuesday Tips—you never know what you may learn!   Today's Tip: How to Report Spam in Our Community We strive to maintain a professional and helpful community, and part of that effort involves keeping our platform free of spam. If you encounter a post that you believe is spam, please follow these steps to report it: Locate the Post: Find the post in question within the community.Kebab Menu: Click on the "Kebab" menu | 3 Dots, on the top right of the post.Report Inappropriate Content: Select "Report Inappropriate Content" from the menu.Submit Report: Fill out any necessary details on the form and submit your report.   Our community team will review the report and take appropriate action to ensure our community remains a valuable resource for everyone.   Thank you for helping us keep the community clean and useful!

Tuesday Tip | How to Get Community Support

It's time for another Tuesday Tip, your weekly connection with the most insightful tips and tricks that empower both newcomers and veterans in the Power Platform Community! Every Tuesday, we bring you a curated selection of the finest advice, distilled from the resources and tools in the Community. Whether you’re a seasoned member or just getting started, Tuesday Tips are the perfect compass guiding you across the dynamic landscape of the Power Platform Community.       This Week: All About Community Support Whether you're a seasoned community veteran or just getting started, you may need a bit of help from time to time! If you need to share feedback with the Community Engagement team about the community or are looking for ways we can assist you with user groups, events, or something else, Community Support is the place to start.   Community Support is part of every one of our communities, accessible to all our community members.   Within each community's Community Support page, you'll find three distinct areas, each with a different focus to help you when you need support from us most. Power Apps: https://powerusers.microsoft.com/t5/Community-Support/ct-p/pa_community_support Power Automate: https://powerusers.microsoft.com/t5/Community-Support/ct-p/mpa_community_support Power Pages: https://powerusers.microsoft.com/t5/Community-Support/ct-p/mpp_community_support Copilot Studio: https://powerusers.microsoft.com/t5/Community-Support/ct-p/pva_community-support   Community Support Form If you need more assistance, you can reach out to the Community Team via the Community support form. Choose the type of support you require and fill in the form accordingly. We will respond to you promptly.    Thank you for being an active part of our community. Your contributions make a difference!   Best Regards, The Community Management Team

Community Roundup: A Look Back at Our Last 10 Tuesday Tips

As we continue to grow and learn together, it's important to reflect on the valuable insights we've shared. For today's #TuesdayTip, we're excited to take a moment to look back at the last 10 tips we've shared in case you missed any or want to revisit them. Thanks for your incredible support for this series--we're so glad it was able to help so many of you navigate your community experience!   Getting Started in the Community An overview of everything you need to know about navigating the community on one page!  Community Links: ○ Power Apps ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Community Ranks and YOU Have you ever wondered how your fellow community members ascend the ranks within our community? We explain everything about ranks and how to achieve points so you can climb up in the rankings! Community Links: ○ Power Apps ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Powering Up Your Community Profile Your Community User Profile is how the Community knows you--so it's essential that it works the way you need it to! From changing your username to updating contact information, this Knowledge Base Article is your best resource for powering up your profile. Community Links: ○ Power Apps ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Community Blogs--A Great Place to Start There's so much you'll discover in the Community Blogs, and we hope you'll check them out today!  Community Links: ○ Power Apps ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Unlocking Community Achievements and Earning Badges Across the Communities, you'll see badges on users profile that recognize and reward their engagement and contributions. Check out some details on Community badges--and find out more in the detailed link at the end of the article! Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Blogging in the Community Interested in blogging? Everything you need to know on writing blogs in our four communities! Get started blogging across the Power Platform communities today! Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Subscriptions & Notifications We don't want you to miss a thing in the community! Read all about how to subscribe to sections of our forums and how to setup your notifications! Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Getting Started with Private Messages & Macros Do you want to enhance your communication in the Community and streamline your interactions? One of the best ways to do this is to ensure you are using Private Messaging--and the ever-handy macros that are available to you as a Community member! Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Community User Groups Learn everything about being part of, starting, or leading a User Group in the Power Platform Community. Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Update Your Community Profile Today! Keep your community profile up to date which is essential for staying connected and engaged with the community. Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Thank you for being an integral part of our journey.   Here's to many more Tuesday Tips as we pave the way for a brighter, more connected future! As always, watch the News & Announcements for the next set of tips, coming soon!    

Hear what's next for the Power Up Program

Hear from Principal Program Manager, Dimpi Gandhi, to discover the latest enhancements to the Microsoft #PowerUpProgram, including a new accelerated video-based curriculum crafted with the expertise of Microsoft MVPs, Rory Neary and Charlie Phipps-Bennett. If you’d like to hear what’s coming next, click the link below to sign up today! https://aka.ms/PowerUp  

Tuesday Tip: Getting Started with Private Messages & Macros

Welcome to TUESDAY TIPS, your weekly connection with the most insightful tips and tricks that empower both newcomers and veterans in the Power Platform Community! Every Tuesday, we bring you a curated selection of the finest advice, distilled from the resources and tools in the Community. Whether you’re a seasoned member or just getting started, Tuesday Tips are the perfect compass guiding you across the dynamic landscape of the Power Platform Community.   As our community family expands each week, we revisit our essential tools, tips, and tricks to ensure you’re well-versed in the community’s pulse. Keep an eye on the News & Announcements for your weekly Tuesday Tips—you never know what you may learn!   This Week's Tip: Private Messaging & Macros in Power Apps Community   Do you want to enhance your communication in the Community and streamline your interactions? One of the best ways to do this is to ensure you are using Private Messaging--and the ever-handy macros that are available to you as a Community member!   Our Knowledge Base article about private messaging and macros is the best place to find out more. Check it out today and discover some key tips and tricks when it comes to messages and macros:   Private Messaging: Learn how to enable private messages in your community profile and ensure you’re connected with other community membersMacros Explained: Discover the convenience of macros—prewritten text snippets that save time when posting in forums or sending private messagesCreating Macros: Follow simple steps to create your own macros for efficient communication within the Power Apps CommunityUsage Guide: Understand how to apply macros in posts and private messages, enhancing your interaction with the Community For detailed instructions and more information, visit the full page in your community today:Power Apps: Enabling Private Messaging & How to Use Macros (Power Apps)Power Automate: Enabling Private Messaging & How to Use Macros (Power Automate)  Copilot Studio: Enabling Private Messaging &How to Use Macros (Copilot Studio) Power Pages: Enabling Private Messaging & How to Use Macros (Power Pages)

Tuesday Tip: Subscriptions & Notifications

TUESDAY TIPS are our way of communicating helpful things we've learned or shared that have helped members of the Community. Whether you're just getting started or you're a seasoned pro, Tuesday Tips will help you know where to go, what to look for, and navigate your way through the ever-growing--and ever-changing--world of the Power Platform Community! We cover basics about the Community, provide a few "insider tips" to make your experience even better, and share best practices gleaned from our most active community members and Super Users.   With so many new Community members joining us each week, we'll also review a few of our "best practices" so you know just "how" the Community works, so make sure to watch the News & Announcements each week for the latest and greatest Tuesday Tips!   This Week: All About Subscriptions & Notifications We don't want you to a miss a thing in the Community! The best way to make sure you know what's going on in the News & Announcements, to blogs you follow, or forums and galleries you're interested in is to subscribe! These subscriptions ensure you receive automated messages about the most recent posts and replies. Even better, there are multiple ways you can subscribe to content and boards in the community! (Please note: if you have created an AAD (Azure Active Directory) account you won't be able to receive e-mail notifications.)   Subscribing to a Category  When you're looking at the entire category, select from the Options drop down and choose Subscribe.     You can then choose to Subscribe to all of the boards or select only the boards you want to receive notifications. When you're satisfied with your choices, click Save.     Subscribing to a Topic You can also subscribe to a single topic by clicking Subscribe from the Options drop down menu, while you are viewing the topic or in the General board overview, respectively.     Subscribing to a Label Find the labels at the bottom left of a post.From a particular post with a label, click on the label to filter by that label. This opens a window containing a list of posts with the label you have selected. Click Subscribe.     Note: You can only subscribe to a label at the board level. If you subscribe to a label named 'Copilot' at board #1, it will not automatically subscribe you to an identically named label at board #2. You will have to subscribe twice, once at each board.   Bookmarks Just like you can subscribe to topics and categories, you can also bookmark topics and boards from the same menus! Simply go to the Topic Options drop down menu to bookmark a topic or the Options drop down to bookmark a board. The difference between subscribing and bookmarking is that subscriptions provide you with notifications, whereas bookmarks provide you a static way of easily accessing your favorite boards from the My subscriptions area.   Managing & Viewing Your Subscriptions & Bookmarks To manage your subscriptions, click on your avatar and select My subscriptions from the drop-down menu.     From the Subscriptions & Notifications tab, you can manage your subscriptions, including your e-mail subscription options, your bookmarks, your notification settings, and your email notification format.     You can see a list of all your subscriptions and bookmarks and choose which ones to delete, either individually or in bulk, by checking multiple boxes.     A Note on Following Friends on Mobile Adding someone as a friend or selecting Follow in the mobile view does not allow you to subscribe to their activity feed. You will merely be able to see your friends’ biography, other personal information, or online status, and send messages more quickly by choosing who to send the message to from a list, as opposed to having to search by username.

Users online (3,094)