在前兩天(Day 19~20),我們分別完成了兩個階段的任務:
今天要更進一步:
不只是摘要一封信,而是要讓不同寄件者(不同主題)自動走不同的 AI 流程,再整合回同一個 Notion 資料庫。
換句話說,我們要讓「AI 讀電子報」成為一種多線並行的知識流。
當我開始訂閱多份電子報後(例如:「數創實驗室」、「Ali Abdaal」、「Kevin 英文不難」),
電子報 | 主題 | 內容特色 |
---|---|---|
數創電子報 | AI / 科技產業趨勢 | 結構化、研究導向 |
Ali Abdaal Newsletter | Productivity / Creator Life | 故事化、個人反思 |
Kevin 英文不難 | English Learning | 教學型、生活語言 |
每天信箱都像一場跨領域大亂鬥。有時早上開信箱會同時看到:「OpenAI 最新研究」、「Ali 分享創作瓶頸」、「Kevin 教你 ‘show someone around’」。
這些內容都很有價值,但問題是——
我不想再讓它們「堆在信箱裡」,希望每封信都能:
這就是我們今天的核心任務:為不同電子報打造專屬 Pipeline,讓資訊自動流入同一個知識中心。
下圖是今天完成的 Day 21 Workflow:
三條線路獨立運行、最後都流向同一個 Notion Database。
每條分支都有不同任務重點:
這次我設定依照三個不同 Sender 的過濾條件:
每當信件抵達信箱,n8n 會同時抓取三封信,依 sender 走不同的分支。
這是這次最關鍵的改進。
因為 Kevin 的郵件內容混雜了大量 HTML 標籤、CSS、追蹤參數與亂碼。
我在 Code in JavaScript node 中加上以下步驟:
// Step 1. 移除 CSS / font / color 等樣式
text = text.replace(/[{].*?[}]/gs, "");
// Step 2. 移除 URL、Base64、雜訊字串
text = text.replace(/https?:\/\/[^\s]+/g, "");
text = text.replace(/[A-Za-z0-9+/=]{30,}/g, "");
// Step 3. 清理換行與多餘空白
text = text.replace(/\n{2,}/g, "\n").trim();
// Step 4. 截斷長度(只留前 2000 字)
text = text.substring(0, 2000);
這樣就能讓郵件內容恢復可讀格式,適合再丟給 OpenAI 節點做摘要。
這部分分成三層:
Node | 功能 | 輸出格式 |
---|---|---|
OpenAI_Summary | 生成摘要與重點整理 | Summary / Key Points |
OpenAI_Classify | 判斷主題類別 | Category(例如 Tech / Life / Learning) |
OpenAI_Agenda | List電子報的大綱 | Agenda |
💡我在 Prompt 裡設計成:「請以繁體中文撰寫,保留專有名詞的英文,語氣自然但專業。」
這樣能保留技術細節(如 “AI Model”、“LLM”),同時讓內容可直接貼進 Notion。
Title
: 郵件標題Agenda
: AI 摘要內容Sender
: 來源寄件者Category
: 自動分類結果Status
: 預設為「Not started」做完這個版本,我最大的感受是:
「自動化不只是省時間,更是建立一個有結構的知識生態。」
以前我看電子報是「即時消費型」——看完就忘。
現在,每一封信都會:
AI 幫我把資訊流轉成知識流,而我只需要花時間在「思考」而不是「整理」。
今天我們完成了用 n8n 串接多來源電子報自動摘要系統,結合 Gmail、OpenAI、Notion 三方工具,讓知識真正能「自動流動」。這個系統不只是為了效率,更是一種資訊管理的哲學:
“讓 AI 幫我收集與整理,讓我專注於吸收與創造。”
有了這幾天的 Data Source 整合,已經可以繼續回到我們的主線任務 -- 建立 RAG (Retrieval-Augmented Generation) 知識庫。