This US investment fund had a written meeting policy, not just a preference. No meetings on Fridays. Nothing before noon or after 6 PM Eastern time. Monday reserved for meetings inside the firm, Tuesday for meetings with outside parties. A 30-minute gap required between any two meetings scheduled back to back. Daily caps on how many meetings could land on a single day. The rules applied across three separate calendars: Business, Fund, and Personal.
A written policy is only as good as someone actually checking it. Enforcing this one manually meant reviewing all three calendars on a regular basis, catching a Friday meeting or an overloaded Tuesday after it had already been booked, then following up to get it moved. The review always ran behind the calendar itself. A violation could sit there for days before anyone caught it.
Two systems, not one
We built two n8n systems working together instead of a single script trying to do everything. A real-time monitor checks all three calendars every 5 minutes, compares every event against the full rule set, and posts an instant alert the moment something breaks a rule, before the meeting has a chance to sit unnoticed. A separate daily audit runs each morning, does a fuller pass across the coming week, and calls an AI model to draft a rescheduling suggestion for anything flagged, an actual “move this to Wednesday instead” recommendation, not just a warning with no next step.
To apply the Monday-internal, Tuesday-external rule correctly, the system first has to know who counts as inside the firm and who counts as outside it. We built a whitelist of known internal and external contacts and email domains, so a meeting with the fund’s own team gets classified differently from a meeting with an outside law firm or auditor, without a person tagging every invite by hand.
Fixing the alert that wouldn’t stop firing
Worth being honest about a real bug along the way: the first version of the real-time monitor remembered which violations it had already flagged using a short-lived marker inside the workflow itself, which reset every time the workflow was saved or restarted. That meant the same Friday meeting or the same missing buffer could trigger a fresh alert every 5 minutes indefinitely, the kind of alert fatigue that gets a whole system tuned out and ignored. We replaced that with a small database record for every violation, checked before any alert goes out, so a given violation is flagged exactly once for the week it happened in, then cleared automatically the following week.
Rules that got tuned, not just shipped
The caps themselves were not frozen on day one. Monday and Tuesday allow up to 4 meetings each. Wednesday and Thursday are overflow days, and that cap was raised from 1 meeting to 2 after the fund asked for more room, live the same day the request came in. Not every rule break is treated with equal weight either: an internal meeting landing on a Tuesday instead of Monday is a soft warning, not a hard stop, and a recurring meeting that will always fall on the “wrong” day can be tagged once so it stops generating the same false alarm every week.
The result
Manual calendar review is gone. SOPs are enforced within 5 minutes of a conflicting event appearing, not whenever someone next happens to check, and the daily audit adds a same-morning pass with an AI-drafted fix attached, not just a flag. The rules themselves live in a system the fund can adjust by asking for a change, not by someone remembering to check three calendars by hand.
If your operation has process rules that currently depend on a person remembering to check, our n8n development work can encode and automate them.