All Projects → akarri2001 → Notion-and-Google-Calendar-2-Way-Sync

akarri2001 / Notion-and-Google-Calendar-2-Way-Sync

Licence: GPL-3.0 license
2 Way Sync Between Notion Database and Google Calendar

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Notion-and-Google-Calendar-2-Way-Sync

Notion-GCal-Sync
A Python script to automate the syncing of tasks between Google Calendar and the all-in-one productivity workspace, Notion. It utilizes API and is customizable for your own needs. Free to use.
Stars: ✭ 120 (-41.46%)
Mutual labels:  google-calendar, notion, google-calendar-api, notion-api
notion-scholar
Reference management solution using Python and Notion.
Stars: ✭ 77 (-62.44%)
Mutual labels:  notion, notion-database, notion-api, notion-py
notionapi
A Notion API SDK, written in Golang
Stars: ✭ 351 (+71.22%)
Mutual labels:  notion, notion-api
jahir.dev
My personal website 💎 – Built using Next.js, TypeScript, MDX, contentlayer, Notion and Stitches styled components
Stars: ✭ 119 (-41.95%)
Mutual labels:  notion, notion-api
go-notion
Go client for the Notion API.
Stars: ✭ 261 (+27.32%)
Mutual labels:  notion, notion-api
cards
Turn your Notion database into a deck of cards
Stars: ✭ 37 (-81.95%)
Mutual labels:  notion, notion-api
Notion-DiscordBot
A discord bot consuming Notion API to add, retrieve data to Notion databases.
Stars: ✭ 57 (-72.2%)
Mutual labels:  notion-database, notion-api
notion-sdk-php
A complete Notion SDK for PHP developers.
Stars: ✭ 60 (-70.73%)
Mutual labels:  notion, notion-api
notion-nextjs-blog
A starter blog template powered by Next.js, Notion and Tailwind CSS.
Stars: ✭ 25 (-87.8%)
Mutual labels:  notion, notion-api
NotionAI-MyMind
This repo uses AI and the wonderful Notion to enable you to add anything on the web to your "Mind" and forget about everything else.
Stars: ✭ 181 (-11.71%)
Mutual labels:  notion, notion-database
shellbear.me
Source code of my personal website and blog ✨
Stars: ✭ 177 (-13.66%)
Mutual labels:  notion, notion-api
notion-sdk-net
A Notion SDK for .Net
Stars: ✭ 71 (-65.37%)
Mutual labels:  notion, notion-api
notionproxy
Notion as a web site, inspired by react-notion-x.
Stars: ✭ 24 (-88.29%)
Mutual labels:  notion, notion-api
notion-sdk-py
Official Notion SDK rewritten in Python (sync + async)
Stars: ✭ 753 (+267.32%)
Mutual labels:  notion, notion-api
react-google-calendar
React Calendar Component that displays data from Google Calendar
Stars: ✭ 64 (-68.78%)
Mutual labels:  google-calendar, google-calendar-api
open-source-notionapi-apps
Collection of Apps, Integrations und Libraries that utilize the Notion API
Stars: ✭ 82 (-60%)
Mutual labels:  notion, notion-api
github-readme-learn-section-notion
Update your github README with data fetched from a notion database
Stars: ✭ 24 (-88.29%)
Mutual labels:  notion, notion-database
memegentino
Meme generator for Notion
Stars: ✭ 18 (-91.22%)
Mutual labels:  notion, notion-api
NotionSwift
Unofficial Notion API SDK for iOS & macOS
Stars: ✭ 49 (-76.1%)
Mutual labels:  notion, notion-api
go-notion
Notion Official API Go Client.
Stars: ✭ 14 (-93.17%)
Mutual labels:  notion, notion-api

Notion-and-Google-Calendar-2-Way-Sync

2 Way Sync Between a Notion Database and Google Calendar

UPDATE: There seems to be some stuff broken when Notion updated their API again. I'm not going to be able to fix this until the school year is over due to classes but it will be fixed in May 2022.

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

I'm not sure if this is the first one out there, but it is the only 2-way synchronous project I could find so that's pretty cool :)

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.




Future Updates (dates subject to change)

  • Able to name the required Notion columns whatever you want and have the code work (By June 5th) (Done)
  • Able to add in end times and sync that across both platforms (by June 15th) (Done)
  • Able to add different events to different calendars depending on a Notion column (up in the air) (Done)
  • Able to factor in recurring events (up in the air) (the way GCal API handles recurring events really funky, so help would be appreciated!)

Some more visibility through some upvotes on my Reddit post would be appreciated and I think may bring along some new users to this resource! Reddit Post

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).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].