
Turned my client reporting into one morning email that flags what broke overnight
It starts with one scheduled job that runs at 6 a.m., before I open anything. Every automated task in my business writes a single line to a shared table when it finishes. That log records which job ran, when it ran, and whether it succeeded. It is the foundation of the whole system because I am checking for silence instead of waiting for something to alert me. 1. The 6 a.m. job reads the log and lists anything that was supposed to run in the last 24 hours but never checked in. 2. It pulls each client’s spend and traffic directly from the ad and analytics platforms. 3. It calculates where spend should be for that day of the month: monthly budget divided by the number of days in the month, multiplied by the number of days elapsed. Anything more than about 15 percent off pace is flagged. Accounts that return an authentication error are also flagged, which helps catch a dead access token before the client does. 4. It sends all of that to Claude along with a short brief on each client. Claude writes one email with broken items at the top in plain English, followed by a single line for each account that is fine. 5. The same table feeds the live dashboards clients use, so a monthly report is a link I already have rather than something I need to assemble. To rebuild this today without much code, I would start with the smallest version: 1. Create a spreadsheet where each automation logs a row. 2. Add one scheduled script that emails me whatever is missing. 3. Use a Claude prompt to turn that raw list into the email. 4. Add the spend checks once the heartbeat is working. Alerting on silence is the part that does the real work.
0 comments