Advanced Workflows: Webhooks, MCPs, Claude, GPTs, RAG & Chunking Strategies(上)

▌課程導覽

  1. What’s Ahead: Special Workflows, Advanced RAG Techniques & MCP

本節主要是接下來課程內容的路線圖,重點在於從基礎工作流進階到更複雜的整合與優化技術。



主要學習路徑:

  1. Model Context Protocol (MCP):

    • 學習 MCP 是什麼、如何運作,以及它與一般 Function Calling(函數呼叫)的區別。
    • 目標是建立自己的 MCP Servers。
  2. 工具整合實作:

    • Claude Desktop + n8n: 將桌面端 AI 與自動化工具連接。
    • ChatGPT + n8n: 透過 GPTs 與 Webhooks 連接自動化流程。
    • Flowise + n8n: 透過 HTTP Request 節點實現雙向連接(Flowise 呼叫 n8n,或反之)。這裡會涉及少量的 JavaScript 代碼 。
  3. 效能與檢索優化 (RAG & Caching):

    • Prompt Caching: 了解如何透過快取提示詞來加速 RAG 並降低成本。
    • 進階 RAG 技術: 介紹 Graph RAG(圖譜 RAG)與 Light RAG。
    • Contextual Retrieval: 重點介紹 Anthropic 提出的「上下文檢索」概念,這被認為是極佳的檢索優化策略 。
  4. 策略選擇: 學習何時該使用哪種概念,不需要在所有情境下使用所有技術 。


▌MCP 說明

  1. MCP (Model Context Protocol) Explained: MCP Server, Client & API Work Together

本節解析 Model Context Protocol (MCP) 的核心概念。

  1. MCP 的背景與定義

    • 起源: 由 Anthropic 於 2024 年 11 月 25 日推出 。起初反應平淡,但隨後熱度爆發,有望成為 AI 連接數據的標準 。

    • 核心價值: 就像 WhatsApp 因為用戶多而有價值,MCP 的價值在於成為一種「通用標準」。它解決了 LLM 與各種不同 API (Rest APIs) 溝通時格式混亂、標準不一的問題 。

  2. 核心比喻:AI 時代的 USB-C 接口

    • 傳統方式: 就像電腦要連接不同周邊設備(滑鼠、硬碟、螢幕)需要不同接口很麻煩。

    • MCP 方式: MCP 就像 USB-C 接口。

      • 電腦 (Host): LLM 或 AI 應用程式(如 Claude Desktop)。
      • 接口 (Protocol): MCP Client,負責標準化溝通。
      • 設備 (Server): 外部工具或數據源(如 Google Drive, Slack, GitHub, 資料庫)。
    • 優勢: 只要有一個標準接口,就能輕鬆插拔各種工具,無需為每個工具單獨寫複雜的適配代碼 。

  3. MCP 架構的三大角色

    1. MCP Host (主機): 發起請求的一方,例如 Claude Desktop、OpenAI Agent SDK、或是 IDE (如 Cursor)。
    2. MCP Client (客戶端): 位於中間的協議層,負責將 Host 的需求翻譯成標準格式。
    3. MCP Server (伺服器): 實際執行任務的工具端。它可以是發送郵件、更新 Google Sheets、存取向量資料庫的工具 。
  4. MCP vs. 傳統 Function Calling

    • 傳統 API/Function Calling:

      • 通常針對特定用途設計,並非專為 LLM 優化 。

      • 需要處理各種 HTTP 方法 (GET, POST, DELETE 等),容易出錯或數據雜亂 。

      • 若要連接 10 個工具,可能需要寫 10 種不同的 API 呼叫方式 。

    • MCP:

      • 被稱為「Function Calling on Steroids (增強版函數呼叫)」 。

      • 專為 LLM 構建: 採用標準化的 JSON 溝通,降低錯誤率 。

      • 動態自我發現 (Dynamic Self-Discovery): 這是 MCP 的殺手級功能。MCP Server 可以主動列出它擁有的所有功能(Tools/Resources)。當 API 更新時,Host 不需要重寫代碼,Server 會自動告知新功能 。

      • 簡化代理 (Slimmer Agents): Agent 不需要知道每個細節,只需對接一個 “Gmail MCP Server”,該 Server 就會處理所有收信、寄信的底層邏輯 。

  5. 實際應用場景

    • 在 n8n 中: 可以將 MCP 作為 Trigger(觸發器),從外部透過 MCP 協議啟動 n8n 流程 。也可以使用 “MCP Client Tool” 來呼叫其他的 MCP Servers 。

    • 在 Claude Desktop 中: 它可以作為一個 Agent,透過 MCP 連接本地文件、資料庫或 API,執行發送郵件、管理日曆等任務 。

  6. 結論

MCP 試圖將「LLM 呼叫工具」這件事標準化。它是一個包在 API 外層的 Wrapper(包裝器),負責將複雜的 API 呼叫翻譯成 LLM 容易理解的語言 。隨著越多公司開發自己的 MCP Server,AI Agent 的開發將變得像「插上 USB 設備」一樣簡單。


▌Claude Desktop (MCP Host) + n8n (MCP Server)

  1. Using Clade Desktop as an AI Agent (MCP Host) with MCP Server in n8n

將 Claude Desktop 設定為 MCP Host(AI Agent),並透過 n8n 作為中介 (MCP Server) 來操作外部工具 (Google 服務、資料庫等)。

示範如何讓桌面版的 Claude 具備「代理(Agent)」能力,能夠直接操作你的 Google Calendar、Gmail、Google Sheets,甚至連接向量資料庫進行 RAG。

1. 架構

  • Host: Claude Desktop (負責理解指令、決策)
  • Bridge: supergateway (透過 npx 執行的橋接工具,負責轉換 SSE 協議)
  • Server: n8n Workflow (負責實際執行 API 呼叫)

因為課程的劃分和參考資料(一開始的圖,來自文章末尾的影片)的劃分有一黠差異(其實是課程劃分的更細),所以我一開始有點搞混,後來用這個簡單的問答(誰在問問題?誰在傳話?誰在做事?)來區分最快,分享給大家:

  • 誰在問問題? Claude Desktop (Host)
  • 誰在傳話? supergateway (Client)
  • 誰在做事? n8n Workflow (Server)
對照 76. Claude Desktop 77. n8n Native
名稱 Claude Desktop as MCP Host Native MCP in n8n
說明 將桌面版 Claude 變成 Agent,透過橋接工具去呼叫 n8n 裡的工具。 在 n8n 內部建立 Agent,直接透過內建節點呼叫另一個 Workflow 或外部服務。
Agent (大腦) Claude 3.5 Sonnet
(Claude Desktop 內建模型)
AI Agent Node + LLM
(n8n 裡的邏輯組件,由我們配置 Prompt 與模型)
Host (軀殼) Claude Desktop App
(使用者操作的桌面軟體)
n8n Runtime (執行引擎)
(負責執行整個 Workflow 的系統環境)
Client (連接器) supergateway
(需在 config 檔中透過 npx 執行,負責將 SSE 轉為 Stdio)
MCP Client Tool Node
(n8n 的內建節點,直接填入 SSE URL 即可)
Server (工具箱) n8n Workflow
(使用 MCP Server Trigger 節點)
另一個 n8n Workflow 或 Zapier
(提供 SSE URL 的服務端)
運作流程 1. 用戶在 Claude 桌面版輸入指令。
2. supergateway 將指令轉發給 n8n。
3. n8n 執行工具並回傳結果。
1. 用戶在 n8n Chat 介面輸入指令。
2. MCP Client Tool 直接呼叫目標 URL。
3. 目標 Server 執行工具並回傳結果。

2. 步驟 A:設定 n8n (MCP Server)

利用講師的 MCP_for_Claude_Desktop.json 檔案,可以直接匯入完整的工具鏈。

以下是 Workflow 節點介紹:

  1. MCP Server Trigger:
    * 與 Claude Desktop 溝通的入口。
    * 關鍵動作:啟動 workflow 後,需複製此節點產生的 Production URL (SSE URL)。

  2. Google Calendar 工具組:
    * Google Calendar 節點:設定為 Create,用於建立新行程。
    * Google Calendar 節點:設定為 Get Many (GetAll),參數 limit: 5,用於讀取近期行程。

  3. Gmail 工具:
    * 設定為 Send,並關閉了 appendAttribution (不顯示 “Sent via n8n” 簽名檔)。

  4. Google Sheets 工具組:
    * Google Sheets 節點:設定為 Get Rows (讀取資料),鎖定 Leads 表單。
    * Google Sheets1 節點:設定為 Append (新增資料),將 Name/Mail/Telefon 寫入 Leads 表單。

  5. Calculator:
    * 基礎數學運算工具。

  6. RAG 知識庫 (Pinecone + OpenAI):
    * Pinecone Vector Store:設定 Mode 為 retrieve-as-tool
    * Index: prompting
    * Namespace: prompting
    * 配合 Embeddings OpenAI 節點進行語意搜尋。

3. 步驟 B:設定 Claude Desktop (MCP Host)

利用講師的 code+mcp.txt 檔案,修改 Claude Desktop 的設定檔。

  • 設定檔路徑:
    * FileSettingsDeveloperEdit Config
    * 開啟 claude_desktop_config.json

  • 配置代碼 (Configuration Code):

將以下程式貼入設定檔,並替換其中的 URL(步驟 A 中從 n8n 複製的網址):

{
  "mcpServers": {
    "n8n": {
      "command": "npx",
      "args": [
        "-y",
        "supergateway",
        "--sse",
        "YOUR URL FROM n8n MCP Server Trigger" 
      ]
    }
  }
}

  • 技術細節:這裡使用了 supergateway 套件 ,它支援 SSE (Server-Sent Events) 協議,這正是 n8n MCP Trigger 所使用的通訊方式。

4. 驗證與測試

  • 重啟:修改設定檔後,務必完全關閉並重新啟動 Claude Desktop。

  • 檢查:點擊輸入框旁的附件圖示,確認出現 n8n 的工具圖示。

  • 測試指令:
    * “Check my calendar for tomorrow” (測試 Get Calendar)
    * “Send an email to [Name]…” (測試 Gmail)
    * “Search the vector store for prompting tips” (測試 Pinecone RAG)


▌n8n Native MCP (Host & Server)

  1. Native MCP Server & MCP Host in n8n: Like Calling Another Workflow

主題:MCP Host 改用和 MCP Server 一樣的 n8n。

本節將 n8n 同時作為 MCP Host 與 MCP Server,示範如何在 n8n 內部透過 AI Agent 直接呼叫 MCP Server。

你可以建立一個完全在雲端運行的自動化 AI Agent,並且能像「呼叫子工作流」一樣,透過標準化的 MCP 協議來呼叫各種工具。

1. 架構

  • 架構
    * Host: n8n 中的 AI Agent 節點。
    * Connection: 透過 MCP Client Tool 節點連接。
    * Server: 另一個 n8n Workflow (透過 MCP Trigger),或是外部服務 (如 Zapier)。

  • 優勢
    * Token 節省:相比傳統的 “Execute Workflow Tool” (需要另一個 Agent 進行推理),MCP 是直接提供工具定義給當前的 Agent,減少了中間層的 Token 消耗。
    * 標準化:不管後端是 Gmail、資料庫還是 Zapier,Agent 都用同一種方式 (MCP) 溝通。

2. 實作步驟

在 n8n 建立 MCP Host,請參考講師附件 5+MCP_Host_and_client.json 的下半部結構。

  1. 建立 AI Agent:

    • 使用 AI Agent 節點。
    • 連接一個 Chat Model (如 OpenAI Chat Model, 講師建議用 GPT-4o-mini 以節省成本)。
  2. 掛載 MCP Client:

    • 新增一個 MCP Client Tool 節點,連接到 AI Agent 的 “Tools” 輸入端。
    • SSE Endpoint: 貼上目標 MCP Server 的 URL。
    • 來源 1(n8n URL): 上一節課做的 n8n MCP Server 的 Production URL(內部溝通)。
    • 來源 2(Zapier URL): 呼叫外部 SaaS 平台的現成功能(外部擴充:如 Zapier提供的 URL)。

3. 高級技巧

利用 Zapier 官方提供的 MCP Server 功能,讓你的 n8n Agent 瞬間擁有了操作 Zapier 上數萬種工具的能力,而不需要自己寫 API 串接。

操作方式:

  1. 前往 actions.zapier.com
  2. 設定你想要透過 AI 操作的 App (支援超過 20,000 種應用,如 Slack, Facebook 等)。
  3. 點擊 “Connect” 獲取 SSE Endpoint。
  4. 將此 URL 貼入 n8n 的 MCP Client Tool 中。

4. 講師 JSON 範例說明

本 JSON 是一個 “混合型” (Hybrid) 的範例,它在同一個 Workflow 中同時包含了 Server 和 Host 的邏輯,方便測試。

“systemMessage”:
“You are a helpful assistant
Always try to use mcp tool if i ask math questions, flowise, n8n or langchain questions.
If i want to send mails, get contacts or add contacts, also use mcp tool”

  • Server 端 (提供工具):
    * MCP Server Trigger: 定義了這是一個 MCP Server。
    * 掛載工具:
    * Gmail_send: 發送郵件。
    * set_contacts (Google Sheets): 新增聯絡人資料。
    * get_contacts (Google Sheets): 讀取聯絡人資料。
    * Pinecone Vector Store: 檢索 Flowise/LangChain 相關知識 (Namespace: flowise)。
    * Calculator: 計算機。

  • Host 端 (執行指令):
    * Chat Trigger: 接收使用者對話。
    * AI Agent: 負責思考與決策。
    * MCP Client Tool: 這裡的設定 填入了 Zapier 的 URL (https://actions.zapier.com/mcp/...)。
    * 如果想讓這個 Agent 呼叫「自己」定義的 Gmail/Sheets 工具,你需要將 MCP Server Trigger 的 Production URL 填入 MCP Client Tool 中 (影片中有提到可以這樣做來自我測試)。

5. 架構設計建議

講師建議採用 模組化 (Modular) 的設計思維:

  • 不要做一個巨大無比的 MCP Server。

  • 分類建立 Server:
    * 一個 Workflow 專門做 “Gmail MCP Server” (包含寄信、回信、草稿等所有功能)。
    * 一個 Workflow 專門做 “Calendar MCP Server”。
    * 一個 Workflow 專門做 “Knowledge Base MCP Server”。

  • Host 整合:在 AI Agent 上掛載多個 MCP Client Tools,分別連接上述不同的 Server URL。這樣 Agent 就知道什麼時候該呼叫哪個 Server,也比較容易維護。

6. 本節總結

這節課將 MCP 的應用從「桌面端」延伸到了「伺服器端自動化」。

透過 n8n 的 MCP Client 節點,我們可以用標準化的接口串聯多個 n8n Workflows 甚至外部 Zapier 服務,這是建構複雜 AI Agent 系統的一種高效、低 Token 消耗的架構模式。


▌ChatGPT + n8n (Webhooks)

  1. Connecting ChatGPT with n8n via Webhooks for AI Automations

主題是將 ChatGPT (Custom GPTs) 透過 Webhooks 連接 n8n,使其具備執行外部工具的能力。本節暫時離開 MCP 協議,回歸 OpenAI 原生的 Actions 功能。

1. 核心概念:Webhooks vs. MCP

  • 現狀:目前 ChatGPT (Custom GPTs) 原生支援的是 Actions,其底層技術是標準的 REST API (Webhooks),而非 MCP 協議。

  • 架構目標:

    • 大腦 (Brain): ChatGPT (負責對話理解與決策)。
    • 手腳 (Limbs): n8n Workflow (負責執行工具,如 Gmail, Calendar)。
  • 運作流程:

    1. 使用者在 ChatGPT 輸入指令。
    2. ChatGPT 透過 Action (HTTP POST) 發送 JSON 請求給 n8n。
    3. n8n 的 AI Agent 接收 Prompt,並呼叫對應工具。
    4. n8n 執行完畢,透過 Respond to Webhook 將結果回傳。
    5. ChatGPT 接收結果並生成最終回應。

2. 步驟 A:設定 n8n (Backend)

可匯入講師提供的附件 6+ChatGPT_webhook_agent.json

關鍵節點解析:

  1. Webhook Node (Trigger):

    • Method: 必須設為 POST。
    • Response Mode: 必須設定為 “Using ‘Respond to Webhook’ node” (JSON 中參數為 responseNode)。若未設定,ChatGPT 會因超時而報錯。
  2. AI Agent Node:

    • Text Input: 這裡必須綁定 Webhook 傳來的 Prompt。
    • 設定值: ={{ $json.body.prompt }}。這對應到前端 Schema 定義的欄位。
  3. Respond to Webhook Node:

    • 流程的終點,負責將 Agent 的執行結果 (Output) 回傳給 ChatGPT。

3. 步驟 B:設定 ChatGPT Actions (Frontend)

這是在 ChatGPT 網頁端 (Create a GPT) 的操作。

  • 建立 Action:

    1. 進入 GPT Builder → Configure → Create new action。
    2. Schema: 填入 OpenAPI Specification。
  • 使用範例代碼:

    參考講師附件 Example+COde+ChatGPT+Actions.txt

    • 修改 1 (Servers URL): 將 URL 替換成你 n8n 的 Production URL (例如 https://yourname.app.n8n.cloud)。
    • 修改 2 (Path): 替換成 Webhook 節點的路徑 (例如 /webhook/64838d6e...)。
    • 參數定義: 代碼中定義了 prompt 欄位 ,這就是 n8n 端讀取資料的依據。

4. 常見問題與除錯 (Troubleshooting)

  • 測試環境 vs. 生產環境:

    • 初期測試使用 n8n Webhook 的 Test URL。
    • 確認流程無誤後,Activate n8n Workflow,並將 ChatGPT Action 中的 URL 更新為 Production URL。
  • Agent 沒反應?

    • 檢查 n8n AI Agent 的輸入是否有正確綁定 {{ $json.body.prompt }}
  • ChatGPT 顯示 Error Talking to plugin?

    • 確認 n8n 流程最後是否有接上 Respond to Webhook 節點。

5. 架構比較

  • 本節架構:

    • 大腦: ChatGPT (GPT-4)。
    • 優點: 可利用 GPT Store 生態、模型能力強。
    • 缺點: 依賴 Webhook,非 MCP 標準。
  • 上節架構:

    • 大腦: n8n AI Agent。
    • 優點: 隱私性高、完全自定義、支援 MCP 標準。
  1. ChatGPT Webhooks 與 78. n8n Native MCP 兩種架構的比較:

架構比較表

ChatGPT Agent vs. n8n Native Agent

比較項目 第四節 (79) 架構 第三節 (78) 架構
核心主題 ChatGPT + n8n (Webhooks) n8n Native MCP (Host & Server)
大腦 (決策核心) ChatGPT (GPT-4) n8n AI Agent
連接技術 Webhooks (REST API / OpenAI Actions) MCP (Model Context Protocol)
優點 1. 生態系強: 可發布至 GPT Store。
2. 模型能力: 直接利用 ChatGPT 強大的推理與對話能力。
3. 介面友善: 使用者直接與 ChatGPT 介面對話。
1. 隱私性高: 數據無需經過 OpenAI 的 Actions 伺服器,完全在自控環境。
2. 完全自定義: 流程控制權在自己手上。
3. 標準化: 支援 MCP 標準,未來擴充性佳。
缺點/限制 依賴 Webhook 格式,非 MCP 標準協議。 需自行設定 Host 與 Client,介面依賴 n8n 或其他前端。
適用場景 適合面向大眾的服務、需要 ChatGPT 強大閒聊能力的場景。 適合企業內部自動化、處理敏感資料、或需要精確控制工具呼叫的場景。

適用情境

  • 選 79. ChatGPT: 當你需要一個「聰明的對話介面」且希望分享給他人使用時。
  • 選 78. n8n MCP: 當你需要一個「隱私且高效的自動化機器人」來處理內部業務時。

▌n8n ➔ Flowise

  1. Connecting Flowise to n8n: Use HTTP Post Request & cURL Import

本節主題是將 Flowise 當作一個「工具」掛載到 n8n 中。

本節示範一個非常實用的整合技巧:如果我們已經在 Flowise 裡建構了一個功能強大的 AI Agent (例如:上網搜尋、RAG 或特定記憶功能的 Agent),就不需要在 n8n 裡重新打造輪子,而是可以直接透過 API 呼叫 Flowise,讓它為 n8n 服務。

主題:在 n8n 中透過 HTTP Request 呼叫 Flowise Workflow,實現「Agent 呼叫 Agent」的架構。

1. 核心概念:為什麼要這樣做?

  • 重覆使用:Flowise 非常適合快速建構複雜的 Agent (例如包含 Document Store, Web Search, Memory 的 Agent)。

  • 整合性: n8n 擅長處理自動化流程。透過將 Flowise 變成 n8n 的一個「工具」,你可以讓 n8n 的主流程去呼叫 Flowise 處理困難的推理任務,處理完後再將結果傳回 n8n 繼續後續動作。

2. 步驟 A:準備 Flowise (API 端)

  • 講師使用現成的 Flowise Agent,該 Agent 具備 Brave Search (搜尋引擎)、Calculator (計算機) 與 Window Buffer Memory。

  • 獲取 API:
    1. 在 Flowise 介面右上角點擊 </> (API Code) 圖示。
    2. 切換到 cURL 頁籤。
    3. 複製代碼: 直接複製整段 cURL 指令。這是最快的方法,因為它包含了 URL、Method 和 Headers。

3. 步驟 B:設定 n8n (呼叫端)

  • 建立 HTTP Request Tool:
    1. 在 n8n 的 AI Agent 下掛載一個 HTTP Request 工具節點。
    2. Import cURL: 在節點設定中,找到 “Import cURL” 按鈕。
    3. 貼上: 將剛才從 Flowise 複製的代碼貼上,n8n 會自動解析並填入 URL (POST)、Headers 和 Body。

  • 關鍵設定 - 資料映射 (Mapping):
    * 預設導入的 Body 會有一個靜態的 question (例如 “Hey how are you”)。
    * 修正: 必須將這個值改為 Dynamic Expression。
    * 操作: 刪除舊值,並拖入 AI Agent 的 Chat Input (或是 User Prompt 變數),這樣 n8n 才會把使用者真正的問題傳給 Flowise。

4. 測試與驗證

  • 聯網搜尋測試:
    * 問 n8n: “What is the Bitcoin price?”
    * 流程: n8n ➔ HTTP Request ➔ Flowise (啟動 Brave Search) ➔ 回傳 “約 101k USD” ➔ n8n 顯示結果。

  • 其他工具測試:
    * 問: “Current date and time?” ➔ 成功回傳。

5. 已知限制 (Limitations)

  • 本地檔案寫入 (Local File Write):
    * 講師嘗試讓雲端版 (Hosted on Render) 的 Flowise Agent 寫入檔案到「本地電腦」。
    * 結果: 失敗或極不穩定。因為雲端實例 (Cloud Instance) 無法直接存取你本地電腦的檔案系統。
    * 建議: 雲端對雲端的自動化操作應避免涉及本地檔案系統路徑。

6. 總結

透過 “Import cURL” 功能,將 Flowise 整合進 n8n 變得非常簡單,你不需要手動填寫複雜的 API 參數。

這種架構讓你可以在 n8n 中使用一個「更聰明」的工具節點(也就是你的 Flowise Agent),來處理特定的知識檢索或邏輯推理。

下節預告: 既然可以從 n8n 呼叫 Flowise,下一節將示範反向操作:從 Flowise 呼叫 n8n Workflow。

▌Flowise ➔ n8n

  1. Connecting n8n to Flowise: Webhooks & Google Sheets via JavaScript

上一節,我們從 n8n 呼叫 Flowise,這一節則反過來,從 Flowise 呼叫 n8n(從 Flowise 觸發 n8n Workflow)。

利用 Flowise 的多 Agent 協作能力處理複雜資訊,當它需要執行外部動作(本範例為寫入 Google Sheets)時,再將結構化數據傳給 n8n 進行儲存(透過 Custom Tool 自定義工具發送 Webhook 給 n8n)。

1. 核心架構設計

  • Flowise 端 (大腦): 建立一個 Supervisor (主管) Agent,負責指揮兩個 Worker Agents:

    1. Research Agent: 負責聯網搜尋股票資訊 (使用 SerpAPI)。
    2. Sheets Agent: 負責從搜尋結果中提取關鍵資料,並呼叫 Custom Tool 傳送給 n8n。
  • n8n 端 (手腳): 建立一個 Webhook Workflow,接收來自 Flowise 的數據並寫入 Google Sheets。

2. 步驟 A:建立 Flowise Multi-Agent

  1. Supervisor:

    • 連接 Chat Model (如 GPT-4o)。
    • Prompt 設定:「先使用 Research Agent 尋找資訊,然後將結果傳給 Sheets Agent」。
  2. Research Agent:

    • 掛載 SerpAPI 工具,賦予其搜尋即時股價與新聞的能力。
    • Prompt 設定:「你是一個搜尋助手…」。
  3. Sheets Agent:

    • Prompt: 設定為「從 Research Agent 的結果中提取 Stock Ticker (代碼) 和 Price (價格),並使用 Create Sheet 工具」。
    • Custom Tool: 這是 Flowise 與 n8n 的橋樑,我們需要在下一步建立它。

3. 步驟 B:設定 Flowise Custom Tool (JavaScript)

我們需要在 Flowise 中建立一個工具,透過 JavaScript 發送 HTTP POST 請求給 n8n。

建立 Custom Tool:

  • 名稱設定為 Create Sheets

  • Input Schema (輸入架構): 定義要傳給 n8n 的欄位。

    • stockTicker (String, Required)。
    • price (Number, Required)。
    • summary (String, Optional) - 後續追加的新聞摘要欄位。
  • JavaScript Code:

    • 使用 fetch 發送 POST 請求。
    • URL: 填入 n8n Webhook 的 URL。
    • Body: 將 Input Schema 的變數 (如 $stockTicker) 放入 JSON body 中傳送。
    • 可以使用 ChatGPT 幫忙生成這段 fetch代碼。

4. 步驟 C:設定 n8n Webhook Workflow

  1. Webhook Node:

    • Method: 設定為 POST
    • Path: 自定義路徑。
    • Response Mode: 設定為 Immediately (因為 Flowise 只需要知道發送成功,不需要等待 n8n 處理完)。
    • Test vs Production: 測試時使用 Test URL,正式運行時務必切換為 Production URL。
  2. Google Sheets Node:

    • Operation: Append Row (從資料端新增一列)。
    • Mapping: 將 Webhook 接收到的 JSON Body 數據 (Stock Ticker, Price, Summary) 對應到 Google Sheets 的欄位。

5. 測試與上線流程

  1. 測試 (Test Mode):

    • 在 n8n 點擊 “Listen for test event”。
    • 在 Flowise 輸入 “Tesla news and price”。
    • Flowise 觸發流程 ➔ n8n 收到數據 ➔ 寫入 Google Sheets。
  2. 上線 (Production Mode)步驟:

    很多人測試成功後,切換到 Production 模式卻失敗,通常是因為忘記更新 URL (關鍵陷阱)。

    1. 將 n8n Workflow 設為 Active。
    2. 複製 Webhook 的 Production URL。
    3. 回到 Flowise 的 Custom Tool,更新代碼中的 URL。
    4. 儲存 Flowise Workflow。

6. 總結

透過這兩節課 (81 & 82),我們學習了 Flowise 與 n8n 的雙向打通:

  • n8n ➔ Flowise: 適合讓 n8n 主導流程,將 Flowise 當作一個「超級工具」來使用(例如利用 Flowise 的 RAG 能力)。

  • Flowise ➔ n8n: 適合建構複雜的 Multi-Agent 系統,利用 Flowise 的編排能力,最後將結構化結果輸出到 n8n 進行後續自動化處理(如歸檔、通知)。


▌參考資料

1 Like