How can I create a flow that takes different paths depending on the holiday day?
In this example, we use the Thanksgiving holiday:
- To get the fourth Thursday of November: GetDayOfWeekOccurrence(5, 4, Year(GetCurrentDateTimeUtc()), 11)
- To get the day after Thanksgiving (which may not always be the fourth Friday): AddDays(GetDayOfWeekOccurrence(5, 4, Year(GetCurrentDateTimeUtc()), 11), 1)
- To see if today is the same day as the specified day:
- Save the specified day as a datetime variable like Task.thanksgiving.
- Use a decision action and compare the today’s year, month, & day to Task.thanksgiving. You might also want to check the hour/minutes if that’s needed.
- Save the specified day as a datetime variable like Task.thanksgiving.
For more details, download and import this Thanksgiving Schedule Example into Architect.
Holiday* | Calculation |
---|---|
New Year’s Day | MakeDateTime(Year(GetCurrentDateTimeUtc()), 1, 1) |
Martin Luther King, Jr. Day | GetDayOfWeekOccurrence(2, 3, Year(GetCurrentDateTimeUtc()), 1) |
Groundhog Day | MakeDateTime(Year(GetCurrentDateTimeUtc()), 2, 2) |
President’s Day | GetDayOfWeekOccurrence(2, 3, Year(GetCurrentDateTimeUtc()), 2) |
Daylight saving’s starts | GetDayOfWeekOccurrence(1, 2, Year(GetCurrentDateTimeUtc()), 3, 2, 0, 0) |
Easter | Cannot be calculated–use a list |
Tax Day (approximate only–IRS can change the date) | MakeDateTime(Year(GetCurrentDateTimeUtc()), 4, 15) |
Mother’s Day | GetDayOfWeekOccurrence(1, 2, Year(GetCurrentDateTimeUtc()), 5) |
Memorial Day | GetDayOfWeekOccurrence(2, -1, Year(GetCurrentDateTimeUtc()), 5) |
Father’s Day | GetDayOfWeekOccurrence(1, 3, Year(GetCurrentDateTimeUtc()), 6) |
Independence Day | MakeDateTime(Year(GetCurrentDateTimeUtc()), 7, 4) |
Labor Day | GetDayOfWeekOccurrence(2, 1, Year(GetCurrentDateTimeUtc()), 9) |
Halloween | MakeDateTime(Year(GetCurrentDateTimeUtc()), 10, 31) |
Daylight Saving’s Ends | GetDayOfWeekOccurrence(1, 1, Year(GetCurrentDateTimeUtc()), 11, 2, 0, 0) |
Election Day | AddDays(GetDayOfWeekOccurrence(2, 1, Year(GetCurrentDateTimeUtc()), 11), 1) |
Veteran’s Day | MakeDateTime(Year(GetCurrentDateTimeUtc()), 11, 11) |
Thanksgiving | GetDayOfWeekOccurrence(5, 4, Year(GetCurrentDateTimeUtc()), 11) |
Black Friday | AddDays(GetDayOfWeekOccurrence(5, 4, Year(GetCurrentDateTimeUtc()), 11), 1) |
Cyber Monday | AddDays(GetDayOfWeekOccurrence(5, 4, Year(GetCurrentDateTimeUtc()), 11), 4) |
Christmas Eve | MakeDateTime(Year(GetCurrentDateTimeUtc()), 12, 24) |
Christmas Day | MakeDateTime(Year(GetCurrentDateTimeUtc()), 12, 25) |
New Year’s Eve | MakeDateTime(Year(GetCurrentDateTimeUtc()), 12, 31) |
*Primarily US holiday examples