The short version: A Power Automate flow that runs every morning can check each client's last service date against how often they're due and send a rebooking message before they think to call. Built on a SharePoint or Dataverse table plus the Bookings page you already have, this costs nothing extra to run.
One table with a due date, one flow that checks it
Every recurring client needs exactly two fields beyond their contact details: the date of their last service, and how often they're due, every four weeks for a lawn round, every quarter for pest control. A scheduled Power Automate flow runs once a day, works out who falls inside the rebooking window, and sends a message with a link to your Bookings page so they can confirm a slot in one tap. For a solo operator, that table lives happily in a SharePoint list at no extra cost; a firm running several service types or crews gets more out of a Dataverse table, because a Power Apps view can then show who's due this week across every crew, not just one list sorted by date.
The trigger is the important part, not the message. A once-a-day check on a due date does the entire job of "remembering", and it does it whether or not anyone in the office thought about it that morning.
Lapsed customers get a different message, not a harder push
Run a second threshold off the same table for anyone well past due, not just due, and change the tone rather than the mechanism. A client who is two weeks overdue gets a routine reminder; a client who is six months overdue gets a message that acknowledges the gap honestly, something closer to "we haven't been out in a while, keen to sort a time" than a rebooking prompt dressed up the same as everyone else's. Same flow, same trigger logic, a different message template picked by how overdue the record actually is.
When it is not worth building
If you have a handful of regulars and you already know Tuesday is Mrs Patel's lawn without looking it up, this is solving nothing. It earns its keep once the client list is big enough that "who's due this week" is a real question, or once jobs genuinely happen on an irregular enough schedule that a phone call is more reliable than a fixed interval anyway, in which case build the reminder around the next confirmed booking instead of a calculated due date.
Common questions
How do I remind customers when their service is due again?
Store the last service date and how often they're due, every four weeks, every eight, on one record per client, and a scheduled Power Automate flow checks that against today's date each morning. When a client falls inside the window, the reminder goes out on its own.
What's a good way to bring lapsed customers back without chasing them myself?
Run a second, longer threshold on the same flow, someone who is well overdue rather than just due, and send a different message: acknowledge the gap rather than pretending it is a routine reminder. A win-back note reads better than a rebooking prompt when it has been six months, not six weeks.
How do I set up reminders for recurring jobs without doing it by hand?
The manual version is a spreadsheet you have to remember to check. The automated version is a flow on a daily schedule doing that check for you, so the reminder goes out whether or not you thought about it that morning.
Regulars slipping through without a call?
Tell me your service interval and roughly how many regulars you run. Book a free 30-minute call and I will scope the table and the rebooking flow.