Colorize Your Google Work Calendar
Written: 2026-09-09
Author: WhatsARanjit
Links:
The problem
Your calendar has so many invites on it. Maybe you have to propritize. Customer meetings come first. 1:1 meetings are important. Some other forum-style meetings might be optional. How can your calendar help you evaluate your meetings?
The fix
Google App Scripts has the ability to run a script when your calendar is updated. In this example. we are triggered by any update, we look for the next 25 meetings. Then we evaluate based on the following criteria:
- If there are domains other than yours (or an allow list), it is considered external
- If it’s only internal, see if this is a one-on-one and if they’ve accepted
- If it’s only internal, see if this is a one-on-one and if they have not accepted, it’s pending
- If the number of internal attendees is more than some number, label this as a forum meeting
- If the meeting has the word “Travel” in it, mark it as travel
- If the meeting has the word “Lunch” in it, mark it as lunch
- If the meeting has the word “Block” in it, mark it as personal
- Otherwise, post the color as
nullto use the default
Setup
First you have to setup the Google Calendar labels for:
- External
- 1:1 pending
- 1:1 accepted
- Forum
- Travel
- Lunch
- Block
You can do this following Google’s Reference
Add the script
Go to Google App Scripts, create a new project, and enter in this script. It will ask you for authoriation the firat time you run it, but thereafter, it can be automatic.
Next setup the trigger
Follow the docs to create a on-Change trigger:
https://groups.google.com/g/google-apps-script-community/c/2VsUc24Er_k
In the end
I find it very useful. I want to know what meetings are with customer vs. just internal. I want to know what meetings are more intimate vs. group meetings. Also, I want to know what 1:1 meetings people have aceepted vs.a no-go. This script does more than that with travel, lunch, and personal blocks etc. You can change the colors with the IDs in the constants at the head of the script. I find the only real way to find the color IDs is the set them yourself, then grab them from the ouput of this script.`