掌握 n8n:您的開源 AI 自動化利器
在數位時代,自動化已成為提升效率、節省時間與成本的關鍵。然而,許多人對於建構 AI 工作流感到卻步,認為其複雜難懂,甚至在花費數小時後仍無法有效掌握。客製化提示詞的困難、Token 的巨大消耗,以及 AI 無法順利存取網路等問題,都可能是您在自動化路上的絆腳石。別擔心,本文將深入淺出地引導您認識 n8n,一個強大的開源低程式碼開發自動化平台,讓您輕鬆打造個人化的 AI 助手,實現真正的 AI 自動化。
為何選擇 n8n 進行 AI 自動化?
n8n 之所以備受推崇,源於其多項核心優勢。首先,它賦予了非專業開發人員建立 AI 自動化流程的能力。您無需具備深厚的程式設計背景,即可為自己或團隊開發自動化解決方案,如同瞬間擁有了無數助手。n8n 內建超過千種且持續高速增長的整合組件,涵蓋了您能想到的絕大多數常用應用程式。即使是較為冷門的應用,也能透過 API、Webhooks 及自訂程式碼進行擴充,實現無限可能。
相較於市面上其他知名的自動化平台,例如 Zapier 和 Make.com,n8n 在成本效益和可擴展性上展現出獨特魅力。
功能比較 | Zapier | Make.com | n8n |
---|---|---|---|
成本 | 較高 | 免費方案任務數有限,付費方案依用量而定 | 成本極低,可自行部署或使用雲端服務(約5美元起) |
連接器數量 | 眾多,平台成熟 | 成熟,連接器豐富 | 超過1000種,且因開源特性,可客製化程度高 |
學習難度 | 較易上手 | 中等 | 初始資料較少,但透過本教學可大幅降低門檻 |
可擴展性 | 良好 | 良好 | 極高,開源特性帶來無限可能 |
AI 自動化 | 支援,但可能受限於方案與成本 | 支援,但可能受限於方案與成本 | 高度整合,輕鬆實現AI驅動的自動化 |
學習 n8n 意味著您可以第一線接觸到 AI 自動化的前沿技術,以低成本實現以往難以企及的複雜流程。本教學的目標,正是要將 n8n 的學習曲線從四顆星降至一兩顆星,讓您徹底打通任督二脈。
n8n 的架設選項:雲端與本地部署
開始使用 n8n 的第一步是選擇架設方式。您可以根據自身需求,在自行架設和雲端服務之間做出選擇。
架設方式 | 優點 | 缺點 | 適用對象 |
---|---|---|---|
自行架設 | 資料完全掌控、高度可控性與彈性、成本相對較低、客製化程度高、可深入整合內部系統 | 需自行安裝、維護、處理伺服器問題 | 對資料擁有權有高度要求、需整合內部系統、具備技術能力者 |
雲端服務 | 易用性高(一鍵安裝)、無需擔心可靠性與可用性、安全性由供應商保障 | 每月需支付成本、資料儲存於雲端 | 希望快速上手、不願處理技術維護、可接受雲端儲存者 |
若您處理機密文件,或希望 n8n 能深入控制您電腦內部的其他系統,那麼自行架設(包含在您自己的雲端服務器上架設)將是首選。對於一般大眾而言,若不想費心處理安裝維護等技術細節,n8n 官方提供的雲端服務或其他第三方提供的一鍵安裝服務(如 Railway)會是更便捷的選擇。許多初學者在本地端架設 n8n 時,常會遇到 n8n 無法上網或網路安全問題,後續將有教學專門解決此類困擾。
n8n 核心概念:工作流、節點與執行
理解 n8n 的核心概念對於高效運用至關重要。我們可以將其比喻為烹飪:
- 工作流 (Workflow):如同菜譜,定義了自動化任務的完整流程。
- 節點 (Node):如同菜譜中的步驟與食材,是構成工作流的基本單元。
- 執行 (Execution):如同接到訂單後,依照菜譜實際烹飪的過程。
n8n 中的節點主要分為四大類型:
- 觸發型節點 (Trigger Nodes):定義工作流如何以及何時啟動。例如:手動觸發、定時觸發 (每分鐘、每小時、每天)、Webhook 觸發 (當其他服務發送訊號時)、表單提交觸發、其他工作流呼叫觸發等。
- 命令執行節點 (Action Nodes):負責執行具體任務。例如:AI Agent、大語言模型 (LLM) 呼叫、操作 Google Sheets (新增行、清除資料)、發送 Email、與 AirTable、GitHub、Notion 等應用程式互動。
- 資料傳輸/處理節點 (Data Transformation Nodes):用於提取、修改、轉換、匯總資料。例如:使用程式碼過濾資料 (如篩選特定日期的 Email)、使用
Set
節點新增或處理資料、Merge
節點合併資料流等。 - 邏輯節點 (Logic Nodes):控制工作流的走向與分支。例如:
If
節點 (若條件為真則執行某路徑,否則執行另一路徑)、Switch
節點 (根據不同情境分流至多個路徑)、Loop
節點 (循環執行某段流程直至滿足條件)。
n8n 介面導覽與基礎操作技巧
登入 n8n 後,您會看到主控台介面,主要包含以下幾個區域:
- Workflows:管理您所有已建立的工作流。
- Credentials:儲存您連接各種服務(如 Google 帳戶)的認證資訊。
- Executions:查看所有工作流的執行記錄。
- Templates:瀏覽並使用 n8n 官方或社群分享的工作流範本。
使用範本非常簡單,您可以直接點選範本並選擇 “Copy template to clipboard” 複製 JSON 內容,然後在您的 n8n 環境中貼上,或選擇直接部署到您的雲端服務 (如 Render)。
在開始建立您的第一個 n8n 工作流前,掌握以下小技巧將事半功倍:
-
確實命名工作流與節點:雖然看似基礎,但清晰的命名能大幅節省您日後搜尋、整理及維護工作流的時間。為工作流添加標籤 (Tags) 也能幫助分類管理。
-
熟悉工作區操作:
- 編輯視窗:您在此處建構工作流。
- Execution 分頁:查看當前工作流的歷史執行狀況。
- 新增節點:點擊 “+” 或按鍵盤
Tab
鍵。 - 儲存:點擊 “Save” 或使用快捷鍵
Ctrl+S
(Windows) /Command+S
(Mac)。 - 版本控制:社群版 n8n 的執行記錄通常保留一天,重要版本的工作流建議手動下載備份。
- 錯誤處理:可在節點設定中指定當工作流出錯時,觸發另一個特定的工作流(例如發送錯誤通知郵件)。
-
理解資料呈現方式:在節點的輸入/輸出中,您會看到三種資料呈現方式:
- JSON (JavaScript Object Notation):n8n 工作流中資料傳輸的核心格式,輕量且易讀。理解 JSON 的結構(物件以
{}
包裹,鍵值對key:value
,陣列以[]
包裹)至關重要。強烈建議習慣使用 JSON 視圖。 - Table:以表格形式直觀展示數據,類似 Google Sheets。
- Schema:如同資料的說明書,顯示資料結構、欄位名稱及其類型。
- JSON (JavaScript Object Notation):n8n 工作流中資料傳輸的核心格式,輕量且易讀。理解 JSON 的結構(物件以
-
動態擷取資料:
- 直接拖曳:從前一個節點的輸出,將所需的資料欄位拖曳到當前節點的輸入欄位中。
- Expression 模式:使用
{{ }}
語法。例如,{{ $json.name }}
可以擷取前一節點輸出 JSON 中 “name” 欄位的值。若要指定更早節點的資料,可以使用類似{{ $('NodeName').json.fieldName }}
的語法,其中NodeName
是您先前命名的節點名稱。節點的清晰命名在此非常關鍵。若欄位名稱包含空格 (如 “First Name”),則需使用{{ $json['First Name'] }}
這樣的表示法。
-
Pin Data (釘選資料):當處理大量資料時,每次測試都重新擷取會非常耗時。您可以將某個節點的輸出資料 “Pin” 起來,這樣後續節點測試時會直接使用這份暫存資料,大幅提升開發效率並節省運算成本。
-
Retry on Fail (失敗時重試):對於可能不穩定的 API 呼叫或外部服務,可以設定節點在執行失敗時自動重試指定的次數與間隔,增強工作流的穩定性。
-
使用 Note (便利貼):對於複雜的工作流,單純的節點命名可能不足以說明其功能。使用便利貼 (快捷鍵
Shift+S
) 為工作流的不同區塊添加註解,可以極大提升可讀性與維護性。
實戰 n8n:打造您的第一個自動化研究報告生成 AI
現在,我們將整合所學,一步步建構一個能自動生成研究報告的 AI Agent 工作流。這個 n8n 流程將模擬一個常見的商業情境:客戶填寫需求表單後,系統自動進行初步研究並生成一份會前準備報告。
階段一:表單觸發與資料寫入 Google Sheets (基礎 n8n 操作)
- 建立表單觸發器:使用 n8n 內建的 “Form Trigger” 節點。設計表單欄位,例如:姓名、姓氏、Email、預算 (下拉選單:0-200美元, 200-1000美元, 1000美元以上)、需求描述。設定必填欄位。
- 連接 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 內部可能是小寫,需確保一致性)。
階段二:預算篩選與分流 (邏輯節點應用)
- 篩選低預算:使用 “Filter” 節點。設定條件為預算不是 “0-200 USD”。只有滿足此條件的資料才能進入下一步,實現初步過濾。
- 預算分流:使用 “Switch” 節點。
- 規則1: 如果預算等於 “1000美元以上”,則走向輸出路徑0。
- 規則2: 如果預算等於 “200-1000美元”,則走向輸出路徑1。
階段三:整合大語言模型 (LLM) 產生客製化郵件 (進階 n8n 與 AI)
- 連接 LLM:我們將使用 OpenRouter,它整合了多種 LLM (包括免費和付費模型,如 Google Gemini, OpenAI GPT 等)。
- 在 OpenRouter 網站註冊並取得 API Key。
- 在 n8n 中新增 “OpenRouter Chat Model” 節點,並設定 Credentials。
- 選擇一個合適的免費模型 (例如 Google Gemini 2.0 Pro EXP,具體模型可能隨時間變化)。
- 設計提示詞 (Prompt Engineering):
- User Prompt:將客戶的姓名、預算、需求等資訊傳遞給 LLM。指示 LLM 根據預算級別撰寫不同目的的郵件:
- 對於預算 200-1000 美元:撰寫追蹤郵件,回答其需求,並嘗試引導其提升預算至 1000 美元以上,促使其點擊會議連結。
- 對於預算 1000 美元以上:撰寫積極的接洽郵件,回應其需求,提出簡短問題釐清模糊陳述,促使其盡快點擊會議連結。
- System Prompt:定義 AI 的角色 (例如:“您是撰寫專業追蹤/接洽郵件的專家”)。設定撰寫規則 (例如:友善語氣、簡短扼要、使用與使用者內容相同的語言、至少200字、包含會議連結等)。要求輸出為 HTML 格式,以便郵件美觀。
- 會議連結:使用如
cal.com
等服務生成一個會議預約連結,並將其包含在提示詞中,讓 LLM 嵌入郵件。
- User Prompt:將客戶的姓名、預算、需求等資訊傳遞給 LLM。指示 LLM 根據預算級別撰寫不同目的的郵件:
- 發送郵件:使用 “Gmail” (或其他郵件服務) 節點,將 LLM 生成的 HTML 內容作為郵件正文發送給客戶。
階段四:引入 AI Agent 與 RAG (檢索增強生成) (高級 n8n 與 AI)
若要讓 AI 回覆更具體、更貼近公司實際服務,我們需要為 AI Agent 提供一個「記憶體」,這就是 RAG (Retrieval Augmented Generation) 的用武之地。
- 準備知識庫:將公司的服務說明書、產品手冊等文件 (例如 PDF) 儲存在 Google Drive。
- 建立向量資料庫 (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。這個過程通常只需要執行一次,除非知識庫更新。
- 設定 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:
- 閱讀客戶需求。
- 必須使用 Company Service 工具提取公司與客戶需求相關的服務資料。
- 根據信件撰寫規則和提取的資料,生成說服力強的郵件。
- 要求輸出為特定結構的 JSON 格式 (例如包含:greeting, introduction, services_offered, call_to_action 等欄位)。
- JSON 轉 HTML:
- 方法一 (使用 Code 節點):AI Agent 輸出 JSON 後,使用 “Code” 節點。將 AI Agent 輸出的 JSON 作為輸入,編寫 JavaScript (或 Python) 程式碼,將 JSON 內容動態渲染成 HTML 郵件模板。這能確保郵件版面的一致性。
- 方法二 (再請求 LLM):AI Agent 輸出 JSON 後,再用一個 LLM 節點,將此 JSON 傳給 LLM,並指示 LLM 將此 JSON 內容轉換為美觀的 HTML 郵件。
- 發送郵件:同階段三。
階段五:Webhook 與 HTTP Request 賦予 AI 上網研究能力 (頂級 n8n 應用)
當客戶預約會議後,我們希望 AI Agent 能主動上網搜尋與客戶需求相關的最新資訊或行業趨勢,以生成更全面的會前報告。
- Webhook 觸發:
cal.com
(或其他會議預約工具) 通常支援 Webhook。在cal.com
的開發者設定中,新增一個 Webhook,將 n8n 的 “Webhook” 節點生成的 URL 貼上。設定觸發事件為 “Booking Created”。- 當客戶成功預約會議,
cal.com
會向此 URL 發送一個 POST 請求,觸發 n8n 工作流。Webhook 節點將接收到包含會議預約詳細資訊的 JSON 資料。
- 建立網路搜尋工具 (獨立工作流):
- 新工作流:建立一個新的 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_KEY
和Content-Type: application/json
。 - Body (JSON):傳遞搜尋查詢 (query)、搜尋深度 (search_depth: ‘advanced’)、包含答案 (include_answer: true)、結果數量 (max_results: 3) 等參數。
- 請求 URL:Tavily API 的端點 (例如
- 處理搜尋結果:Tavily 返回的 JSON 包含多個搜尋結果 (URL, title, content)。使用 “Set” 節點,將這些結果整理成 AI Agent 易於讀取的格式 (例如:Source1_URL, Source1_Content, Source2_URL, Source2_Content…)。
- 結束節點:確保此工作流將處理後的搜尋結果作為輸出。
- 主工作流中整合 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:
- 理解客戶需求。
- 圍繞需求建構研究架構。
- 使用 TavilySearchTool 驗證並迭代研究內容 (限制搜尋次數,例如不超過3次)。
- 使用 Vector Store Tool 結合公司服務。
- 遵守引用指引。
- 輸出結構化的 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 為您的業務賦能!