昨天,我們成功串接了 LLM 節點,讓 AI 能為我們生成內容。但光是生成還不夠,真正的自動化,是要讓這些寶貴的資訊自動歸檔。
今天,我們的目標就是打通這最後一哩路:將 LLM 產出的摘要,無縫寫入我們的 Notion 資料庫! 這篇文章會一步步帶大家完成 n8n 與 Notion 的串接,讓我們開始動手吧!
新增並連接節點:
首先,在 n8n 工作流程中,點擊 Basic LLM Chain 節點右側的 + 號,搜尋並新增一個 Notion 節點。這將是我們寫入資料的目的地。
小提示:一開始隨意選一個 Notion 節點即可,我們接下來會詳細設定它。
設定 Notion 節點參數:
Credential: 選擇您已設定好的 Notion 憑證。
Resource: 設定為 Database Page,代表我們要操作的是資料庫中的一個頁面。
Operation: 選擇 Create,因為我們要新增一個頁面。
Database ID: 點擊下拉選單,選擇您要用來存放每日摘要的那個資料庫。
Properties (屬性):
這是設定頁面標題、日期等欄位的關鍵。點擊
+ Add Property
來新增欄位對應。
名稱 (Title) 設定:
Key Name or ID:選擇您資料庫中的標題 (Title) 欄位。
Value :為了讓每天的標題都獨一無二,我們使用 n8n 的表達式 (Expression) 來動態產生:
{{ $now.toFormat('yyyy-MM-dd') }} 待辦
日期設定:
再次點擊 + Add Property
。
Key Name or ID:選擇您資料庫中的日期(可自行更換)欄位。
Value :同樣使用表達式,自動填入當天日期:
{{ $now.toFormat('yyyy-MM-dd') }}
Content (內容):
這一步是將 AI 的產出寫入頁面內文。點擊 + Add Content
。
在 Text 欄位中,點擊 Add Expression,並使用以下表達式來引用前一個 AI 節點的輸出結果 (此處以 Google Calendar 節點為例,請依您實際的節點名稱調整):
{{ $('Google Calendar').item.json.start.date }}
完成設定後,節點看起來應該會像這樣:
在實作過程中,我遇到了一些小麻煩,這邊也分享給大家:
Notion 權限:如果您執行節點時出現權限錯誤,請務必確認已經在 Notion 中將目標資料庫存取權限給在 n8n 中設定的那個 Integration (整合)。
內容格式化:目前 AI 生成的內容是純文字。若您追求更豐富的排版 (如標題、清單),可以讓 LLM 輸出 Markdown 格式。
接著,您需要在 n8n 中加入一個 Code 節點,撰寫一小段 JavaScript 將 Markdown 轉換為 Notion API 支援的 Block 物件陣列。不過,對於多數日常摘要需求,純文字已足夠清晰且實作最為簡單。
重複執行:如果您在測試時手動多次執行這個節點,它會每一次都在 Notion 中建立一個新頁面。請記得在測試完畢後將重複的頁面刪除。
老實說,今天完成的流程雖然能動,但我對結果還不是 100% 滿意。目前的輸出格式有些單調,而且重複執行的問題在未來也需要一個更聰明的解決方案。
接下來,我計畫處理以下幾個問題:
內容格式化:引入 Markdown 或其他方式讓排版更美觀。
防止重複建立:研究如何讓工作流在執行前先檢查是否已存在相同日期的頁面。
導入 AI Agent:嘗試使用 AI Agent 來整合與潤飾資料,讓摘要更精準。
今天的實作是個重要的里程碑,我們成功將 AI 的智慧寫入了 Notion。接下來,讓我們一起把這個工作流打磨得更完美吧!
敬請期待!