My current side job sends our working schedule 2 week in advance, through mail. The mail we receive contains a single Excel sheet with our names, the dates and the working hours. Adding these dates to my personal agenda every week became obnoxious so I decided to write an application that would do this for me.

My mailbox is set up to send all mails that contain the working schedule to another mail address, the program written in Python checks this mailbox every 30 min. Whenever a new schedule is detected the program adds these dates to my personal agenda through the Google Calendar API. Since this solution worked so good, a couple of colleagues asked me if I could also add their dates to an agenda. The app currently parses all data for around 10 people, each having total control whom they share the calendar with.

The program runs on a server hosted on Amazon Web Services’ EC2, running Amazon Linux. With the use of screen, the application runs continuously but checks only every 30 min, therefore the power and cpu usage is low.