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:

https://github.com/dzsquared/busyday_logicapp