For specific time-of-day triggers, I use the HOUR() function wrapped around NOW(). However, keep in mind that this returns the current hour in GMT, not in your local timezone, so you’ll need to compensate in your formula calculation. For example, I have a field that triggers an automation to run every day at midnight. My timezone is GMT -8, so the formula in this field is:
HOUR(NOW()) = 8
That outputs a 1 when it’s midnight in my local time, and 0 all other hours. The automation trigger is “When record matches conditions”, with the condition being that this formula field contains a 1. It switches from 0 to 1 approximately at midnight, then resets to 0 for all other hours, so it fires once a day.
Why only approximately? This has to do with how frequently NOW() is refreshed. There have been discussions elsewhere in the forum about this, but long story short, it varies. :slightly_smiling_face: Here’s a screenshot showing the most recent runs of this daily automation that I mentioned above (click to enlarge):

I’m fine with the fluctuation because my automation isn’t time-sensitive. Whether or not that variance will work for you is something only you can determine.
Anyway, to combine this with a specific day of the month is pretty easy. If I wanted my automation to run at 8am on the 15th, my formula (again accounting for the 8-hour time difference in my timezone) would be this:
AND(HOUR(NOW()) = 16, DAY(NOW()) = 15)
With that, you wouldn’t need a custom view, as you could also use the “When record matches conditions” trigger to see when this formula outputs a 1, which will only be at 8am on the 15th of each month.