小提示: 通常在設定完第一個模組節點後,我會點擊整個畫面左下角的 Run Once 進行測試,看看資料是否有抓成功唷。若有成功,模組節點右上角會出現一個白色的數字泡泡,點擊後將可以看到你原本建立於 Notion 資料庫內的資料 (下圖是以 Google Sheet 模組節點作為示意,所以模組節點會跟 Notion 長得不太一樣唷)
—
Step 3-1-2. 建立 Google Calendar - Create、Update、Delete Events及 Router 模組節點
滑鼠移動到前一步驟所建立好的模組節點上,右邊會出先一個 + Add another module,點擊後就會出現另外一個空白的模組節點可以讓你新增 Google Docs - Create a Document from a Template 模組節點
(以下僅為操作示意,圖示並非 Router & Google Calendar 模組節點)
以同樣方式,在 Router 模組節點上,分別新增 Google Calendar 的 Create、Update、Delete Events 模組節點
ps: 新增 Google Calendar 節點模組後,可以先點擊右上角的叉叉關閉視窗,不需要先設定唷,後面會再跟讀者分享對應的設定方式
或你也可以先建立 Google Calendar 各自的模組節點後,再用拖曳的方式將節點之間相連在一起唷 (以下圖示意為例,按住紅色的數字 1 後,再拖曳到紅色的數字 2)
完成 Router 與 Google Calendar 各模組節點的連結後,可以先在節點之間的連結線上設定篩選條件 (下圖為篩選條件建立的範例示意)
以我們有三種不同的 Google Calendar 模組節點 (Create、Update、Delete Events) 來說,都會需依據最前面 Notion 資料庫項目的欄位資料而進行篩選與分配如下
Google Calendar - Create an Events 所需的篩選條件
- 當 Notion 項目的 Event ID 這個欄位為空值 (null) - 要記得在 Notion 資料庫內建立 Event ID 這個欄位,此 Event ID 會於系統建立 Google 日曆行程時,自動寫回 Notion 資料庫欄位
- 當 Status 這個欄位為 Scheduled - 要記得在 Notion 資料庫內建立 Status 這個欄位,並有 Scheduled 這個選項 ps: 若不知道如何帶入前面 Notion 資料,在建立好 Notion 模組節點試 Run once 成功後,點擊篩選器內的空白條件欄位後,就會出現可以選擇前面 Notion 模組節點資料內容 (Properties Values) 的畫面哦
2. Google Calendar - Update an Events 所需的篩選條件
- 當 Notion 項目的 Event ID 這個欄位 ”不為” 空值 (null)
- 當 Status 這個欄位為 Scheduled
3. Google Calendar - Delete an Events 所需的篩選條件
- 當 Notion 項目的 Event ID 這個欄位 ”不為” 空值 (null)
- 也可以設定成如下篩選條件: 當 Notion 項目的 Event ID 這個欄位 ”存在 Exists”
- 當 Status 這個欄位為 Cancelled
完成篩選條件的設定後,就可以先進行後面 Google Calendar 模組節點的授權囉!完成授權即可針對 Google Calendar 各別的 Create、Update、Delete 模組節點進行相對應的設定~
Google Calendar - Create an Events 所需的對應設定
- Create an Event: In Detail
- Calendar ID: 選擇你要同步的 Google Calendar 日曆
- Event Name: 帶入 Notion 資料庫欄位項目的主題 Title (*Notion 欄位可能將依據讀者所建立資料庫不同而異)- Start / End Date: 帶入 Notion 資料庫欄位項目的起迄日期 Meeting Time
- Description: 帶入 Notion 資料庫欄位項目的詳細資訊 Details
- Attendees: 帶入 Notion 資料庫欄位項目的 Emails - 需開啟設定視窗左下角的 Show advanced settings 才會看到唷Create an Events 所需的對應設定 - 並請選擇 Emails 的 array 類型參數 (可參考下方截圖示意)。主要是因為在 Notion 的資料庫欄位是用 Rollup 的類型
2. Google Calendar - Update an Events 所需的對應設定
- Event ID: 帶入 Notion 資料庫欄位項目的 Event ID
- 此 Event ID 為 Google Calendar - Create an Events 模組節點建立行程後所產生並寫入 Notion 資料庫欄位的資訊 (後面步驟會提到)
- 其他與 1. Create an Events 所需的欄位基本上一樣 (因為是更新既有欄位資料)
- 讀者也可以依據自己需求調整相關欄位Update an Events 所需的對應設定
3. Google Calendar - Delete an Events 所需的對應設定
Event ID: 帶入 Notion 資料庫欄位項目的 Event IDDelete an Events 所需的對應設定
完成 Google Calendar 日曆各模組節點的設定後,讀者可以在 Notion 資料庫中新增一個項目,再點擊 Make 的 Run once,應該就會有新的行程建立到 Google Calendar 日曆囉~
—
Step 3-1-3. Notion - Update a Database Item 模組節點
終於到了同步 Notion 至 Google Calendar 日歷的最後一步,我們要把從 Google Calendar - Create & Delete Events 模組節點所建立與刪除 Google Calendar 行程的資訊更新回 Notion 資料庫項目欄位內。
所以讓我們在 Google Calendar - Create & Delete Events 模組節點後方,各自新增一個 Notion - Update a Database Item 模組節點:
並在各自的模組節點中,對應設定需更新的欄位資料
當今天 Google Calendar 建立行程 (Create an Event) 後
- Database Item ID: 帶入最前面第一個 Notion 模組節點所取得的資料庫項目 ID
這樣才可以知道要更新哪一個 Notion 項目資料
- Event ID: 帶入前面 Google Calendar - Create an Event 模組節點所產生的 Event ID
*注意:
- Notion 資料庫欄位 Event ID 可能會依據讀者所建立的欄位名稱不同而異
- 通常在此 Notion 模組設定中,系統會自動讀取出資料庫所有的欄位名稱 (e.g. 主題 Title, 與會者 Attendees, Emails … 等)
- 而所帶入的 Google Calendar Event ID 則用於未來要刪除行程時使用
2. 當今天 Google Calendar 刪除行程 (Delete an Event) 後
- Database Item ID: 同上一步,需要此欄位
- Event ID: 因為是刪除資料,所以需要帶入一個空值 (null) 來移除原本 Google Calendar 的 Event ID
- 這個空值 (null) 可以在下方示意圖中所述的 General functions 功能清單中找到
恭喜!完成以上步驟後,可以測試看看!都沒問題的話,我們就完成其中一個 Notion 資料庫同步至 Google 日曆的自動化串接流程啦!
New Event: 若發現在 Notion 資料庫內搜尋不到 Google Event ID 時
建立一個 Notion - Create a Database Item 的模組節點
將前面 Google Calendar 的相關資料寫入於新建立的 Notion 資料庫項目中
ps: 也記得要將 Google Calendar 的 Event ID 寫入唷,這樣之後更新才可以比對、搜尋到此項目
2. Existing Event:
2-1. Schedule Event: 當 Google Calendar 行程狀態不是 Cancel 時
- 建立一個 Notion - Update a Database Item 的模組節點
- 記得需將前面 Notion - Search Objects 模組節點的項目 Page ID 寫入此節點內,才可以更新原本資料唷
- 再依照讀者期望被更新的資料寫回對應的 Notion 項目欄位 (e.g. Title, Description … 等)
- ps: 也記得要將 Google Calendar 的 Event ID 寫入唷,這樣之後更新才可以比對、搜尋到此項目
2-2. Cancelled Event: 當 Google Calendar 行程狀態是 Cancel 時
- 建立一個 Notion - Update a Database Item 的模組節點
- 因為是行程的刪除,所以就不用更新 Title、Start / End Time … 等
- Event ID: 帶入空值 null
- Status: Cancelled (將依讀者在 Notion 中所設定的欄位選項而異)
- Description: 可以依照讀者需求更新內容
耶!再次恭喜!完成以上步驟後,可以測試看看!都沒問題的話,我們就完成 Google Calendar 日曆同步至 Notion 資料庫的自動化串接流程啦!
自動化雙向同步 Notion 與 Google Calendar 日曆已完成!
完成前面所有步驟設定後,就可以重新點擊 Run Once 所有流程
成功的話,你應該就可以看到所設定的 Notion 資料庫 & Google Calendar 日曆都會有對應的更新及邀請行程
最後都確認流程沒問題後,就可以開啟下面的開關,並開啟排程讓 Make 自動化處理雙向同步 Notion 與 Google Calendar 日曆囉~
*排程的時間可以依據讀者需求調整
🎉 如果你希望可以更快地實作此篇雙向同步 Notion 與 Google Calendar 日曆流程,我們也有提供此自動化流程的進階範本 ,方便你直接匯入 Make 自動化工具使用,就不用再一步步建立串接流程了!同時還額外加碼提供「Notion 資料庫範本」唷!有興趣的讀者可以前往我們 🔗此範本市集連結 選購套用!🎉
結論
透過以上幾個步驟的設定,不需要寫任何程式,就可以完成自動化雙向同步 Notion 與 Google Calendar 日曆的串接設定,之後也不用再手動於兩個平台各自建立行程與項目同步資訊了,只要在任何一個地方更新資訊,另外一邊的同步作業就交給 NoCode 自動化完成吧!