N8N 3 節點架構詳解:觸發 / 整理 / 輸出的實際設定
新手最怕不知道「第一條流程要怎麼組」。這篇拆解觸發 / 整理 / 輸出三層節點的實際設定方式,用三個具體範例帶你把架構看清楚,改模板也好、自己搭也好都能用。
N8N 3 節點架構詳解:觸發 / 整理 / 輸出的實際設定
很多人第一次打開 N8N 的節點面板,看到幾百個節點,腦袋直接當機。
不是因為節點太難,而是沒有人告訴你「一條流程的基本骨架是什麼」。
這篇文章就解決這個問題。
不管你用的是哪個模板、不管你想做什麼場景,N8N 的每一條工作流都可以用三層來理解:觸發(Trigger)→ 整理(Process)→ 輸出(Output)。
這三層搞清楚了,你看到任何流程都能馬上讀懂它在做什麼,自己設計流程時也有清楚的骨架可以依靠。
這篇是「N8N 第一個工作流:從零到自動化」的深入補充,建議先讀那篇跑通第一條流程,再來讀這篇加深理解。
第一層:觸發(Trigger)— 決定「什麼時候啟動」
Trigger 節點是每一條流程的起點。它的工作只有一個:偵測某件事發生,然後把流程啟動。
三種主要觸發類型
時間觸發(Schedule Trigger)
固定時間點或固定間隔啟動流程。
常用場景:
- 每天早上 8 點發一次日報
- 每週一整理上週數據
- 每 15 分鐘檢查一次庫存
設定重點:Trigger Rules → Add Rule,選 Every Day(每天)、Cron Expression(自訂排程)、Every X minutes(每 N 分鐘)。
建議從「每天一次」開始,不要一開始就設太頻繁,等流程穩定再縮短間隔。
事件觸發(App Trigger)
某個應用裡發生特定事件時啟動。這類 Trigger 設定好之後會在背景持續偵測。
常見的事件觸發:
- Gmail Trigger:收到新信件
- Google Sheets Trigger:試算表有新的一行
- Shopify Trigger:新訂單建立
- Typeform Trigger:有人提交表單
- Telegram Trigger:收到訊息
設定重點:先設定對應服務的 Credential(OAuth 授權或 API Key),然後選你要監聽的事件類型。N8N 在啟動流程後會自動向服務登記 Webhook,不需要你手動設定。
完整的節點技術說明可參考 N8N 官方文件。
Webhook 觸發(Webhook Trigger)
任何外部服務只要能發 HTTP Request,都可以用 Webhook 觸發 N8N 流程。
流程會拿到一個固定的 URL,外部服務 POST 資料到這個 URL,流程就啟動。
常見場景:
- 網站前端表單送出時
- 第三方服務的 Webhook 通知(比如 Stripe 付款事件)
- 讓另一條 N8N 流程觸發這條流程
設定重點:Webhook 節點建立後,N8N 給你 Test URL(測試用)和 Production URL(上線用)。測試時用 Test URL,流程 Active 之後改用 Production URL。
觸發層常見錯誤
「流程沒有自動跑」:九成是忘了按右上角的 Active 開關。沒有 Active,Schedule Trigger 不自動啟動,Webhook 也不接收請求。
「Webhook 沒有收到資料」:確認外部服務發請求時用的是 Production URL,不是 Test URL;另外確認 HTTP Method(GET / POST)設定正確。
第二層:整理(Process)— 決定「做什麼事」
Trigger 啟動後,資料進來了,這一層負責把資料加工成你需要的形式。
這一層通常包含多個節點,按照業務邏輯依序串聯。
最常用的整理節點
Edit Fields(Set)— 整理和重組資料
這是使用頻率最高的節點之一。把上一個節點的輸出欄位,自由重組成你需要的格式。
用途:
- 把多個欄位合併成一段文字
- 把長日期格式轉換成短格式
- 給資料加上一個固定值欄位(比如
source: "website") - 只保留你需要的欄位
Expression 範例:
// 合併姓名
{{ $json.first_name + ' ' + $json.last_name }}
// 格式化日期
{{ $json.created_at.split('T')[0] }}
// 條件文字
{{ $json.amount > 1000 ? '高金額' : '一般' }}
IF 節點 — 條件判斷、分流
讓流程根據條件走不同的路徑。IF 節點有兩個輸出:True(條件成立)和 False(條件不成立),各自接不同的後續節點。
常見用法:
- 信件主旨包含「退款」→ True 走退款流程;否則 → False 走一般回覆
- 訂單金額大於 5000 → True 標記高價值;否則繼續普通流程
- 試算表狀態欄等於「待發布」→ True 繼續發布;否則停止
Switch 節點 — 多條件分流
IF 是二選一,Switch 是多選一。當你有三種以上的可能情況,Switch 比疊多個 IF 更清楚。
比如信件分類:「退款」走出口 A、「使用問題」走出口 B、「合作詢問」走出口 C、其他走出口 D。
Code 節點 — 自訂 JavaScript 邏輯
當現有節點無法滿足需求,Code 節點讓你直接寫 JavaScript 處理資料。
// 把陣列資料格式化成 Slack 訊息
const items = $input.all();
const lines = items.map(item => {
return `• ${item.json['任務名稱']} — ${item.json['負責人']}`;
});
return [{ json: { message: lines.join('\n') } }];
對沒有程式基礎的人門檻稍高,但大多數場景用 Edit Fields + Expression 就夠了。
HTTP Request 節點 — 呼叫任意外部 API
N8N 沒有原生節點的服務,用 HTTP Request 可以呼叫任何有 REST API 的服務。
設定重點:Method(GET / POST / PUT / DELETE)、URL(API endpoint)、Headers(API Key 通常在這裡帶)、Body(POST 請求的參數)。
Loop Over Items 節點 — 迴圈處理多筆資料
當上一個節點回傳多筆資料,Loop Over Items 讓你對每一筆資料分別執行後續節點。
比如:Google Sheets 讀到 20 行資料,對每一行分別執行後續處理。
第三層:輸出(Output)— 決定「把結果送到哪」
整理完資料之後,最後一層把結果輸出到指定的地方。
常見的輸出節點
Google Sheets — 寫入試算表
操作選 Append Row(新增一行)或 Update Row(更新現有一行)。
設定重點:在 Field Mapping 欄位,把你的資料欄位對應到試算表的欄頭名稱。欄頭名稱要完全一致(大小寫、空格都要符合)。
Gmail — 發送 Email
操作選 Send。To 欄位填收件人,支援 Expression 動態帶入:{{ $json.email }}。
Subject 和 Message 都支援 Expression,讓你做個人化的內容。
Slack — 發送訊息
操作選 Send a message。設定好 Credential(Bot Token)和 Channel ID 之後,Message 欄位支援 Slack 的 Markdown 格式(*加粗*、\n 換行)。
Notion — 建立或更新頁面
適合把處理結果存進 Notion 的資料庫。設定 Credential(Notion Integration Token)、選 Database,然後在 Properties 欄位對應你的資料欄位到 Notion 資料庫欄位。
Respond to Webhook — 回覆 Webhook 請求
如果流程是由 Webhook 觸發,最後通常要加一個 Respond to Webhook 節點,把處理結果回傳給發請求的那一方。回傳 HTTP 200 讓對方知道流程已收到並處理完成。
三個完整範例:架構如何在實際流程裡運作
範例一:每天定時把 Notion 任務發到 Slack
觸發層:Schedule Trigger,每天早上 9 點
整理層:
- Notion 節點(Query Database),讀取今天到期的任務
- Filter 節點,過濾掉已完成的任務(Status 不等於 “Done”)
- Edit Fields 節點,把任務名稱和負責人整理成 Slack 訊息格式
輸出層:Slack 節點,發送整理好的訊息到指定頻道
這條流程節省的時間:每天早上手動查 Notion 再複製到 Slack 的 10-15 分鐘。
範例二:有人填 Typeform 表單就通知業務並記錄 Lead
觸發層:Typeform Trigger,偵測新的填答
整理層:
- Edit Fields 節點,提取姓名、Email、公司、填答內容
- OpenAI Chat Model 節點,根據填答內容判斷 Lead 需求類型(產品詢問 / 合作詢問 / 技術支援),輸出固定格式的分類結果
- IF 節點,判斷是否為高潛力 Lead(公司規模欄位有填,或需求描述超過 50 字)
輸出層(兩條路徑):
- True(高潛力):Slack 通知業務 + Gmail 發歡迎信 + Google Sheets 新增一行
- False(一般):Google Sheets 新增一行(不發 Slack 通知)
這條流程的關鍵是整理層的 AI 節點幫你做了分類,讓輸出層可以針對不同 Lead 類型做不同動作,而不是每個 Lead 都一視同仁。
範例三:Webhook 接收訂單通知並處理
觸發層:Webhook Trigger,接收 POST 請求(來自電商後台的訂單 Webhook)
整理層:
- Edit Fields 節點,提取訂單 ID、客戶姓名、Email、商品清單、金額
- IF 節點,判斷訂單金額是否大於 5000
- HTTP Request 節點,呼叫庫存管理 API 確認有貨
輸出層:
- 有貨 + 金額高:Slack 通知業務 + Gmail 發確認信(個人化內容)+ Respond to Webhook(回傳 200 OK)
- 有貨 + 金額一般:Gmail 發確認信 + Respond to Webhook
- 無貨:Gmail 發缺貨通知 + Respond to Webhook
電商完整的自動化架構,可以進一步讀「N8N 電商自動化完全指南」。
改模板時的三步拆解法
學會了三層架構,以後看到任何 N8N 模板,都可以用同一套方式快速讀懂:
第一步:找 Trigger 節點。通常是第一個節點,認出它的類型,就知道「什麼時候啟動」。
第二步:讀整理層節點。每個節點在做什麼處理?IF 節點在判斷什麼條件?有幾條分支?
第三步:看輸出層節點。最後把資料送到哪裡去?是發信、發通知、還是寫入資料庫?
三步看完,模板的基本邏輯就清楚了。這個時候你再去改 Credential、改 Expression 欄位、調整條件,就知道自己在改什麼位置、改了會影響哪裡。
更多模板改造的技巧,可以讀「10 個最熱門 N8N 模板拆解:看懂結構就能改成自己的」,裡面有 10 個實際模板的逐層拆解。
讓整理層更聰明:加入 AI 節點
三層架構是靜態流程的骨架。當你在整理層加入 AI 節點(OpenAI、Anthropic),流程就從「機械執行」變成「有判斷力的助手」。
AI 節點在整理層的典型用法:
分類:讀一封信,AI 判斷它屬於哪個類別,再交給 Switch 節點分流。準確率通常在 85-95%,比你手動分類快幾十倍。
摘要:把長文件壓縮成重點,再送給 Slack 通知。特別適合每天要讀大量資料的場景。
生成:根據輸入的主題,AI 生成完整的文案或報告,再送到輸出層發出去。
評分:根據 Lead 資訊,AI 評估潛力分數,再交給 IF 節點分流到不同的後續流程。
AI 節點的進階架構設計,包括 Tool Use、RAG、Memory,可以讀「N8N x AI Agent 完全指南」。
你的下一步
現在你有了三層架構的框架,可以試著用它來設計你想做的流程:
- 先想好「什麼時候觸發」:排程?事件?Webhook?
- 再想「中間需要做哪些處理」:讀資料?判斷條件?整理格式?AI 分類?
- 最後想「結果送到哪裡」:發通知、寫試算表、回覆信件?
把這三層想清楚,再打開 N8N 開始加節點,會比對著空白畫布亂試清晰很多。
不確定從哪個場景開始?前往 N8Nstart 模板庫 找一個接近你需求的模板,按照三層架構讀懂它,再改成你自己的版本。
延伸閱讀
- N8N 第一個工作流:從零到自動化 — 用這個架構跑通第一條實際流程
- N8N 節點分類詳解:Trigger、Action、AI、Logic 各自怎麼用 — 每一類節點的詳細說明
- N8N x AI Agent 完全指南 — 讓整理層加入 AI 判斷
- N8N 工作流模板 1700+ 怎麼選、怎麼改、怎麼套用 — 把三層架構用在模板改造
- N8N 電商自動化完全指南 — 三層架構在電商場景的完整應用
- N8N 官方文件 — 完整節點技術文件