Use the Flow recurrence trigger to run flows only on weekdays

Running a flow on every weekday or certain weekdays

Rather than using Flow’s recurrence trigger with a frequency of “days” combined with switch cases/conditions, you can actually just use the “Week” frequency time unit and select days from a drop-down with no further effort required.

For weekdays, just select Monday-Friday. Or if you just want MWF, you could do that as well.

A techie way to do it

The alternative is to initialize a variable such as

@and(greater(dayOfWeek(utcNow()),0),less(dayOfWeek(utcNow()),7))

with a switch case to determine if today’s date is, in fact, between 0 (Sunday) and 7 (Saturday).

Compare today’s date with holiday calendar

So that being said, the limitation of using the “Week” frequency for weekdays might be if you want to prevent it from running on holidays when nobody is in the office even if it is, in fact, a Monday. In that case, you could add a condition that checks to see if @utcNow() matches items from a SharePoint list (holiday calendar?).

  1. Initialize variable (integer) value 0
  2. Get items from SP list (calendar)
    1. You could add an ODATA filter in the Get items step to only filter to items with Start times greater than today
  3. Apply to each –> IF utcNow()=SP item, THEN increment variable by 1, ELSE nothing
    1. Use the expression builder to formatDateTime both dates to be sure they match when being compared
  4. IF variable is greater than 0, do nothing (don’t run), else run the rest of the Flow

One Reply to “Use the Flow recurrence trigger to run flows only on weekdays”

  1. “…with a switch case to determine if today’s date is, in fact, between 0 (Sunday) and 7 (Saturday).” If Sunday is 0, Saturday would be 6. Or is Sunday 1?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.