It’s not something I’m currently using, however, if you wanted to do it, you would have all the business holidays in either a database or spreadsheet. (I would create a shared workflow that can be reused for this)
You would pass it the current date (Now), and it would return True or False if it is a holiday by looking at the data. For example, if it’s in Excel, you would Read Range and maybe just use some LINQ on the column, like:
isHoliday <as Boolean> = dtHolidays.AsEnumerable.Where(Function(d) CDate(d("Date").ToString.Trim).ToString("MM/dd/yyyy") = Now.ToString("MM/dd/yyyy") ).Count > 0
For database, you would probably use like Execute Query or something.
Once you know if it’s a holiday, then simply use a Decision or If condition using that Boolean to skip the process and log the reasoning.
Additionally, you would need to schedule it daily probably. Ideally, you would want some kind of trigger like a file being available or set of data that tells it to process or not. Then, you technically don’t need to check if it is a holiday. However, if your preferred method is to check if it’s a holiday and to run the next day, I think you would need to build in a variable that contains the day to process (like the Nth day of the month or every so many weeks), then that will be the day you send over to check if it is a holiday —if that day is a holiday, then it will check the same day the following day and know that it was a holiday, so to process that day instead. That part might be a little more tricky.
I probably just confused you on the last part.
EDIT: Corrected expression above to check if date is in the holiday spreadsheet, because I was missing the column name or index. (ie d(“Date”) )