Formula triggers based on the NOW() function are doable (I’ve been using one for about eight months to refresh my planning system daily) but the documentation for that function states:
This function updates when the formula is recalculated, when a base is loaded, or otherwise roughly every 15 minutes when a base is open. If the base is closed, it will update approximately every hour only when the base has time-dependent automation triggers or actions, or sync dependencies.
In other words, the timing might be precise, or it might be delayed. In my experience, it’ll be on the nose for a few days, then it’ll be nearly an hour late on one day. It’s impossible to predict. It’s also worth noting that NOW() is calculated based on GMT, not your local timezone, so you might need to adjust the formula. In my case, I want my daily automation to trigger around midnight. My timezone is GMT-8, so my formula is:
HOUR(NOW()) >= 8
You can also nix the IF() function around your date comparison because the comparison itself will return 1 or 0 (true or false) appropriately.
{Date&Time} <= NOW()
If you want precise timing, no. Unfortunately that’s not currently possible when using the NOW() function to drive the automation. Even when using something like Integromat, it won’t check more frequently than every 5 minutes, but it might be more reliable than an automation solution for now.