Thursday, 22 June 2017 14:20

Life Hacks - a scheduling tool for adding work shifts onto your Google calendar

Written by

Do you ever get tired of manually putting in work shifts onto your calendar? Do you work a sporadic schedule where you often have multiple shifts a month, but the days are not neatly arranged? Do you moonlight a lot, like I do,and need an easy way to put all those shifts onto your calendar? If so, continue reading to learn about how I solved this problem for myself. I can even help you do the same.


What about taking it one step further? Do you want to be see how many shifts you did last week, last month, or last year? What about the number of shifts you have coming up? What about looking up your pay for those shifts over the same time frame? I can do that! Here are the features of my script, and a description of how it works to follow:


  • Creates a form that allows you to select all of your shift work location and types.
  • Adds up to 9 shifts at a time for a particular work location and shift type to your Google Calendar with a calendar name of your choosing.
  • Option to select email notification and popup notification for the events created.
  • Ability to calculate pay for many preset time periods.


Google Apps Script to the rescue

For those of us who are heavily ingrained in the Google ecosystem, their calendar app is our life blood. It is great for adding recurring items that are daily, weekly, or any other regular interval.  It can even skip certain days of the weeks.  However, what if this month you are working on days 2, 4, 9, 10, 12, 13, 18, 22, and 25.  I randomly made up those numbers; however, you can see that there is no better alternative than to just put it in each day manually. What if you don't want to spend 5-10 minutes doing that, or what if you are afraid of making an error and accidentally skipping work?  What if you have 3 different shift schedules each just as haphazardly scheduled? Well, my script is for you!  Let me show you what it does.



0 initialization


On this Google Sheet, I have created a template of job sites.  You basically write down the locations of all your shifts and the different services, if there are multiple ones.  You also include the hourly pay in order to have the option of calculating your total pay. From here, processing this sheet through a menu option creates a Google Form, which is the product that will save you the time and effort of doing all this manually.


Filling out the form

1 location2 service

  • A form is created based on the locations and shifts specified.  You select which particular shift type you want to add to your schedule. All shifts should have the same start time and duration.


3 schedule4 dates5 recorded

  • Enter the start time, duration, and number of shifts you want to add to the schedule (9 in this case, and selecting the dates that I randomly chose earlier).


6 calendar

  • The script magically creates a calendar, if it does not already exist, with the name you had chosen during initialization. It also added all nine shifts that you specified at once! I had added four other shifts from "Best Medical Center" prior to this for the next example.  If you wanted to calculate your pay for this month, you would select the following options from the initialization sheet:


7 calculate menu8 pay

  • There you go! It tells you how many shifts of each type you worked or will be working this month, and also your pay for each one and the total!


This has been extremely useful for me the past several years.  If I added a shift due to a request via text messaging, then I can go to this form, bookmarked, on my phone and add that shift easily!  I don't even have to go into Google calendar to find the date and write out the event.  I can also estimate the amount of taxes I need to pay based on the pay calculator. Little wins like this make life run smoother. 


Can this help you out? If you would like to use this, please contact me directly and I will do my best to assist you.  Unfortunately, I have not yet learned how to make this easily distributable (but would welcome any assistance).

Last modified on Friday, 04 August 2017 18:03