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
