iT邦幫忙

2025 iThome 鐵人賽

DAY 23
1
生成式 AI

生成式AI 與 Notion 的碰撞 ?! 你還在 ctrl+c ctrl+v ?系列 第 23

Day 23 | 使用n8n 達成 Notion 資料庫同步 Google Calendar -「單向同步」

  • 分享至 

  • xImage
  •  

前言:

昨天我們已備齊所有必要的 API 憑證,今天將正式開始搭建我們的自動化工作流。

先搭建一個能運作的基礎版本,確保核心功能暢通,之後再逐步迭代,增加更多進階功能。 這種做法能讓我們快速驗證想法,避免一開始就陷入過於複雜的細節中。

下圖是我們今天將完成的工作流第一版。它的結構與我們先前的專案相似,但有一個關鍵的不同點:我們引入了 Simple Memory 節點。這個節點就像是賦予了 AI Agent 短期記憶,讓它能夠記住前一步的操作結果(例如剛建立的行事曆事件 ID),並在後續步驟中加以利用。
image


節點串接

  1. 設定 Notion Trigger 選擇 Page Add to Database,再選擇自己要監控的資料庫。
    image

  2. 老樣子選擇我們的 AI Agent
    image

  3. 將我們的 Chat Model 、Memory、Tool 都先串接好,後面會教各節點的設定,要記得 Tool 是兩個 Google Calendar Tool 分別是要 一個用於 Create Event (建立事件),另一個用於 Update Event (更新事件)。
    image

各節點設定

  1. AI Agent:我們首先要將 Source for Prompt (User Message) 選擇 Define Below ,再將我們的Prompt 輸入進去。

    # 任務
    一個新的 Notion 頁面剛剛被創建了,請根據下方的頁面資料,使用 `create:event` 工具在 Google Calendar 中創建一個新的活動。
    再使用tool中的 Update an event in Google Calendar更新剛才創建的even的tital跟notion的活動名稱一樣。
    
    # Notion 頁面資料
    *   **活動名稱**: {{ $json.properties['活動名稱'].title[0].text.content }}
    *   **目標開始時間**: {{ $json.properties['目標完成時間'].date.start }}
    *   **目標結束時間**: {{ $json.properties['目標完成時間'].date.end }}
    

    image

  2. Simple Memory:

    設定 Define below 並將key 輸入如下,讓他幫我們記得一些資訊:

    notion的活動名稱:{{ $json.properties['活動名稱'].title[0].text.content }}
    notion的目標完成時間:{{ $json.properties['目標完成時間'].date.start }} ~ {{ $json.properties['目標完成時間'].date.end }}
    

    image

  3. Create an event in Google Calendar:

    1. Credential to connect with:選擇自己要連接的憑證。
    2. Tool Description:選擇 Set Manually 手動設定。
    3. Description:Ues this tool to create an event in Google Calendar
    4. Resource:選擇Event
    5. Operation:選擇Create
    6. Calendar:選擇串接的日曆名稱。
    7. Start:{{ $json.properties['目標完成時間'].date.start }}
    8. End :點選如下圖示讓 AI 定義這個參數。
      image

    image

  4. Update an event in Google Calendar

    1. Tool Description:選擇 Set Automatically自動設定。
    2. Resource::選擇Event
    3. Operation:選擇Update
    4. Calendar:選擇串接的日曆名稱。
    5. Event ID:{{ $fromAI('Event_ID','this it the specific event') }}
    6. Update Fields
      1. Description:the name of the calnedar event
      2. Summary:點選如下圖示讓 AI 定義這個參數。
        image

    image

結語:

今天,我們成功地搭建了「Notion 到 Google 日曆」單向同步工作流的 v1.0 版本!

透過結合 AI Agent 與 Simple Memory 節點,我們實現了:當 Notion 新增任務時,Creat tool 沒辦法新增titel 所以要回頭更新該事件的標題,才能達成我們創建一筆完整的資料。

然而,這只是我們自動化旅程的第一步。目前的第一版是一個 「單向同步」的流程,它能夠處理「新增」的動作,但如果我們在 Notion 中「修改」或「刪除」 一個任務,Google 日曆上的事件並不會跟著變動,因為我們聆聽的是Notion 。

這正是我們下一步要挑戰的目標。在接下來的文章中,我們將會探討如何監聽 Notion 的頁面更新事件,並讓我們的 n8n 工作流變得更加智能,逐步邁向真正的「雙向同步」。請持續關注!


上一篇
Day 22| Notion 待辦 自動同步Calendar - n8n 工作流專案介紹、LINE Bot 憑證獲取
下一篇
Day 24 | n8n LINE Bot 通知節點設定
系列文
生成式AI 與 Notion 的碰撞 ?! 你還在 ctrl+c ctrl+v ?25
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
justin_log
iT邦新手 5 級 ‧ 2025-10-07 10:37:31

期待明天的雙向同步!!

我要留言

立即登入留言