How to set a Scheduled Flow to run on specific dates of a month?

Introduction

In this blog, we are going to learn how to set a scheduled flow to run on specific dates of a month.

We all know that a scheduled flow can be set to run based on a day/weekly at a specific time of the day. But making it run only at particular dates of a month is challenging and many of us don’t know that.

Example

Suppose we have a scheduled flow which we want to run on 1st, 15, 16, 30, or 31 (end of the month) and repeat every month.

Solution

Step 1:  Use Recurrence as a trigger and set it to trigger once a day, click on three dots to the left then click on Settings.

Step 2:  Set the trigger conditions to
@or(equals(utcNow('dd'), '01'),equals(utcNow('dd'), '15'),equals(utcNow('dd'), '16'),equals(utcNow('dd'), '30'),equals(utcNow('dd'), '31'))

That’s all, now your flow will run at 1st, 15th, 16th, 30th, or 31st every month at 10 am.

View Comments

  • Hi! Thank you for your post!
    I'm getting this erro message with this solution: "Cannot read properties of undefined (reading 'properties')"
    Everything is like your post. Can you help me?

    • Hi, have you entered the formula correctly on the trigger condition?

      @or(equals(utcNow('dd'), '01'),equals(utcNow('dd'), '15'),equals(utcNow('dd'), '16'),equals(utcNow('dd'), '30'),equals(utcNow('dd'), '31'))
      
  • I am also getting this error “Cannot read properties of undefined (reading ‘properties’)”. Please help!
    Thank you!

  • This hard code is not working for me...also i need to run job on every month on specific date and it should check for specific email in the inbox from start of month to the current triggering date? Is there any search query for this problem..Thanks

  • Hey, I stumbled on the same business case couple of days ago and this command worked for me:
    @equals(int(formatDateTime(utcNow(),'dd')),23)
    First, I convert a date to number and then make a equal sign. Don't remember to add "@" at the very beginning