I do this type of thing for the automatic rebilling of my subscribers for one of my SaaS businesses. Search the forum, and YouTube for the term Recurring Scheduled workflows. This will teach you how to set up automatic events that can do just about anything from the back end of your app.
For example, you can set up a workflow that runs once per day, and when it runs it checks whether a customer should receive an email notification based on criteria you can construct. It may check the rebilling date of the customer (which might exist as a field in your Customer Thing) and check the question “is the current date 10 days before this customer’s rebill date?” If YES then send email, if no, then skip to the next customer and repeat.