iT邦幫忙

2025 iThome 鐵人賽

DAY 25
0

在前面的七天裡,我們從不同角度探索了 n8n 的強大功能:我們學會了如何處理影片上傳、建立錯誤監控系統、串接 Webhook 接收即時訊息,並且打造了能夠跨平台運作的智慧助理。這些看似獨立的主題,其實都圍繞著一個核心概念:如何讓工作流更健壯、更智慧、更貼近真實需求

今天這篇文章,我們將把這七天的內容進行重點整理。

我們會把相似的主題放在一起比較、把分散的知識點串連起來,幫助你建立一個更完整的知識架構。


一、影片自動化:節點調整與常見錯誤

1.1 從圖文到影音的節點調整

節點類型 圖文設定 影片設定
FB 粉專 直接發布,文案用caption參數 也是直接發布,文案用description參數
IG media_type: IMAGEimage_url: 圖片連結 media_type: REELSvideo_url: 影片連結Host URL: Video uploads
Threads media_type:IMAGEimage_url: 圖片連結 media_type: VIDEOvideo_url: 影片連結

1.2 常見錯誤處理策略

錯誤類型 發生原因 解決方案 實作節點
Supabase Duplicate 重複上傳同一檔案 上傳前先檢查檔案是否存在 Supabase Search → Code 判斷 → If 分流
Container Not Ready 影片打包需要時間 發布前確認 container 狀態 HTTP Request 查詢狀態 → If 判斷 → Wait 等待

Container 狀態查詢 URL

平台 API Endpoint
IG https://graph.facebook.com/v23.0/{container_id}?fields=status_code
Threads https://graph.threads.net/v1.0/{container_id}?fields=status_code

二、錯誤處理系統:主動監控機制

2.1 Error Trigger 核心特性

特性 說明
觸發時機 只在自動執行的工作流出錯時觸發
啟用需求 不需要手動啟用(Active)
測試方式 無法手動測試
綁定方式 Settings → Error Workflow → 選擇錯誤處理工作流
應用範圍 可讓多個工作流指向同一個錯誤處理流程

2.2 智慧錯誤儀表板架構

步驟 節點 功能
1. 接收錯誤 Error Trigger 自動捕捉錯誤訊息
2. AI 診斷 AI Agent 白話文解釋錯誤、提供 2-3 個具體修正建議
3. 記錄錯誤 Google Sheet (Append Row) 寫入錯誤儀表板
4. 即時通知 Discord 推送錯誤摘要與建議

錯誤儀表板欄位設計

欄位名稱 內容
Timestamp 錯誤發生時間
workflow_name 出錯的工作流
workflow_url 執行紀錄連結
failedNode_name 失敗的節點
raw_ErrorMessage 原始錯誤訊息
AI_Suggestion AI 分析建議

三、Google Sheet 多元應用場景

3.1 應用場景比較

應用場景 角色定位 主要功能 關鍵欄位
指令面板 發文控制台 預先規劃貼文內容與風格 file_name, style, status, priority
錯誤儀表板紀錄 系統健康追蹤 記錄所有錯誤事件 Timestamp, workflow_name, AI_Suggestion
AI Agent 的資料庫 Tool Integration 提供 AI 查詢資料(如中獎號碼) 依應用場景設計

3.2 操作模式比較

操作類型 節點 使用時機 特性
讀取 Read Row(s) 取得任務清單、查詢資料 可設篩選條件(一列 = 一個 item)
寫入 Append Row 新增錯誤記錄、發票資訊 每個 item 寫入一列
更新 Update Row 更新任務狀態、回寫 URL 需指定定位欄位,找到要更新的列

3.3 實務限制與替代方案

情境 是否適用 Google Sheet 建議方案
小型專案、快速原型 ✅ 適用 Google Sheet
內容量大、頻率高 ❌ 不適用 Supabase, Airtable
需複雜查詢 ❌ 不適用 專業資料庫
教學示範 ✅ 適用 Google Sheet

四、Webhook 核心概念

4.1 Webhook 運作原理

概念 比喻 說明
Webhook 瓦斯管路 + 地址 資料流動的管道與目的地
送出訊息 瓦斯公司 → 用戶 對方的 Webhook URL
接收訊息 用戶收瓦斯 自己的 Webhook URL

關鍵規則:要把 A 的資料傳到 B,就在 A 設定 B 的 Webhook URL

4.2 URL 類型比較

URL 類型 使用階段 啟用方式 查看方式 適用情境
Test URL 開發測試 點選「Listen for test event」 節點介面直接顯示 開發、除錯
Production URL 正式上線 工作流設為 Active Executions 頁籤查看 正式環境

重要:切換 URL 類型時,需重新綁定並驗證外部服務


五、跨平台訊息整合:LINE vs Messenger

5.1 Webhook 綁定流程比較

步驟 LINE Facebook Messenger
複雜度 簡單 複雜
核心流程 1. 貼 Webhook URL2. 點選 Verify 1. 建立 Webhook Trigger (GET) →2. 添加 Respond to Webhook 節點→3. 回傳 hub.challenge →4. 填入驗證權杖→ 5. 可能需驗證兩次
特殊要求 需回傳 hub.challenge 驗證

5.2 訊息結構比較

訊息類型 LINE Facebook Messenger
文字訊息 message.type: textmessage.text: 內容 body.entry[0].messaging[0].message.text
圖片訊息 message.type: imagemessage.id: 圖片 ID body.entry[0].messaging[0].message.attachments[0].payload.url
判斷方式 檢查 message.type 檢查是否有 attachments

5.3 圖片取得方式比較

平台 方法 HTTP 設定
LINE 透過 API 取得 Method: POSTURL: https://api-data.line.me/v2/bot/message/{message.id}/contentAuth: LINE Bearer
Messenger 直接下載 Method: GETURL: 回傳的圖片 URLResponse format: File

5.4 訊息回覆方式比較

LINE 回覆機制

方式 使用時機 識別方式 特性 API Endpoint
Reply 回覆剛收到的訊息 replyToken 只能用一次、時效短 /v2/bot/message/reply
Push 主動推送訊息 userId 隨時可用、無次數限制 /v2/bot/message/push

Messenger 回覆機制

項目 說明
API Facebook Graph API
節點 Graph API 節點 或 HTTP Request
識別方式 sender.id
特性 統一方式,較直觀

5.5 通用處理流程

階段 主要動作 使用節點
1. 接收 透過 Webhook 接收訊息 Webhook Trigger
2. 判斷 提取關鍵欄位→根據訊息類型分流 Edit Fields→If / Switch
3. 處理 文字 → AI 分析;圖片 → Gemini 辨識 AI Agent、Gemini Analyze Image
4. 回覆 透過對應 API 回傳 HTTP Request / Graph API

重點:不同平台的差異主要在「接收」與「回覆」,「處理」邏輯大致相同


六、AI Agent 進階應用

6.1 AI Agent 應用場景

應用場景 AI 任務 關鍵技巧
錯誤診斷 解讀錯誤並提供建議 Output Parser 輸出 JSON
發票辨識 從圖片擷取發票資訊 Gemini Analyze Image
記帳分析 提取消費項目與金額 Structured Output Parser
發票對獎 比對中獎號碼 掛載 Google Sheet Tool
智慧客服 回答問題並推薦商品 掛載 Memory 記住脈絡

6.2 進階功能比較

功能 用途 設定方式 適用場景
Output Parser 將 AI 輸出轉為結構化資料 開啟 Require Specific Output Format→添加 Structured Output Parser 需寫入資料庫、需進行後續處理
Tool Integration 讓 AI 查詢外部資料 在 Tool 分支添加工具(如 Google Sheet Tool) 需即時查詢資料(如商品庫存、中獎號碼)
Memory 記住對話脈絡 在 Memory 分支添加 Simple Memory → 設定 Session Key(用戶 ID) 多輪對話、需理解上下文

6.3 Memory 機制詳解

項目 說明
問題 AI 只看單一訊息,無法理解上下文
解決方案 使用 Memory 記錄對話歷史
Session Key 用戶 ID,區分不同使用者的記憶
運作方式 AI 回覆時自動抓取對應用戶的對話歷史

七、保險機制:防止亂入訊息

7.1 保險機制設計

階段 動作 節點
1. 接收訊息 取得文字或圖片 Webhook Trigger
2. AI 判斷 判斷是否符合處理邏輯 AI Agent / Gemini
3. 分流處理 符合 → 繼續執行;不符合 → 回覆說明並中止 If 節點

7.2 實作範例

判斷類型 使用節點 Prompt 重點 輸出格式
圖片判斷(是否為發票) Gemini Analyze Image 判斷是否為電子發票 {"is_invoice": true/false}
文字判斷(是否為記帳) AI Agent 判斷是否與消費記帳有關 {"is_expense": true/false}

7.3 保險機制的價值

情境 無保險機制 有保險機制
收到貓咪照片 誤判為發票,寫入錯誤資料 回覆「這不是發票喔!」
收到「哈哈哈」 嘗試提取消費金額,流程報錯 回覆「我只能幫你記帳喔!」
收到貼圖 無法處理,整條流程中斷 禮貌回覆說明

八、快速參考表

8.1 核心節點功能總覽

節點類型 主要功能 常見應用 注意事項
Edit Fields 提取、重新命名、轉換欄位 從複雜結構提取關鍵資料 保持命名清晰
Code 執行 JavaScript 轉換資料格式、篩選 item 善用 console.log 除錯
Split Out 將陣列拆分成多個 item 多筆記帳項目分別寫入 Sheet 每個 item 獨立處理
Merge 合併不同節點的資料 整合多個平台發文 URL 選擇適當的合併模式

8.2 條件分流策略

節點 適用情境 優勢 範例
If 二選一 簡單直觀 檔案是否存在
Switch 多選一(3+ 選項) 避免冗長的 If 鏈 文案風格選擇(4 種)
Router 同時執行多分支 並行處理 同時發布到多平台

8.3 憑證管理建議

服務 憑證類型 命名建議 用途區分
Google Sheet OAuth2 Google_Sheet_Main 主要資料管理
Google Drive OAuth2 Google_Drive_Media 媒體檔案
LINE Bearer Token LINE_Bot_Accounting 記帳機器人
FB/IG Page Access Token FB_Page_Post / FB_Page_Reply 發文 / 回覆
Threads Bearer Token Threads_Bot Threads 機器人

8.4 錯誤處理層次

層次 處理策略 實作方式
第一層:預防 事前檢查 上傳前檢查檔案、發布前確認 container、AI 判斷訊息有效性
第二層:狀態判斷 動作後確認 If 判斷成功/失敗、失敗時更新狀態為 Error
第三層:全域監控 Error Trigger AI 診斷、寫入錯誤儀表板、即時通知

九、結論

在這七天裡,我們學到的不是工具,而是方法。我們用節點拆解問題,用條件判斷邏輯,用 AI 補上人類的判斷力,一步步把「想法」轉化為能真實運作的流程。

從影片自動化、錯誤監控、Webhook 到 AI Agent,每一次實作,都是在學會如何讓系統理解你的思維方式。而當你開始能夠設計自己的流程時,你已經不只是使用 n8n,而是在建立屬於自己的「自動化語言」。

明天,我想帶你進入下一個階段:試著從生活中那些重複卻必要的動作開始,

觀察、拆解、抽象化,把它們轉譯成一條條能自己運作的工作流。因為最強大的自動化,不只是節點的連線,而是讓每個流程都更貼近——你真正想完成的事。


上一篇
Day 24: 【n8n x Webhook - 3】利用 Memory 打造 FB Messenger 智慧 AI 客服
下一篇
Day 26: 【n8n x 工作流設計思維】從複製到創造,建立你的自動化思考框架
系列文
《把瑣事交給 n8n:零基礎自動化工作流實戰》30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言