
什麼是節點(Node)?
在 n8n 的世界裡,每一個節點都像是一個「資料處理站」。
它可以:
- 接收一份資料
- 對資料做一些事情
- 再把結果丟給下一個節點
比如說:
- Form Trigger 節點接到使用者的輸入
- Function 節點做資料轉換
- HTTP Request 節點把資料送到外部 API
節點與節點之間就靠那條「線」來傳資料,這條線其實就是 資料流(Data Flow)。
資料流的關鍵觀念
我自己一開始不太習慣的地方在於:
每個節點其實會接收到的是一個「陣列」型態的資料,而不只是單一值。
舉例來說:
如果 Form Trigger 收到兩筆資料,接下來 Function 節點就會收到一個包含兩筆資料的陣列。
而這時候你在 Function 節點裡寫的程式碼,其實會對「每一筆資料」分別運行。
這也就是為什麼,很多人第一次用 Function 節點的時候會想:「為什麼我要 return items 而不是 return data?」
因為 n8n 的資料流其實是以 items 為單位在跑的!
以下幾個你一定會碰到的核心節點
Form Trigger

最常用來接收資料輸入,比如一個網頁表單,或是 webhook。
它就是你整個流程的起點。
Edit Fields(Set)

當你只想調整欄位名稱、固定值或重新組合資料的時候,Edit Fields(Set) 是最快的選擇。
(我超常用它來清理輸入資料)
Code(Function)

當邏輯開始變得比較複雜的時候,就會進到 Code(Function)。
這裡你可以用 JavaScript 直接操控 items,做各種資料轉換、條件判斷、格式處理。
Merge / IF

這兩個節點讓資料流變得更有彈性:
- Merge 可以合併兩條不同的資料流
- IF 可以根據條件分支不同的路線 這在做自動化邏輯的時候非常實用。
HTTP Request

當你要把資料送到外部服務(像是 Google Sheet、Notion、Slack 或自家 API),這個節點就是出口。
資料流其實就是「節點大隊接力賽」
你可以把整個流程想像成:
- Form Trigger 起跑 → 接到輸入資料
- Set/Function 整理資料 → 把它變成想要的格式
- Merge/IF 分流 → 決定它要走哪條邏線
- HTTP Request 送出去 → 跑完全程
每一個節點都是接棒的一員,資料會沿著這條路一直往下傳遞。
只要你搞懂資料在節點之間是怎麼流的,很多奇怪的錯誤就會突然變得超好 debug。
我的經驗小提醒
- 永遠記得打開「Execution Data」看資料長什麼樣子,這是學習 n8n 的捷徑。
- 不確定資料是什麼型態的時候,先用 Function 節點
console.log(items)。 - 資料流轉的清楚程度,決定了整個自動化流程好不好維護。
- 別急著用 Function,很多東西 Set + IF + Merge 就可以解決。
結語
n8n 不是只是一個「拉線工具」,它其實就是一種「視覺化的程式語言」。
而節點,就是這門語言裡的基本文法。
當你越熟悉資料是怎麼在節點之間跑的,你會發現自己開始能把一個看似很複雜的需求,拆解成幾個簡單的小節點組合而已。
我自己就是這樣一路從「完全搞不懂這資料跑去哪」→「可以自己設計整條流程」,那種轉變非常有成就感!
下一篇,我會帶你實際操作幾種最常見的節點組合,教你怎麼把一條資料從前端丟進來,一路轉換、清洗,最後送到你想要的地方。
延伸閱讀(我的 n8n 系列文章)
