最後更新時間: 2023 年 11 月 03 日
有許多的同學都曾經問過到:「Notion 資料庫的 Calendar View 日曆檢視雖然很好用,但我平常有些排程會保存在 Google Calendar 裡面,有沒有什麼方法可以讓 Notion 與 Google Calendar 之間資料互通、同步更新呢?」
這篇文就帶大家來解析該如何讓 Notion 日曆與 Google Calendar 日曆系統互相同步、更新。

我&雷蒙三十共同籌備了一個 Notion 線上課程,已經超過 11,000+ 位學員!
透過四大情境:時間管理、知識管理、團隊協作、個人作品集,帶你一起從實作中練習 Notion!上完這堂課程,你就能運用 Notion 打造出自己的一套個人管理系統,優化你的人生 💪🏻
「期間限定 85 折優惠折扣碼」
📌 85 折折扣碼:(可使用~ 5/31 23:59)
🗣 課程介紹:
❓ 如何使用折扣碼:
如果你想更深入的學會 Notion,打造出自己的人生系統,也歡迎參考,現在正在早鳥優惠報名中哦!
文章目錄
Notion 日曆串接 Google Calendar 的 3 種型態
首先在一開,要先帶大家釐清一下 Notion 日曆串接 Google Calendar 需求和型態。
就我目前蒐集到的提問來說,我統整出以下 3 種串接日曆同步的型態:
- 將 Google Calendar 同步到 Notion 日曆:
平時主要使用 Notion 來管理所有任務排程,偶爾會使用 Google Calendar 來新增、更新工作項目。
希望可以將 Google Calendar 上的資訊,同步到 Notion 日曆上一起管理。 - 將 Notion 日曆同步到 Google Calendar:
平常主要使用 Google Calendar 來管理行事曆及日程,但會使用 Notion 來管理待辦事項。
希望在 Notion 日曆新增、更新任務時,可以同步更新到 Google Calendar 上,方便自己查看整體行程規劃。 - 想要 Notion 日曆和 Google Calendar 雙向同步:
有時候使用 Notion 日曆,有時候使用 Google Calendar,兩邊使用的頻率都差不多。
希望可以將兩邊雙向同步、互相更新,無論使用哪個平台都能掌握所有的任務排程。
以目前現行的工具而言,第 1 種「將 Google 日曆同步到 Notion 日曆」是絕對沒問題的!
而第 2 種「將 Notion 日曆同步到 Google 日曆」,以及第 3 種「雙向同步」,目前串接上都還是會遇到一些問題,以至於無法順利同步更新,在也會有對應的說明。
串接 Notion 日曆前置作業 3 步驟
那麼到底該怎麼「將 Google 日曆同步到 Notion 日曆」呢?接下來就跟大家分享如何透過 Zapier,順利將 Google 日曆上的資料,同步更新到 Notion 日曆中吧!
第一步:準備好 Google 帳戶、Notion 帳戶、Zapier
在開始設定同步資訊之前,我們要先確認好我們已經準備好想要同步的 Notion 資料庫,以及我們要與哪一個 Google 帳戶&日曆做同步。
以底下的案例來說,我會從頭設定一個 Notion 資料庫,並且串接一個全新的 Google 帳戶及日曆來做示範,這樣比較不會有原先的個人資料干擾。
另外在開始之前,請先確保你有以申請好以下三個帳戶哦:
- Google 帳戶:這樣才能用 Google Calendar
- Notion 帳戶:尚未申請的話,可以先看。
- Zapier 帳戶:Zapier 是一個自動化平台,接下來會用來設定來串接上述兩者的資料自動同步,可以先使用免費版,需要再升級方案。
第二步:建立 Notion 任務待辦資料庫
首先我們要先到你自己的 Notion 中,建立一個新的「任務資料庫」,並且設定一些欄位以便於我們可以日常管理待辦、查看待辦日程使用。
*如果你已經有你自己的任務資料庫,你可以跟著步驟先看完我的設定方式,邊看邊 Check 你自己的資料庫是否符合這邊同步的需求,做一些優化調整。
step 1
在你的 Notion 工作區建立一個新頁面,可以取名叫「行動任務庫」。(或直接選擇你想要同步資料的資料庫也可以!)

step 2
選擇 Table 來開始建立一個 Table View 型態的資料庫。
step 3
選擇要新增一個全新的資料庫。
step 4
建立基本的任務庫欄位:狀態、日曆連結(未來會放入 Google Calendar 的行程連結)、日期與時間
step 5
任務狀態欄位是 Select 單選欄位,可以新增三個任務的狀態,或依照你自己的狀況作新增。
step 6
建立連結型態的欄位,取名叫做「日曆連結」
step 7
建立日期型態的欄位,取名叫做「日期與時間」
step 8
你可以是先調整日期欄位的「Date format」改為「Year/Month/Day」,會是中文使用者比較習慣的日期呈現方式。
第三步:確認要同步的 Google Calendar 及 Notion 日曆
接下來我們要打開 Google 日曆,來確定我們這次要與 Notion 同步資料的日曆帳戶&日曆是哪個。
step 1
開啟 Google 日曆,確定右上角登入的 Google 帳戶是否正確
step 2
每個 Google 日曆預設會有一個跟自己 Google 帳戶使用者名稱相同的日曆,待會我就會以畫面上的日曆來測試同步。你也可以先確定等等你要同步的日曆是哪一個,記得「新增日程」的時候,就要選擇對應的日曆,才會觸發同步。

串接 Notion 日曆自動化工具設定步驟
從 Google Calendar 同步資料到 Notion 是比較完美的作法,因為在 Google Calendar 日曆上其實已經有很多的自動化作法了,比如「同事邀約吃飯,直接發送一個 Google Calendar 邀約連結給你」
,或是「有新的團隊會議邀約,透過 Email 中直接加入行程到 Google Calendar」
。
因此這邊我們會先著重解析「在 Google Calendar 日曆上操作」,並且「將資料同步更新到 Notion」上的核心作法。
當然,後續也會跟大家解析反過來做該如何從 Notion 上同步資料到 Google Calendar,不過這在工作流與同步的自動化過程會遇到一些問題,後續也會跟大家分享!
*以下會將每個部分,分成不同的 Zap (自動化的設定)來進行,這樣的設定方式會讓使用免費版本 Zapier 的使用者也可以設定。
第一種:新增 Google 日程,就會同步新增待辦任務到 Notion 資料庫中
首先我們要做的是在 Google 日曆新增行程時,就會將行程資料同步新增一個待辦事項到 Notion 的行動任務庫中。
以下會一步一步很仔細的帶著你設定,你可以先開啟你的 Zapier、Google Calendar 以及 Notion ,並跟著操作。
step 1
進入到 Zapier 首頁,如果你還沒註冊,可以先註冊一個會員,註冊後就先登入。
step 2
首頁上其實可以搜尋相對應的軟體&動作,也會跑出一些現成的自動化流程可以選用。
step 3
,也有許多 Google Calendar & Notion 的整合自動化流程示範,若需要就提供給大家參考。

step 4
這邊我們點擊左上角的「Create Zap」,來試著手動建立我們想要的自動化流程。
step 5
首先每個自動化流程都會先有一個「觸發自動化開始跑」的「Trigger(觸發條件)」,這邊我們先選擇「Google Calendar」做為我們觸發條件所觸發的來源 App。
step 6
接下來我們可以選擇哪一個「事件(Event)」會觸發這套自動化流程,這邊就選擇「新增日程(New Event)」。代表當 Google Calendar 有新增的日程時,就會觸發以下一整套的自動化流程。
step 7
選擇完成後點擊 Continue 繼續下一個設定步驟
step 8
選擇你要綁定的 Google Calendar 帳號。這邊我們點擊「Connect a new account」,示範一下如果你沒有綁定過的話步驟是什麼。
step 9
選擇你要綁定的對應 Google 帳號進行登入。
step 10
同意相關的存取權限
step 11
新增完成後,就可以選擇你剛剛綁定的 Google 帳戶,點擊 Continue 繼續下一步。
step 12
選擇你要同步的日曆(一個 Google 帳戶可能有多個不同日曆),這邊若選擇「Google 帳號日曆」,就是等同於選擇我們前置作業步驟中新增的那個「Google 帳戶同名的日曆」唷!
step 13
每個 Zapier 設定步驟完成後,都可以點擊「Test trigger 」來測試觸發條件。這邊點擊後會抓一個現有的 Google 日曆行程,來假設觸發後會取得什麼樣的資料。
step 14
在點擊之前,我們得先到我們日曆中,至少新增一個行程事件,這樣 Test trigger 才能找到資料。
step 15
新增完成後, Google 日曆目前就有一個新的行程可以當作測試資料了*在建立自動化流程的過程中,測試資料都要盡可能完整,才會更準確測試出正確流程設定。

step 16
再次點擊 Test Trigger 之後,就會成功找到一個現有的行程 event,畫面上也會顯示 Zapier 這流程讀取到的資料明細。
step 17
接下來要新增一個 Action,也就是接續上面的 Trigger 會執行的動作。
step 18
這邊請搜尋並選擇 Notion 當作要進行 Action 的 App。
step 19
選擇綁定到 Zapier 的 Notion 帳號。
step 20
並確認你選擇的帳號所授權的存取頁面,是否有你等一下想要進行同步資料的資料庫權限。(如畫面上的「行動任務庫」,就是等等要同步資料的資料庫)
step 21
如果過往你曾經綁定過 Notion,那你再次授權可能會有兩個以上的 Notion 帳號,其實就有一個是多的。下方來教你怎麼進行整合
step 22
回到 Zapier 首頁,點擊左邊的「My Apps」來查看已經整合的軟體,這邊可以看到「Notion」的部分顯示了 2 個「Connections」,也就是有連接過兩個 Notion 帳戶。
step 23
如果你過往已經有綁定過,其實未來你都可以直接點擊下方畫面上的選單 > Reconnect,來進行新建立的頁面授權。
step 24
像是在底下畫面上,就一樣可以重新授權「行動任務庫」資料庫,讓 Zapier 可以對他進行瀏覽與變更資料。
step 25
剛剛建立多餘的這個 Connection,也可以點擊選單 > Delete 刪除。
step 26
再次確定你要連接到的 Notion 帳號後,就可以點擊 Continue。
step 27
選擇你想要同步資料的資料庫,這邊我選擇「行動任務庫」。*如果這一步驟你找不到你的資料庫或頁面,可能代表你上面的授權頁面沒有勾選成功,可以回頭再檢查一下帳號的授權設定。

step 28
接下來要選擇要同步哪些 Google Calendar 的資料,將資料新增到 Notion 資料庫上。這邊在「名稱」欄位選擇 Google Calendar 上方資料的「Summary」行程標題欄位

step 29
在「任務狀態」欄位,選擇「todo」作為新增資料預設的任務狀態。
step 30
在日曆連結欄位,選擇「html link」,把 Google Calendar 建立行程後的行程連結直接放入 Notion 欄位中。*這一步驟一定要有,後面會以這個欄位來辨別 Google Calendar 行程對應的 Notion 任務是哪一個。

step 31
這邊選擇的是在新增日期欄位的日期時,是否要包括時間。因為我們有時候 Google Calendar 的行程是會有開始結束時間的,因此這邊選擇「True」。
step 32
在 「日期與時間」欄位,選擇「Event Begins」作為開始時間,選擇「Event Ends」作為結束時間。*這邊記得不要選擇成「Event Begins(Prettier)」,因為那是後製過的時間欄位,容易會有時區時差問題導致時間錯誤。

step 33
在 Notion 資料的 Content(頁面內容)部分,選擇 Google Calendar 的「Description 」資料,可以把 Google 日曆行程中的備註同步到 Notion 任務頁面中。
step 34
以上都設定完成確認無誤後,就可以點擊 Continue 繼續下一步。
step 35
透過點擊「Test action」來測試把上方 Test Trigger 時取得到的「Google Calendar 資料」,按照 Action 設定的步驟新增到 Notion 資料庫中變成一筆任務資料。
step 36
等待 Test action 跑完後,就可以到 Notion 看看是否如下圖,有成功同步了測試資料了!
step 37
比對一下,確實跟 Google Calendar 的行程資料一樣。
step 38
測試成功後,就可以回到 Zapier 點擊「Publish Zap」,將這個 Zapier 的自動化流程發布並開啟。
實際測試:新增 Google 日程是否會同步更新到 Notion?
(免費版可能需等待 15 分鐘才會看到結果)
接下來我們來實際到 Google Calendar 測試一下,當我新增一個行程,是否有成功把所有資訊同步到 Notion 行動任務資料庫中吧!
step 1
到 Google Calendar 新增一個日程,打上標題、設定開始結束時間、也新增一些備註內容。
step 2
免費版本最多需等待 15 分鐘會進行同步, Professional 以上版本則是 1~2 分鐘。(方案的更新頻率差異如下圖)
step 3
接下來除了原本的測試資料,第二筆的測試行程也成功有同步了。可以看到畫面上包括行程標題、 Google 日曆的連結、日期與時間還有內頁中的行程備註都有準確的新增過來 Notion 中。

step 4
未來你也可以把你的行動任務庫新增一個 Calendar View,用於查看行程。
step 5
新增完成後,就可以像下圖一樣,看到完整的行程時間,也可以快速點選連結跳轉到 Google Calendar 的對應行程中了。
step 6
最後你可以回到剛剛設定的 Zap 自動化流程裡面,點擊左上角修改一下這個流程的名稱,以後更好辨識。
step 8
平時你可以到首頁左邊點擊「Zap history」,就可以查看過往觸發過的自動化流程的時間點與詳細紀錄了!
第二種:變更 Google 日程,就會同步更新任務資料到 Notion 資料庫中
在我們使用 Google 日曆過程中,也很常會有修改行程的狀況。那這時候也要同步把資料更新到 Notion 的任務上,才不會兩邊的資料沒有對上。
因此接下來我們就比照上方的步驟,再次設定第二個 Zap 自動化流程,來滿足這個更新的需求吧!
step 1
一樣點擊左上角的 Create Zap
step 2
這次先把這個 Zap 的名稱命名好,以利於辨識
step 3
一樣新增 Google Calendar 為觸發的條件 App,並且設定「New or Updated Event」作為觸發條件,代表新增或更新資料都會觸發這套流程。
step 4
選擇剛剛綁定的 Google 帳戶
step 5
選擇要綁定到的日曆,也跟前一個 Zap 的設定是相同的。
step 6
點擊 Test trigger 之後,就會顯示其中一筆真實資料,作為下方測試步驟的範本資料。
step 7
選擇要建立 Action 的 App 是 Notion。
step 8
首先先選擇「Find Database Item」作為 Event,這邊代表的是我們要拿上方的 Google 日曆中更新的行程資料,來先到 Notion 中搜尋對應的任務資料,才能進行更新。
step 9
選擇前面設定好的 Notion 帳戶。
step 10
選擇你的資料庫是跟前面一樣的「行動任務庫」,並且設定「日曆連結」欄位一樣是 Html Link。等同於我們這邊是透過具有唯一性的「Google 日曆連結」,來做為我們比對 Google Calendar 日程與 Notion 待辦事項之間的搜尋條件。
step 11
點擊 Test Action,就可以透過上方的測試日程資料,到 Notion 中去真實搜尋看看找不找的到對應的任務。
step 12
接下來點擊下方 + 號,在新增一個 Action 並且選擇「Notion」以及「Update Database Item」的動作。
step 13
選擇對應的 Notion 帳戶。
step 14
選擇「行動任務庫」,並且在「Item(要更新的資料)」欄位中,選擇透過「Custom > Find Databse item in Notion > ID」,來作為更新資料的依據(意思就是剛剛上方搜尋 Notion 的結果會取得到 Notion 頁面的 ID,這邊就指定這個 ID 的頁面,進行資料更新)。
step 15
選擇要更新的欄位有哪些,這邊先選擇:名稱、日期與時間 這兩個容易被更新的欄位。
step 16
下方的 Notion 頁面 Content 也可以設定更新,讓 Google 日曆中的行程備註若有更新,也可以同步更新到 Notion 中。
step 17
點擊 Test Action 之後,就會確實去更新這筆測試資料了(這時你也可以去看一下是否有真的更新成功)。
step 18
接下來就點擊 Publish & Turn On,把這個 Zap 發布並開啟。
實際測試:更新 Google 日程是否會同步更新到 Notion?
step 1
到 Google Calendar 並更新其中一個活動行程。
step 2
我在標題、時間及下方備註欄位,都做了文字更新。
step 3
等待 1~2 分鐘(免費版 Zapier 需等待至多 15 分鐘),就確實有看到內容更新了!
step 4
但在備註欄位更新時,因為 Zapier 並不是採用完整覆蓋的方式取代原有的備註,因此可能會有一些更新比對上的漏洞,造成資料會有多出來的資料。(但其實不影響理解,還可以接受)
以上就完成了新增&更新 Google 行程時,會同步更新到 Notion 待辦任務的自動化流程囉!
第三種:刪除 Google 日程,就會同步更新 Notion 資料庫的任務狀態
最後我們要新增的自動化流程,則是「當 Google 日曆有行程被取消/刪除時,要同步更新 Notion 的待辦狀態」。
這邊要先跟大家說明,目前 Zapier 是無法做到「Google 行程刪除時,同步也刪除 Notion 任務的」(因為 Zapier 沒有提供刪除 Notion 項目的 Action 可以選用)。
而以下也有一個變化式的解決方案,你可以繼續看下去!
step 1
一樣新增一個 Zap,先取好名稱。
step 2
選擇 Google Calendar 的 Event Cancelled,代表當行程取消或刪除時,會觸發這個自動化流程。
step 3
選擇你的 Google 帳戶
step 4
選擇要同步的日曆
step 5
測試一下,在測試前你會需要先到 Google Calendar 去確實刪除一筆行程,不然這邊是偵測不到的哦!
step 6
到 Google Calendar 去刪除剛剛的測試行程
step 7
再次點擊 Test Trigger 之後,就會抓到測試資料了
step 8
第二個 Action 一樣選擇 Find Database item,我們一樣要先找到剛剛刪除的行程對應的「Notion 任務」,才能進行狀態上的變更
step 9
選擇 Notion 帳戶
step 10
選擇行動任務庫,並且跟前面一樣,用「Html Link 日曆連結」,來搜尋到與 Google 日曆行程對應的 Notion 任務。
step 11
設定好就點擊 Continue
step 12
測試一下搜尋的設定,就可以確實找到前面同步過的那比任務資料
step 13
新增一個 Action,並一樣選擇「Update Database Item」的動作(這邊也可以看到沒有 Delete Database Item 可以選)
step 14
選擇 Notion 帳戶
step 15
選擇行動任務庫,並且一樣以剛剛搜尋到的 item ID 作為指定「哪一筆資料要更新」的來源。
step 16
下方則是要選擇要更新哪一些欄位,這邊僅把「任務狀態」修改為 Done。*這邊若是你想要到 Notion 中新增一個任務狀態是「Delete」也可以哦!我自己的作法是都使用 Done,這樣才不需要每次套用 Notion Database Filter 都需要多篩選一個 Delete

step 17
點擊 Test Action,若成功就會真的到 Notion 資料庫中更新任務的狀態了。(這邊你可以到 Notion 去確認一下資料是否確實更新)
step 18
將 Zap 發布並開啟
實際測試:刪除 Google 日程是否會同步更新到 Notion?
step 1
確認剛剛上方建立流程時刪除的行程,確實有變成 Done 狀態。
step 2
在 Notion 中同一個資料庫可以建立不同的 View,你可以在你的 View 中新增 Filter,篩選掉狀態是「Done」或者「Delete(若有額外新增)」的狀態。
step 3
甚至可以把資料庫區分成「未完成待辦」與「已完成/已刪除待辦」,就可以在自動化流程自動修改狀態後,影響對應的資料呈現。
step 4
為了確保流程,再次去實際刪除一個行程。
step 5
等待約 1-2 分鐘(免費版 Zapier 需等待至多 15 分鐘),就可以看到 Notion 中兩筆任務資料,都自動變更成「done」狀態了。
第四種:完成 Google 日程,就會同步更新 Notion 資料庫的任務狀態
除了刪除 Google 日曆的行程之外,在行程的日期/時間過去後,其實行程就算完成了,這時候可能有些人會想要也自動更新 Notion 上的待辦事項狀態。
以我自己的工作流來說,我比較不傾向「在行程完成後,自動更新 Notion 任務狀態」,而是會在「每日/每週回顧」時,手動調整這些完成項目的狀態,或進行一些總結。
因此我自己是沒有額外設定新的自動化流程。
但如果你需要,可以按照上面的方式也建立一個「Google Calendar 日程結束後,自動更新 Notion 任務狀態」的流程。
相信你看完上方三個超級詳細的示範步驟,你應該也學會舉一反三了吧?自己動手試試看吧!
*小提示:整體流程跟刪除任務的流程幾乎相同,將觸發條件(Trigger)改為「Event Ended(日程結束)」即可!

為什麼沒辦法從 Notion 日曆同步更新到 Google Calendar?無法雙向同步有什麼替代方案?
另外兩個需求面來說,目前基本上一樣可以把 Notion 新增的任務資料,新增到 Google Calendar 上(使用下方的 New Database Item 當作觸發條件)。

但從這張圖上也可以看出來,目前沒有提供偵測「Notion item 變更」或是「Notion item 刪除」的 Trigger 觸發事件。
因此如果以「Notion -> Google Calendar」流程來做同步的話,後續「更新了 Notion 任務」或「刪除了 Notion 任務」,就都沒辦法同步資料,會造成資料上的錯亂。
因此以目前的功能來說,是不建議這樣同步資料的。
以我自己的工作流來說,目前會分成兩個使用型態:
- 行程方面,已更新「Google Calendar」為主,讓行程自動同步到 Notion,Notion 只會在回顧時去變更行程狀態。
- 沒有特定時間排程的任務方面,則直接以「Notion」做任務管理,免去同步的麻煩。
而這篇文章之後也會繼續持續保持關注、持續測試看看是否有辦法破解現在的限制,讓 Notion 與 Google Calendar 資料可以達到雙向同步。

我&雷蒙三十共同籌備了一個 Notion 線上課程,已經超過 11,000+ 位學員!
透過四大情境:時間管理、知識管理、團隊協作、個人作品集,帶你一起從實作中練習 Notion!上完這堂課程,你就能運用 Notion 打造出自己的一套個人管理系統,優化你的人生 💪🏻
「期間限定 85 折優惠折扣碼」
📌 85 折折扣碼:(可使用~ 5/31 23:59)
🗣 課程介紹:
❓ 如何使用折扣碼:
如果你想更深入的學會 Notion,打造出自己的人生系統,也歡迎參考,現在正在早鳥優惠報名中哦!