Protecting Productivity – An Azure Logic App that Monitors Your Calendar
I’m a player/coach, a developer/manager. I spend part of my day elbows deep in SQL Server or web development but the other part knees deep in interdepartmental discussions. Switching gears between the 2 is an acquired skill. Ultimately, the velocity of productivity by myself and my team relies on a steady output. Some days are easier than others – but when 5, 6, 7, or more meetings pile up the output comes to a screeching halt.
To maintain a steady stream of working software I’ve implemented a barricade against meetings piling up on a particular day. The barricade is an all-day outlook event set to tentative that states “Day is Full.” The meeting is auto-created by an Azure Logic App that checks my calendar for the next week every evening. The all-day event deters others from adding more items to a busy day and leaves time for me to get work done!
The logic app is triggered by a timer (recurrence) and immediately it initializes a few variables. These variables are used to check for scheduled meetings. Note – the “TZ” variables are -6 adjustments for CST from UTC.
The logic app’s main functionality is in a loop function that monitors as the variables move forward from today until a few days out. Get Calendar View of Events creates an array (list) of the events in the next day and _Filter array _creates a subset of events that is limited to the “Day is Full” event. Condition checks the size of the full event array against my limit of 4 meetings a day as well as makes sure the filtered array is empty (the “Day is Full” event hasn’t been added yet).
If the condition is true, a calendar event is added for that day.
Want to set it up for yourself? Feel free to grab the code from this repo to help speed up your setup: