同步Google日曆與Notion,打造完美行事曆

Google行事曆是很多人工作或安排共享行程的中心,因此當Notion API功能上線後,我最期待的就是把我的Google行事曆和Notion每日待辦清單連起來,省去許多重複輸入的時間!
在這篇文章中,我會一步步地帶你設定Zapier,將Google行事曆更新到Notion上。你會學到: (可快速點選連結)
1. Notion API - 利用Zapier,同步「新增」的Google行事曆活動到Notion 2. Notion API - 利用Zapier,同步「更新」的Google行事曆活動到Notion 3. Notion API - 利用Zapier,同步「刪除」的Google行事曆活動到Notion? 如果你還不知道Notion API是什麼,強烈建議先閱讀此文章: 你今天NOTION API了嗎? API是什麼、好處與應用,一次講給你聽!
? 如果你還沒有Zapier帳號,可以按照這篇文章的教學,先把Notion與Zapier接上線: 簡單三步驟,開啟NOTION API大門! 成功與ZAPIER & AUTOMA.IO接上線
? 在接下來的文章中,我會以這篇文章中的Notion每日待辦清單樣板為基礎,來設定API相關的內容: 週與日 計劃篇 || 如何用 NOTION打造你的2021子彈筆記?
等不及了嗎?
那我們就開始吧!
一、Notion API - 利用Zapier,同步「新增」的Google行事曆活動到Notion
目的: 只要Google行事曆有新增的內容,都會直接同步到Notion待辦清單中
流程: 設定Google行事曆的觸發條件 —> 設定Notion接收資訊的內容

步驟一: 選擇你要同步的app - Google 行事曆,並設定觸發同步的動作與內容。
1. 選擇 Google行事曆,選擇 Event start 。
- 這裡是用行事曆的開始時間(Event Start)來驅動,主要是因為我會用同一個API,來設定重複事項清單 (Recurring task),例如每個禮拜的例行內部會議。
- 如果你沒有「例行重複事項清單 (Recurring task)」 的需求,則可以選擇 New event,同步速度還比較快

2. 連結你的Google行事曆帳號

3. 設定觸發同步的條件
選擇你要同步的行事曆內容
設定你要同步多久內的行事曆: 下圖我是選擇8週內 (即2個月)。
舉例來說,你每週一都有一個內部例行會議的行事曆,今天是6/20,因此在8/20內的例行會議行事曆都會同步到你的Notion中。而8/20以後的,則待會議時間為8週內才會同步更新。

4. 設定測試案例
- 在你按下Test trigger前,可以先去你的Google行事曆建立一個測試的活動,以便後續測試API是否有測試成功。

5. 確認API的測試活動是你想要的內容。
- 若系統一開始抓的活動不是你想要測試的,可以點選Event A區塊,更新活動資料。

二、設定同步到Notion的資料
1. 選擇Notion,並點選在Notion的觸發機制: Create database item
- create database item的意思為: 當步驟一的Google行事曆內有新增活動時,便會在Notion的指定database創立一個新的內容

2. 選擇你的Notion帳號,並將你想要更新的Notion database權限分享給Zapier
- 若還不知道要怎麼將Zapier與Notion連動,可以參考以下文章: : 簡單三步驟,開啟NOTION API大門! 成功與ZAPIER & AUTOMA.IO接上線

以下圖為例,我希望Google行事曆的內容,可與我的Notion每日待辦清單連結,因此便將該Notion database 分享權限與Zapier

3. 選擇你想要更新的Notion database (ex. 剛剛分享的「待辦清單」),並設定Google行事的哪些資訊要同步給Notion待辦清單中的哪些欄位。


《待辦行動》:
在Notion的待辦清單中,我只有留一個欄位放時間 (即行動日)。為了要能顯示活動完整的開始與結束時間,因此我將活動名稱(Summary)與開始(Start Time Pretty)和結束時間(End Time Pretty)資訊,一起放在待辦行動欄位,方便快速瀏覽《優先順序》:
選擇標上「Google行事曆」的標籤,讓我知道此行程是由Google日曆同步過來的《G行事曆連結》:
為了讓接下來的「更新」與「刪除」Google行事曆活動到Notion API能順利運作,因此我新增這個欄位在待辦清單中,並同步Google 日曆的HTML Link資料到此欄位《行動日》:
同步活動開始時間 (Event Begin)《Content》:
在Notion的頁面中,我會同步會議視訊連結 (Hangout link)、會議地點 (Location)、和會議說明 (Description)
4. 測試並開啟API
- 測試成功後,點選下方:
Ready to turn your Zap on?,開啟API

5. 來到Notion待辦清單database,就可看到剛更新的Google行事曆活動了! 點選開頁面,也可看到會議連結、地點與說明內容


二、Notion API - 利用Zapier,同步「更新」的Google行事曆活動到Notion
目的: 若Google行事曆的內容有更新 (ex. 會議名稱、時間、或內容),都會在Notion找到當初創建的待辦事項,同步更新資料
流程: 設定Google行事曆的觸發條件 —> 找到當初在Notion創建的待辦事項 —> 設定Notion需更新資訊的內容
- 若沒有步驟二,則只要Google有更新,就會「新」建立一條待辦事項在Notion中,這並不是我們想要的情境

步驟一: 選擇你要同步的app - Google 行事曆,並設定觸發同步的動作與內容
1. 選擇 Google行事曆,選擇 New or Update Event。
2. 連結你的Google行事曆帳號
3. 設定測試案例
步驟二: 尋找在Notion database 要更新的是哪個待辦事項
在這個步驟,我們要讓Zapier知道,若Google行事曆有更新時,要怎麼在Notion找到哪個待辦事項需要更新。而在「一、新增Google行事曆」所設定的html link就是連接雙邊行事曆的關鍵。
1. 選擇Notion,並選擇Find database item (尋找在Notion database 要更新的內容)

2. 連結你的Notion帳號和database
3. 以Google行事曆連結為唯一碼,確認要更新的內容
- 若你的行事曆有更新,活動名稱、時間、內容都有可能改變。因此,僅有html link能當作唯一確認值,讓系統知道你更新的google活動內容,要傳到Notion的既有的哪條待辦事項中

4. 測試api設定,是否能成功找到Notion的內容
步驟三: 更新Notion待辦事項
1. 點選+ 新增觸發情境。選擇Notion,並點選 Update database item

2. 連結你的Notion帳號
3. 選擇要同步資料的database,將item設定為Notion ID,選擇並設定你要更新的內容
- 在item的欄位,請選擇Custom —> ID

- 通常在行事曆會更新的內容,不外乎是標題、時間和內容。因此,我只會更新這3個項目,其他則保持原樣 (EX. 下圖優先順序、完成和G行事曆連結 為空值,則代表不需更新)

4. 測試並開啟API,就大功告成了!
- 舉例來說,我將活動名稱改成 Notion api test4 (原本是3),時間從10:15~11:15 調整到 下午1:00~5:00,這時Notion原本的行事曆,便會跟著更新

三、Notion API - 利用Zapier,同步「刪除」的Google行事曆活動到Notion
目的: 若Google行事曆有刪除的活動,會直接同步到Notion待辦清單中,通知刪除的資訊
流程: 設定Google行事曆的觸發條件 —> 找到當初在Notion創建的待辦事項 —> 設定Notion需更新資訊的內容
整體流程與「更新」的設定差不多

步驟一: 選擇你要同步的app - Google 行事曆,並設定觸發同步的動作與內容。
1. 選擇 Google行事曆,選擇 Event Cancelled。

2. 連結你的Google行事曆帳號
3. 設定測試案例
步驟二: 尋找在Notion database 要更新的是哪個待辦事項
1. 選擇Notion,並選擇Find database item (尋找在Notion database 要更新的內容)
2. 連結你的Notion帳號和database
3. 以Google行事曆連結為唯一碼,確認要更新的內容
4. 測試API設定,是否能成功找到Notion的內容
步驟三: 更新Notion待辦事項
1. 點選+新增觸發情境。選擇Notion,並點選Update database item
- 因Zapier只有create, update 或find database這3個動作,並沒有「刪除」的選項。因此當Google行事曆上有刪除的活動,沒辦法直接透過API在Notion待辦清單中刪除。但可以透過「更新」的方式,幫助該活動已經被刪除了。
2. 連結你的Notion帳號
3. 選擇要同步資料的database,將item設定為Notion ID,選擇並設定你要更新的內容
- 我會直接在活動名稱最前方,加上[刪除]的文字,來標示此活動已經被刪除
- 你也可以將活動在打勾方框中標記「完成」,幫助你好辨認

4. 測試並開啟API,就設定完成了!
- 回到Notion頁面上,完本活動名稱會變成 [刪除] Notion API test4,而最前方的打勾方框也標示已完成

我承認,設定這個API的過程真的滿冗長的!
不過,只要花30分鐘,設定好一次之後,接下來你就再也不需要重複輸入Google資料與Notion待辦清單了!
長遠看下來,應該也是節省了不少時間,CP值還滿高的!
你覺得呢?
有興趣的話,就一起動手來玩玩看吧!



