Overall not too hard actually.
So you’ll likely have to create your own POST call in the API connector to allow you to use the delivery params that allow things to be sent after a time or at a specific time.
https://documentation.onesignal.com/reference/create-notification#delivery
When a user completes an action requiring a notification OR you need to send recurring daily things you will schedule an api workflow that creates a database record in the “notifications” tab. Make sure you save a status for queued, sent, clicked. And a URL they are expected to visit upon click.
Throw a conditional for notifications user allowed days (text list) is current date and time formatted as (ddd) & current date and time formatted as Unix >= arbitrary date and time notifications user allowed send time Unix. + date.
If passed schedule the send with api above
For the appending page you will actually create a page with the url as (domain)/notification/unique id
The page data type is notification.
So the notification link you send isn’t where you actually want them to go it’s this forwarding page.
On page load make changes to current page notification, status clicked.
→ go to external URL → current page url expected to visit saved above.
You can also do a click count.
For time only, id personally just toss a drop down with text values in 15 min increments and left them choose from that. (24 hr time will work best)