Sign in to Community
Sign in to view all badges
For the first case, just use the scheduler, by selecting monthly, you have first Monday option
For your second case: if your calendar is accessible through API, you can do some api call to it and parse the response if it's a business day or not.
other choice instead of running permanently a scheduler is to calculate the condition from an external system and trigger the workflow with a signal.