Hi,
I am looking to add a condition to one of my existing flows to only run if an email arrives on the last Monday of the month. This should look at the date in the Eastern time zone, if that helps. As I mentioned, I already have a flow to create my attachments in SharePoint, so that part is done.
Any assistance is greatly appreciated!
Anybody have any ideas?
Hi @ScottR-MT,
I can't think of a suitable Expression here to directly determine whether the current mail receiving date is the last Monday of this month.
However, consider using a combination of Condition and Expression to determine if the current date is the expected one, and if so, execute the following action.
Expression:
Condition:
dayOfWeek(triggerBody()?['DateTimeReceived'])
lastDay:
ticks(formatDateTime(adddays(concat(add(int(formatDateTime(utcNow(), 'yyyy')),if(equals(formatDateTime(utcNow(), 'MM'), '12'), 1, 0) ),'-',add(int(formatDateTime(utcNow(), 'MM')),if(equals(formatDateTime(utcNow(), 'MM'), '12'), -11, 1) ),'-01T08:00Z'),-1),'yyyy-MM-ddTHH:mm'))
ReceivedTime:
ticks(triggerBody()?['DateTimeReceived'])
dayDiff:
div(sub(outputs('lastDay'),outputs('ReceivedTime')),864000000000)
Condition 2:
div(sub(outputs('lastDay'),outputs('ReceivedTime')),864000000000)
Image reference:
You could consider testing this Flow on Monday.
Please take a try.
Best Regards,
Hi @ScottR-MT ,
Any updates?
Regards,