n8n 實作指南

每天早上 7:30,
行程與 AI 新聞自動寄到信箱

用 n8n 串接 Google Calendar、RSS 與 OpenAI,把原本每天 15–30 分鐘的手動檢查,變成一封排版好的 HTML 報告信,可節省約 80% 的處理時間。

整體架構:兩條支線,合成一封信

觸發
On a Schedule每天 07:30
支線 1:個人行程(2 筆)
Google CalendarGet Many Events
→
Date & Time時間改成易讀格式
→
Edit Fields只留名稱與時間
支線 2:AI 新聞(8 則)
RSS Read讀取科技媒體
→
FilterCategories 含 AI
→
Edit Fields只留標題與連結
合併與發送
Merge10 筆
→
Aggregate1 筆陣列
→
OpenAI產出 HTML
→
Gmail寄出報告
階段 1

行程:取出、轉換、瘦身

取得行程Google Calendar 選 Get Many Events。預設抓一週 50 筆,把時間範圍的 week 改成 day,只抓當天。
轉換時間原始值是 ISO 8601(2023-10-25T09:00:00.000Z),人很難讀。用 Date & Time 自訂格式 YYYY-MM-DD hh:mm a,輸出到「開始時間」欄位。
精簡欄位Edit Fields 只保留「活動名稱」(Summary)與「開始時間」,其餘 ID、參與者、說明全部丟掉。
為什麼要先瘦身?越早移除多餘欄位,送進 AI 的 token 越少,OpenAI 的費用更低、回應也更快。節點改名(例如 Format_Start_Time)也讓流程之後更好維護。
階段 2

新聞:用 RSS 抓取,用關鍵字過濾

RSS Read從 Trigger 拉出第二條支線,貼上科技媒體(如 TechCrunch)的 RSS 網址,執行即可取得最新文章。
Filter把 Categories 拖進條件,運算子選 contains,值填 AI,濾掉財經、硬體等雜訊。
Edit Fields只留「文章標題」(Title)與「原文連結」(Link),移除日期、作者與全文。
20 → 8
過濾前 20 則各領域新聞,過濾後只剩 8 則與 AI 直接相關。
個人化資訊濾網自己設定關鍵字,就是在對抗資訊過載:只有你在乎的內容能進入每日報告。
階段 3

Merge 合併支線,Aggregate 避免重複寄信

n8n 預設逐筆執行。若把 Merge 輸出的 10 筆直接接下去,後面的節點會跑 10 次,你就會收到 10 封信。

比較MergeAggregate
輸出結構10 個獨立 Item(2 行程 + 8 新聞)1 個 Item,內含 10 個元素的陣列
後續節點執行次數10 次只執行 1 次
用途把 Canvas 上的多條支線合為一條為 AI prompt 整理資料,並防止重複寄信
設定重點Edit Fields(行程)接 Merge 的 Input 1,Edit Fields(RSS)接 Input 2。Aggregate 選 All Item Lists,並勾選:活動名稱、開始時間、文章標題、原文連結。
階段 4

OpenAI 當編輯,Gmail 負責寄出

OpenAI:Message a Model選 GPT-4o 或 GPT-4o-mini。
System:定義角色,分成「今日行程」與「AI 新聞精選」兩部分,英文標題譯成流暢中文並附原文連結,只回傳 <body> 內的 HTML(含 inline CSS)。
User:{{ $json.data }} 帶入 Aggregate 的陣列。
Gmail:Send a MessageEmail Type 一定要改成 HTML,否則收到的是原始程式碼。Message 拖入 OpenAI 的輸出,填上收件人,Execute Step 實際測試。
改成每日自動執行刪除 Manual Trigger,改用 On a Schedule(Every Day、07:30),連到兩條支線的起點。接著替流程命名,並把右上角開關從 Inactive 切到 Active。
安全與驗證

上線前先處理 Credentials

OpenAI API Key到 OpenAI Platform 綁定付款方式,預先儲值 5–10 美元,建立新的 API Key,貼到 n8n 的 Credentials。
Google OAuth2(自架 / Local / Docker)自架網域會被 Google 視為「未驗證的應用程式」,需要自行設定。
Google Cloud Console 步驟
  1. 建立新 Project,啟用 Google Calendar API 與 Gmail API。
  2. OAuth Consent Screen 選 External,把自己的 email 加入 Test Users。
  3. 建立 Web Application 類型的 OAuth 2.0 Client ID,貼上 n8n 提供的 Redirect URI(如 http://localhost:5678/rest/oauth2-credential/callback)。
  4. 把 Client ID 與 Client Secret 填回 n8n,授權時通過「未驗證」警告。

總結與上線前檢查清單

你完成了多來源蒐集、資料清洗、合併與聚合,再到 AI 排版寄信的完整流程。啟用前逐項確認: