Skip to content

๐Ÿ” 2 Way Sync Between Notion Database and Google Calendar

License

Notifications You must be signed in to change notification settings

AtulACleaver/Sync_Notion-GCal

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

50 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

GCal โ‡„ Notion Sync

2 Way Sync Between a Notion Database and Google Calendar

WARNING: This repo will be undergoing a good bit of change to make more accessible for users of all skill levels. This is not a finished product and if you have suggestions, I would love them!

REMINDER: No making monetary gain off of this product. The point of making this available was to make the tools accessible to everyone.

Instructions to set up: https://docs.google.com/document/d/1uP-6EsmTlG_Gttg9jC0MBZKHpjccVapIeC1D1tR1yXc/edit?usp=sharing

NEW FUNCTIONALITIES SINCE FIRST UPLOADING:

  • Option to delete gCal events if checked off as Done in Notion
  • Sync across multiple calendars and choose which calendar you would like to sync
  • Able to name the required Notion columns whatever you want and have the code work
  • Able to add in end times and sync that across both platforms
  • Able to decide if a date in Notion will make an event at a desired time or if it will make an All-day event
  • Ability to change timezones a lot easier
  • Able to decide default length of new GCal events

The Notion-GCal-2WaySync-Public.py code is HEAVILY commented to describe each part of the code. Follow along and you'll be able to get a quick understanding of what logic is used for each step of the script. Use this Notion Template as reference: https://www.notion.so/akarri/de7bcf954c8847a4952202b93fab2dad?v=23e8972499124b5c84b67b9e08d0cc2c (multiple calendar)

https://www.notion.so/akarri/47c0977120094511b0ab6cbf68b20c57?v=21c35762ede544818692acb1e8deefed (single calendar code (outdated))

The functionalities:

  • Take existing events from your Notion Dashboard and bring them over to Google Calendar
  • If the Notion event has only a date, then the GCal event is made at 8 am (option to turn this off and have the event be all day instead)
  • If the Notion even has a date and time, then the GCal event is made at the appropriate time
  • If the event is already in both GCal and Notion, but you switch the date/time on either, it will sync with the new value across both platforms (if both are changed, the value on Notion will overrule).
  • If the event is only in GCal, it will be brought over to Notion, as well as the description of the event that you add from GCal

When making events, the code will extract the event name, date/time, a category, and text from the Notion Dashboard and integrate that information into your GCal event. Additionally, it will also add a URL source code the GCal event so you can click on the URL and automatically be brought over to the specific Notion Page that your event is at.

Use for those who want to take at implementing the code themselves:

https://www.youtube.com/watch?v=j1mh0or2CX8 This video was used to make the Google Calendar token. Note that the library names that they "pip installed" are outdated so look at the python file to see what you'll actually need to pip install onto your computer.

The Google Calendar token is what allows for the python code to access your Google Calendar and communicate with the Google Calendar servers to add/receive/modify data.

You'll need to make your GCal token before setting up the rest of the Python script. Use the GCalToken.py file to create your token when you have downloaded the JSON credentials (follow the above youtube video).

About

๐Ÿ” 2 Way Sync Between Notion Database and Google Calendar

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.7%
  • Other 0.3%