利用 n8n 實現 AI 自動化工作流

,

掌握 n8n:您的開源 AI 自動化利器

在數位時代,自動化已成為提升效率、節省時間與成本的關鍵。然而,許多人對於建構 AI 工作流感到卻步,認為其複雜難懂,甚至在花費數小時後仍無法有效掌握。客製化提示詞的困難、Token 的巨大消耗,以及 AI 無法順利存取網路等問題,都可能是您在自動化路上的絆腳石。別擔心,本文將深入淺出地引導您認識 n8n,一個強大的開源低程式碼開發自動化平台,讓您輕鬆打造個人化的 AI 助手,實現真正的 AI 自動化

為何選擇 n8n 進行 AI 自動化?

n8n 之所以備受推崇,源於其多項核心優勢。首先,它賦予了非專業開發人員建立 AI 自動化流程的能力。您無需具備深厚的程式設計背景,即可為自己或團隊開發自動化解決方案,如同瞬間擁有了無數助手。n8n 內建超過千種且持續高速增長的整合組件,涵蓋了您能想到的絕大多數常用應用程式。即使是較為冷門的應用,也能透過 API、Webhooks 及自訂程式碼進行擴充,實現無限可能。

相較於市面上其他知名的自動化平台,例如 Zapier 和 Make.comn8n 在成本效益和可擴展性上展現出獨特魅力。

功能比較 Zapier Make.com n8n
成本 較高 免費方案任務數有限,付費方案依用量而定 成本極低,可自行部署或使用雲端服務(約5美元起)
連接器數量 眾多,平台成熟 成熟,連接器豐富 超過1000種,且因開源特性,可客製化程度高
學習難度 較易上手 中等 初始資料較少,但透過本教學可大幅降低門檻
可擴展性 良好 良好 極高,開源特性帶來無限可能
AI 自動化 支援,但可能受限於方案與成本 支援,但可能受限於方案與成本 高度整合,輕鬆實現AI驅動的自動化

學習 n8n 意味著您可以第一線接觸到 AI 自動化的前沿技術,以低成本實現以往難以企及的複雜流程。本教學的目標,正是要將 n8n 的學習曲線從四顆星降至一兩顆星,讓您徹底打通任督二脈。

n8n 的架設選項:雲端與本地部署

開始使用 n8n 的第一步是選擇架設方式。您可以根據自身需求,在自行架設和雲端服務之間做出選擇。

架設方式 優點 缺點 適用對象
自行架設 資料完全掌控高度可控性與彈性、成本相對較低、客製化程度高、可深入整合內部系統 需自行安裝、維護、處理伺服器問題 對資料擁有權有高度要求、需整合內部系統、具備技術能力者
雲端服務 易用性高(一鍵安裝)、無需擔心可靠性與可用性、安全性由供應商保障 每月需支付成本、資料儲存於雲端 希望快速上手、不願處理技術維護、可接受雲端儲存者

若您處理機密文件,或希望 n8n 能深入控制您電腦內部的其他系統,那麼自行架設(包含在您自己的雲端服務器上架設)將是首選。對於一般大眾而言,若不想費心處理安裝維護等技術細節,n8n 官方提供的雲端服務或其他第三方提供的一鍵安裝服務(如 Railway)會是更便捷的選擇。許多初學者在本地端架設 n8n 時,常會遇到 n8n 無法上網或網路安全問題,後續將有教學專門解決此類困擾。

n8n 核心概念:工作流、節點與執行

理解 n8n 的核心概念對於高效運用至關重要。我們可以將其比喻為烹飪:

  • 工作流 (Workflow):如同菜譜,定義了自動化任務的完整流程。
  • 節點 (Node):如同菜譜中的步驟與食材,是構成工作流的基本單元。
  • 執行 (Execution):如同接到訂單後,依照菜譜實際烹飪的過程。

n8n 中的節點主要分為四大類型:

  1. 觸發型節點 (Trigger Nodes):定義工作流如何以及何時啟動。例如:手動觸發、定時觸發 (每分鐘、每小時、每天)、Webhook 觸發 (當其他服務發送訊號時)、表單提交觸發、其他工作流呼叫觸發等。
  2. 命令執行節點 (Action Nodes):負責執行具體任務。例如:AI Agent、大語言模型 (LLM) 呼叫、操作 Google Sheets (新增行、清除資料)、發送 Email、與 AirTable、GitHub、Notion 等應用程式互動。
  3. 資料傳輸/處理節點 (Data Transformation Nodes):用於提取、修改、轉換、匯總資料。例如:使用程式碼過濾資料 (如篩選特定日期的 Email)、使用 Set 節點新增或處理資料、Merge 節點合併資料流等。
  4. 邏輯節點 (Logic Nodes):控制工作流的走向與分支。例如:If 節點 (若條件為真則執行某路徑,否則執行另一路徑)、Switch 節點 (根據不同情境分流至多個路徑)、Loop 節點 (循環執行某段流程直至滿足條件)。

n8n 介面導覽與基礎操作技巧

登入 n8n 後,您會看到主控台介面,主要包含以下幾個區域:

  • Workflows:管理您所有已建立的工作流
  • Credentials:儲存您連接各種服務(如 Google 帳戶)的認證資訊。
  • Executions:查看所有工作流的執行記錄。
  • Templates:瀏覽並使用 n8n 官方或社群分享的工作流範本

使用範本非常簡單,您可以直接點選範本並選擇 “Copy template to clipboard” 複製 JSON 內容,然後在您的 n8n 環境中貼上,或選擇直接部署到您的雲端服務 (如 Render)。

在開始建立您的第一個 n8n 工作流前,掌握以下小技巧將事半功倍:

  1. 確實命名工作流與節點:雖然看似基礎,但清晰的命名能大幅節省您日後搜尋、整理及維護工作流的時間。為工作流添加標籤 (Tags) 也能幫助分類管理。

  2. 熟悉工作區操作

    • 編輯視窗:您在此處建構工作流
    • Execution 分頁:查看當前工作流的歷史執行狀況。
    • 新增節點:點擊 “+” 或按鍵盤 Tab 鍵。
    • 儲存:點擊 “Save” 或使用快捷鍵 Ctrl+S (Windows) / Command+S (Mac)。
    • 版本控制:社群版 n8n 的執行記錄通常保留一天,重要版本的工作流建議手動下載備份。
    • 錯誤處理:可在節點設定中指定當工作流出錯時,觸發另一個特定的工作流(例如發送錯誤通知郵件)。
  3. 理解資料呈現方式:在節點的輸入/輸出中,您會看到三種資料呈現方式:

    • JSON (JavaScript Object Notation)n8n 工作流中資料傳輸的核心格式,輕量且易讀。理解 JSON 的結構(物件以 {} 包裹,鍵值對 key:value,陣列以 [] 包裹)至關重要。強烈建議習慣使用 JSON 視圖
    • Table:以表格形式直觀展示數據,類似 Google Sheets。
    • Schema:如同資料的說明書,顯示資料結構、欄位名稱及其類型。
  4. 動態擷取資料

    • 直接拖曳:從前一個節點的輸出,將所需的資料欄位拖曳到當前節點的輸入欄位中。
    • Expression 模式:使用 {{ }} 語法。例如,{{ $json.name }} 可以擷取前一節點輸出 JSON 中 “name” 欄位的值。若要指定更早節點的資料,可以使用類似 {{ $('NodeName').json.fieldName }} 的語法,其中 NodeName 是您先前命名的節點名稱。節點的清晰命名在此非常關鍵。若欄位名稱包含空格 (如 “First Name”),則需使用 {{ $json['First Name'] }} 這樣的表示法。
  5. Pin Data (釘選資料):當處理大量資料時,每次測試都重新擷取會非常耗時。您可以將某個節點的輸出資料 “Pin” 起來,這樣後續節點測試時會直接使用這份暫存資料,大幅提升開發效率並節省運算成本。

  6. Retry on Fail (失敗時重試):對於可能不穩定的 API 呼叫或外部服務,可以設定節點在執行失敗時自動重試指定的次數與間隔,增強工作流的穩定性

  7. 使用 Note (便利貼):對於複雜的工作流,單純的節點命名可能不足以說明其功能。使用便利貼 (快捷鍵 Shift+S) 為工作流的不同區塊添加註解,可以極大提升可讀性與維護性

實戰 n8n:打造您的第一個自動化研究報告生成 AI

現在,我們將整合所學,一步步建構一個能自動生成研究報告的 AI Agent 工作流。這個 n8n 流程將模擬一個常見的商業情境:客戶填寫需求表單後,系統自動進行初步研究並生成一份會前準備報告。

階段一:表單觸發與資料寫入 Google Sheets (基礎 n8n 操作)

  1. 建立表單觸發器:使用 n8n 內建的 “Form Trigger” 節點。設計表單欄位,例如:姓名、姓氏、Email、預算 (下拉選單:0-200美元, 200-1000美元, 1000美元以上)、需求描述。設定必填欄位。
  2. 連接 Google Sheets
    • 認證 Google 帳戶:這需要在 Google Cloud Platform (GCP) 建立 OAuth 2.0 用戶端 ID,取得 Client ID 和 Client Secret,並在 n8n 中設定 Credentials。同時,確保已啟用 Google Sheets API 和 Google Drive API。
    • 使用 “Google Sheets” 節點的 “Append or Update Row” 操作。設定工作表名稱,並選擇以 Email 作為比對欄位 (若 Email 已存在則更新該行,否則新增一行)。
    • 將表單提交的資料(姓名、姓氏、Email、預算、需求)對應到 Google Sheets 的相應欄位。
    • 新增 “Date” 欄位,使用表達式 {{ $now.toFormat('yyyy-MM-dd') }} 自動填入當前日期。
    • 新增 “是否拒絕” (Rejected) 欄位:使用 JavaScript 條件判斷,若預算為 “0-200美元”,則此欄位填入 TRUE,否則填入 FALSE。例如:{{ $json.budget === '0-200 USD' ? true : false }} (注意:Google Sheets 的布林值是大寫 TRUE/FALSE,而 n8n 內部可能是小寫,需確保一致性)。

階段二:預算篩選與分流 (邏輯節點應用)

  1. 篩選低預算:使用 “Filter” 節點。設定條件為預算不是 “0-200 USD”。只有滿足此條件的資料才能進入下一步,實現初步過濾。
  2. 預算分流:使用 “Switch” 節點。
    • 規則1: 如果預算等於 “1000美元以上”,則走向輸出路徑0。
    • 規則2: 如果預算等於 “200-1000美元”,則走向輸出路徑1。

階段三:整合大語言模型 (LLM) 產生客製化郵件 (進階 n8n 與 AI)

  1. 連接 LLM:我們將使用 OpenRouter,它整合了多種 LLM (包括免費和付費模型,如 Google Gemini, OpenAI GPT 等)。
    • 在 OpenRouter 網站註冊並取得 API Key。
    • n8n 中新增 “OpenRouter Chat Model” 節點,並設定 Credentials。
    • 選擇一個合適的免費模型 (例如 Google Gemini 2.0 Pro EXP,具體模型可能隨時間變化)。
  2. 設計提示詞 (Prompt Engineering)
    • User Prompt:將客戶的姓名、預算、需求等資訊傳遞給 LLM。指示 LLM 根據預算級別撰寫不同目的的郵件:
      • 對於預算 200-1000 美元:撰寫追蹤郵件,回答其需求,並嘗試引導其提升預算至 1000 美元以上,促使其點擊會議連結。
      • 對於預算 1000 美元以上:撰寫積極的接洽郵件,回應其需求,提出簡短問題釐清模糊陳述,促使其盡快點擊會議連結。
    • System Prompt:定義 AI 的角色 (例如:“您是撰寫專業追蹤/接洽郵件的專家”)。設定撰寫規則 (例如:友善語氣、簡短扼要、使用與使用者內容相同的語言、至少200字、包含會議連結等)。要求輸出為 HTML 格式,以便郵件美觀。
    • 會議連結:使用如 cal.com 等服務生成一個會議預約連結,並將其包含在提示詞中,讓 LLM 嵌入郵件。
  3. 發送郵件:使用 “Gmail” (或其他郵件服務) 節點,將 LLM 生成的 HTML 內容作為郵件正文發送給客戶。

階段四:引入 AI Agent 與 RAG (檢索增強生成) (高級 n8n 與 AI)

若要讓 AI 回覆更具體、更貼近公司實際服務,我們需要為 AI Agent 提供一個「記憶體」,這就是 RAG (Retrieval Augmented Generation) 的用武之地。

  1. 準備知識庫:將公司的服務說明書、產品手冊等文件 (例如 PDF) 儲存在 Google Drive。
  2. 建立向量資料庫 (Vector Database)
    • 使用 PineCone (提供免費額度) 作為向量資料庫。在 PineCone 註冊並建立一個 Index,記下環境 (environment) 和 API Key。
    • n8n 中新增 “PineCone Vector Store” 節點並設定 Credentials。
    • 資料嵌入 (Embedding)
      • 使用 “Google Drive” 節點下載文件。
      • 使用 “Extract from File” 節點將 PDF 轉換為文字。
      • 使用 “Recursive Character Text Splitter” 將長文本切分成小段落 (chunks)。
      • 使用 n8n 的 “Google PaLM / Vertex AI Embeddings” 節點(或其他 embedding 模型如 OpenAI 的)將文本段落轉換為向量。需要在 Google AI Studio 或 Vertex AI 取得 API Key。
      • 將生成的向量及原始文本存入 PineCone。這個過程通常只需要執行一次,除非知識庫更新。
  3. 設定 AI Agent
    • 使用 n8n 的 “AI Agent” 節點。
    • 連接 LLM:選擇一個支援工具使用 (Tool Use) 的 LLM (例如 Google Flash-exp-free,具體模型可能隨時間變化)。
    • 添加工具 (Tools)
      • Vector Store Tool:連接到先前建立的 PineCone 向量資料庫。在描述中告知 AI Agent “用此資料庫回答所有公司相關問題”。
    • System Prompt for AI Agent
      • 總覽/角色定義:定義 AI Agent 的角色 (例如:“您是一位專業的客戶服務助理,負責根據公司服務內容撰寫個人化郵件”)。
      • 工具定義:明確指示 AI Agent “永遠使用名為 ‘company_services’ (您在向量工具中設定的名稱) 的工具來提取公司服務資訊以回應客戶需求”。
      • 信件撰寫規則:與階段三類似,但強調要結合從向量資料庫中檢索到的公司服務資訊。
      • 流程 SOP
        1. 閱讀客戶需求。
        2. 必須使用 Company Service 工具提取公司與客戶需求相關的服務資料。
        3. 根據信件撰寫規則和提取的資料,生成說服力強的郵件。
        4. 要求輸出為特定結構的 JSON 格式 (例如包含:greeting, introduction, services_offered, call_to_action 等欄位)。
  4. JSON 轉 HTML
    • 方法一 (使用 Code 節點):AI Agent 輸出 JSON 後,使用 “Code” 節點。將 AI Agent 輸出的 JSON 作為輸入,編寫 JavaScript (或 Python) 程式碼,將 JSON 內容動態渲染成 HTML 郵件模板。這能確保郵件版面的一致性。
    • 方法二 (再請求 LLM):AI Agent 輸出 JSON 後,再用一個 LLM 節點,將此 JSON 傳給 LLM,並指示 LLM 將此 JSON 內容轉換為美觀的 HTML 郵件。
  5. 發送郵件:同階段三。

階段五:Webhook 與 HTTP Request 賦予 AI 上網研究能力 (頂級 n8n 應用)

當客戶預約會議後,我們希望 AI Agent 能主動上網搜尋與客戶需求相關的最新資訊或行業趨勢,以生成更全面的會前報告。

  1. Webhook 觸發
    • cal.com (或其他會議預約工具) 通常支援 Webhook。在 cal.com 的開發者設定中,新增一個 Webhook,將 n8n 的 “Webhook” 節點生成的 URL 貼上。設定觸發事件為 “Booking Created”。
    • 當客戶成功預約會議,cal.com 會向此 URL 發送一個 POST 請求,觸發 n8n 工作流。Webhook 節點將接收到包含會議預約詳細資訊的 JSON 資料。
  2. 建立網路搜尋工具 (獨立工作流)
    • 新工作流:建立一個新的 n8n 工作流,專門用於網路搜尋。
    • 觸發器:使用 “Execute Workflow” 節點,使其可以被主工作流呼叫。
    • 搜尋服務:使用 Tavily API (提供免費搜尋額度)。註冊 Tavily 並取得 API Key。
    • HTTP Request 節點
      • 請求 URL:Tavily API 的端點 (例如 https://api.tavily.com/search)。
      • 請求方法:POST。
      • 認證:Header 認證,加入 Authorization: Bearer YOUR_TAVILY_API_KEYContent-Type: application/json
      • Body (JSON):傳遞搜尋查詢 (query)、搜尋深度 (search_depth: ‘advanced’)、包含答案 (include_answer: true)、結果數量 (max_results: 3) 等參數。
    • 處理搜尋結果:Tavily 返回的 JSON 包含多個搜尋結果 (URL, title, content)。使用 “Set” 節點,將這些結果整理成 AI Agent 易於讀取的格式 (例如:Source1_URL, Source1_Content, Source2_URL, Source2_Content…)。
    • 結束節點:確保此工作流將處理後的搜尋結果作為輸出。
  3. 主工作流中整合 AI 研究助理
    • 接續 Webhook 觸發器。
    • 提取客戶 Email:從 Webhook 收到的資料中提取客戶 Email。
    • 從 Google Sheets 獲取客戶原始需求:使用 “Google Sheets” 節點,根據 Email 查詢客戶先前提交的需求描述。
    • AI Agent 進行研究
      • 使用 “AI Agent” 節點。
      • LLM:同階段四。
      • 工具
        • Vector Store Tool (PineCone):同階段四,用於獲取公司內部服務資訊。
        • Call n8n Workflow Tool:呼叫先前建立的 “網路搜尋工具” 工作流。命名此工具 (例如 “TavilySearchTool”),並在描述中告知 AI “呼叫此工具進行網路搜尋以獲取最新資訊”。
      • User Message:傳入客戶的原始需求描述。
      • System Prompt for AI Agent (研究報告)
        • 角色定義:“您是一位專業的研究助理,負責圍繞使用者需求建構研究架構,並準備會前報告。”
        • 工具定義:
          • “使用 Vector Store Tool 提取公司內部相關服務資訊。”
          • 必須使用 TavilySearchTool 從網路取得與客戶需求相關的最新知識或行業趨勢。”
        • 引用指引:“收集資料時,對每個主要聲明或資訊點,包含一個內嵌的超連結引用來源。”
        • 研究架構提示:“報告應包含:客戶需求摘要、相關行業趨勢 (來自網路搜尋)、我方公司可提供的解決方案 (來自內部知識庫)、潛在痛點分析、建議會議討論問題 (3-5個,旨在30分鐘內獲取更多資訊)。”
        • SOP:
          1. 理解客戶需求。
          2. 圍繞需求建構研究架構。
          3. 使用 TavilySearchTool 驗證並迭代研究內容 (限制搜尋次數,例如不超過3次)。
          4. 使用 Vector Store Tool 結合公司服務。
          5. 遵守引用指引。
          6. 輸出結構化的 JSON 報告 (包含參考資料連結)。
    • JSON 轉 HTML:同階段四的方法,將 AI Agent 生成的研究報告 JSON 轉換為 HTML。
    • 發送會前通知郵件:將 HTML 報告發送給內部團隊成員。

通過以上步驟,您已成功利用 n8n 建構了一個從客戶互動、資料處理、AI 內容生成到主動網路研究的完整自動化流程。這個 n8n 驅動的 AI Agent 不僅能思考、記憶,更能有效地協助您完成複雜任務,真正將 AI 自動化落實到日常工作中。

這趟 n8n 的深度旅程,從基礎知識到高階應用,賦予了您打造個人化 AI 助理的能力。這些核心技巧,包括工作流設計、節點操作、JSON 資料處理、大語言模型整合、AI Agent 與 RAG 的運用,乃至 Webhook 和 HTTP 請求的掌握,都為您開啟了通往更高生產力的大門。


希望這份詳細的 n8n AI 自動化文章對您有所幫助。若您在企業數位轉型、AI 導入或客製化自動化流程方面需要專業協助,Tenten.co 擁有豐富的經驗與專業技術團隊,致力於為客戶提供最優質的解決方案。我們樂於聆聽您的需求,並共同打造高效的數位未來。立即 預約免費諮詢會議,讓我們一起讓 AI 為您的業務賦能!