跳轉到

n8n 新手入門完整教學

這份筆記不是速查表,而是一份從零開始的學習教材。你可以照章節一路讀,也可以把它當成之後實作時的工作手冊。

n8n 新手入門章節開場插畫

想一想

第一次學 n8n,不要把它想成一套很複雜的程式工具。你可以先把它想成一條「辦事情的流水線」。以前你可能會手動打開信箱、複製資料、貼到表格、再傳訊息通知別人;n8n 做的就是把這些固定步驟排成一條路,讓資料自己往下走。每一個節點不是孤立的按鈕,而是流水線上的一站。

所以新手最重要的問題不是「我要記住多少節點」,而是「資料現在在哪裡?下一步要去哪裡?」只要你能看懂資料從 trigger 進來,經過整理、判斷、輸出,n8n 就不會那麼抽象。後面你會看到 JSON、expression、Webhook、HTTP Request,這些名詞看起來很多,但本質都在回答同一件事:資料怎麼進來、怎麼被處理、怎麼送出去。

本篇怎麼讀

  • 學習目標:建立 n8n 的基本心智模型,知道資料怎麼流,知道最小 workflow 怎麼做
  • 先修需求:不用會程式,但要願意看 JSON
  • 讀完後你應該能:做出第一個 workflow、看懂基本 output、用 expression 取簡單欄位

先不要急著學的東西

  • 很長的 AI agent workflow
  • 很複雜的 Code node
  • 大量第三方整合

先把 trigger、資料流、JSON、Webhook、HTTP Request 打穩,速度反而更快。

目錄

  1. 先理解 n8n 在做什麼
  2. n8n 的核心組成
  3. 資料流與 JSON 基礎
  4. Expression 的觀念與寫法
  5. 第一個 Workflow
  6. 用 Webhook 接收外部資料
  7. 用 HTTP Request 串接 API
  8. 實際上最常用的節點
  9. 分支、迴圈與資料處理思維
  10. 認證與外部服務串接
  11. 除錯方法與常見錯誤
  12. 3 個必做實戰專案
  13. 進階學習地圖
  14. n8n 學習心法
  15. Appendix. Expression 速查與練習題

1. 先理解 n8n 在做什麼

n8n 是一個 workflow automation 工具。你可以把它理解成一個「用節點把事情串起來的資料工廠」。

它最擅長處理這類問題: - 有資料進來,想自動做後續處理 - 想定時去抓資料 - 想把一個系統的資料轉給另一個系統 - 想把原本人工重複做的流程自動化

典型例子: - 表單送出後,自動寫入 Google Sheets,再通知 Slack - 電商訂單成立後,自動建立發票資料與客戶通知 - 每天早上固定抓 API 資料,整理成報表 - 收到 webhook 後,呼叫 OpenAI 分析內容,再存進 Notion

一句話記住: n8n 的本質,就是讓資料按照你設計的流程,自動流過不同節點並完成工作。

如果你之前學過程式,n8n 可以看成: - Trigger = 程式入口 - Node = 函式或處理步驟 - Connection = 資料流向 - JSON = 參數與輸出 - Expression = 讀取變數的方式


2. n8n 的核心組成

2.1 Trigger

Trigger 是流程怎麼開始。

最常見的 Trigger: - Manual Trigger:手動執行,最適合學習與測試 - Webhook:外部系統呼叫 URL 時啟動 - Schedule Trigger:依時間自動執行 - Form Trigger:使用者填表單後啟動

2.2 Node

每個 node 都是 workflow 裡的一個步驟。

常見用途: - 整理資料 - 呼叫 API - 判斷條件 - 發送通知 - 寫入第三方服務

2.3 Connection

線不是裝飾,它代表資料從哪一個節點流到哪一個節點。

你要一直有這個觀念: - 上一個節點輸出什麼 - 下一個節點收到什麼 - 中間有沒有改結構

2.4 Execution

每次 workflow 跑一次,都是一次 execution。

execution 的價值很大,因為你可以: - 看每個節點的 input/output - 確認哪一步出錯 - 檢查 expression 是否取值正確


3. 資料流與 JSON 基礎

學 n8n 最重要的能力不是背節點,而是看懂資料。

n8n 裡的資料多半是 JSON,例如:

{
  "name": "Tung",
  "email": "tung@example.com",
  "score": 85
}

這代表: - name 是字串 - email 是字串 - score 是數字

3.1 巢狀物件

{
  "user": {
    "name": "Tung",
    "profile": {
      "city": "Taipei"
    }
  }
}

取值方式:

{{$json.user.name}}
{{$json.user.profile.city}}

3.2 陣列

{
  "items": [
    {"name": "A", "price": 10},
    {"name": "B", "price": 20}
  ]
}

取第一筆:

{{$json.items[0].name}}
{{$json.items[0].price}}

3.3 你在 n8n 裡要一直問自己的 3 件事

  • 現在這個節點輸出的 JSON 長什麼樣子
  • 我真正要的欄位在第幾層
  • 它是字串、數字、布林、物件還是陣列

如果這 3 件事沒弄清楚,後面幾乎一定會卡。

3.4 一個最常見的新手案例

假設你做了一個表單報名流程,表單送來的是:

{
  "body": {
    "name": "Tung",
    "email": "tung@example.com",
    "course": "n8n Beginner"
  }
}

如果你沒有先看這個 output,很容易直接寫成:

{{$json.name}}

但實際上正確的是:

{{$json.body.name}}

這個例子在教你一件事: 不是你以為資料在哪裡,而是 output 顯示資料在哪裡。


4. Expression 的觀念與寫法

Expression 是 n8n 取值的核心。

4.1 最常見寫法

{{$json}}
{{$json.name}}
{{$json.email}}
{{$json.score}}

4.2 從特定節點取值

{{$node["Set User"].json.name}}
{{$node["HTTP Request"].json.title}}

4.3 條件判斷

{{$json.score >= 60}}
{{$json.score >= 80 ? "VIP" : "Regular"}}

4.4 字串拼接

{{"Hello " + $json.name}}
{{"User: " + $json.name + ", Score: " + $json.score}}

4.5 常見錯誤

  • 資料其實在 body.name,你卻寫成 name
  • node 改名了,expression 還是指向舊名稱
  • API 回傳的是陣列,但你用物件路徑取值
  • 數值其實是字串,條件判斷結果不如預期

4.6 Expression 的正確學法

不要背語法清單。正確做法是: 1. 先看 output JSON 2. 找到目標欄位 3. 用最短路徑取值 4. 執行後再次確認結果


5. 第一個 Workflow

這個 workflow 的目標是讓你理解最小閉環: 開始 -> 建立資料 -> 處理資料 -> 判斷 -> 輸出

5.1 流程設計

  • Manual Trigger
  • Set
  • Set
  • IF
  • Set (true)
  • Set (false)

5.2 Step 1: Manual Trigger

用途: - 手動按下執行 - 最適合初學者除錯

5.3 Step 2: Set 建立原始資料

欄位: - name = Tung - role = student - score = 85

輸出:

{
  "name": "Tung",
  "role": "student",
  "score": 85
}

5.4 Step 3: Set 整理資料

欄位: - message = Hello {{$json.name}} - isPassed = {{$json.score >= 60}} - summary = {{$json.name}} is a {{$json.role}}

5.5 Step 4: IF 條件判斷

條件: - 左值:{{$json.score}} - Operator:is greater than or equal to - 右值:80

5.6 Step 5: 給 true/false 分支不同輸出

true 分支: - result = VIP student

false 分支: - result = Regular student

5.7 這個流程在教你什麼

  • workflow 是怎麼開始的
  • JSON 怎麼被建立與傳遞
  • expression 怎麼取前一步資料
  • IF 怎麼決定分支

這一步真的很關鍵。如果這個流程你能完全自己重做,表示你已經進入 n8n 的學習軌道。

5.8 延伸練習

把這個 workflow 改成你的版本: - 把 name 改成你自己的名字 - 把 score 改成不同數字,觀察 IF 分支怎麼變 - 再加一個欄位 department - 組出新的 summary

你做完這個練習,會比只看說明更快理解資料流。


6. 用 Webhook 接收外部資料

Webhook 是 n8n 最重要的入口之一。

6.1 什麼是 Webhook

你可以把 Webhook 理解成「讓別的系統呼叫你的 n8n URL」。

它很像你在做一個簡單 API endpoint。

6.2 常見用途

  • 接收表單資料
  • 接收第三方事件通知
  • 接收自家系統 POST 過來的資料
  • 接收聊天機器人或 SaaS 平台 callback

6.3 基本設定

建立 Webhook node: - HTTP MethodPOST - Pathstudent-check

測試 URL 會像:

https://your-n8n-domain/webhook-test/student-check

6.4 測試送資料

curl -X POST 'https://your-n8n-domain/webhook-test/student-check' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Tung",
    "score": 85,
    "email": "tung@example.com"
  }'

6.5 Webhook 收到的資料常見長相

{
  "body": {
    "name": "Tung",
    "score": 85,
    "email": "tung@example.com"
  },
  "headers": {},
  "query": {}
}

因此你常會用到:

{{$json.body.name}}
{{$json.body.score}}
{{$json.body.email}}

6.6 整理收到的資料

接一個 Set: - name = {{$json.body.name}} - score = {{$json.body.score}} - status = {{$json.body.score >= 80 ? "VIP" : "Regular"}}

6.7 Respond to Webhook

如果你要讓呼叫方收到回應,就接 Respond to Webhook

回傳:

{
  "ok": true,
  "message": "Student processed successfully"
}

6.8 新手常犯的 Webhook 錯誤

  • URL 打錯
  • GET 呼叫,節點卻設定 POST
  • 忘記送 Content-Type: application/json
  • workflow 沒在正確測試狀態
  • 以為資料在 $json.name,實際上在 $json.body.name

6.9 真實應用例子

Webhook 很常拿來做這些事: - 接收網站表單報名 - 接收付款成功通知 - 接收 LINE / Slack / Discord 類服務的 callback - 接收自家系統送來的事件資料

你只要想到「有一個外部系統要把資料推給我」,通常就是 webhook 的場景。


7. 用 HTTP Request 串接 API

HTTP Request 是 n8n 最值得熟練的節點之一。會用它,你幾乎能接任何系統。

7.1 你要先懂 API 在做什麼

API 就是另一個系統提供的資料接口。你送出請求,它回你結果。

7.2 常見設定

  • MethodGETPOSTPUTPATCHDELETE
  • URL:API 位址
  • Authentication:是否需要登入憑證
  • Headers:額外資訊,例如 token
  • Body:POST/PUT 類型請求的內容

7.3 最簡單範例

流程: - Manual Trigger - HTTP Request - Set

假設 API 回傳:

{
  "id": 1,
  "title": "Hello World",
  "status": "published"
}

Set 整理: - articleId = {{$json.id}} - title = {{$json.title}} - isPublished = {{$json.status === "published"}}

7.4 串接 API 的真實思路

你不是在「用 n8n node」,你是在做這件事: 1. 了解 API 文件 2. 知道要送什麼 method 3. 知道要不要 token 4. 看回來 JSON 長什麼樣子 5. 把回傳結果整理成你下一步要用的格式

7.5 只要卡 API,先檢查這 5 件事

  • URL 對不對
  • Method 對不對
  • Header 有沒有少 Authorization
  • Body 格式對不對
  • API 回傳內容是不是錯誤訊息

7.6 一個很典型的 API 心智模型

你可以把 API 串接想成這樣:

  1. 先確認你要問誰要資料
  2. 確認對方要你怎麼問
  3. 確認你有沒有帶證件
  4. 看對方回來的資料長什麼樣子
  5. 把回來的東西整理成你下一步能用的格式

這 5 步想清楚,你就不會只是在 UI 裡亂點。


8. 實際上最常用的節點

8.1 Set

用途: - 建立欄位 - 改欄位名稱 - 把雜亂資料整理乾淨

地位: Set 是新手最該熟的資料整形節點。

8.2 IF

用途: - 做條件分支 - 根據不同條件走不同流程

8.3 HTTP Request

用途: - 串任何 API - 幾乎所有外部服務都能靠它接進來

8.4 Webhook

用途: - 當作你的入口 - 接收外部系統事件

8.5 Code

用途: - 當資料處理超過內建節點能力時,自訂 JavaScript

範例:

return items.map(item => {
  return {
    json: {
      ...item.json,
      passed: item.json.score >= 60,
      level: item.json.score >= 80 ? 'VIP' : 'Normal',
    },
  };
});

8.6 Google Sheets / Notion / Slack 類節點

用途: - 將 workflow 接到真正的工作場景 - 做資料落地、通知、協作

當你學到這一層,n8n 才真正開始有生產力。


9. 分支、迴圈與資料處理思維

9.1 分支思維

Workflow 常不是一路直線跑完,而是: - 條件符合,走 A - 條件不符,走 B

這就是 IF 的用途。

9.2 你真正要學的是「先整理,再分支」

很多新手會直接拿很亂的原始資料去做判斷,結果 expression 很難寫。

比較好的做法: 1. 先用 Set 整理出你要的欄位 2. 再用 IF 判斷

9.3 多筆資料的觀念

當 API 回傳多筆 item 時,你要知道每一筆資料可能都會被同樣處理。

這時你需要注意: - 每筆資料的結構是否一致 - 你是要逐筆處理,還是整批彙總 - 哪個節點會放大資料量

9.4 Code node 的角色

當資料清洗、欄位轉換、陣列操作太複雜時,再用 Code node。

但原則上: 先把 Set / IF / HTTP Request 用熟,再上 Code。


10. 認證與外部服務串接

你很快就會遇到需要登入憑證的 API。

10.1 最常見的認證形式

  • API Key
  • Bearer Token
  • OAuth
  • Basic Auth

10.2 常見情況

例如某 API 要求:

Authorization: Bearer YOUR_TOKEN

那你在 HTTP Request 就要加 header。

10.3 新手常犯錯誤

  • token 複製錯
  • 把 token 放錯欄位
  • 用了測試環境 token 打正式環境
  • API 文件要求 JSON body,你卻送成 form-data

10.4 實務建議

  • 先用最小測試請求驗證認證是否通
  • 通了之後再加資料欄位與商業邏輯
  • 不要一開始就把 workflow 搞太長

11. 除錯方法與常見錯誤

除錯能力決定你學 n8n 的速度。

11.1 第一原則:永遠先看 Output

不要猜資料長什麼樣子,直接看。

11.2 第二原則:一次只改一個地方

如果一次改 5 個 node,壞掉時你很難定位原因。

11.3 第三原則:先手動測,再接正式來源

先用 Manual Trigger 或測試 Webhook,確定流程正確後再接正式資料。

11.4 最常見錯誤清單

  • expression 路徑錯誤
  • node 改名導致引用失效
  • method 錯誤
  • body 格式錯誤
  • content-type 錯誤
  • 條件判斷把字串當數字
  • API 回傳的是錯誤 JSON,但你沒注意

11.5 最實用的除錯習慣

  • 每多一步就看一次 output
  • 遇到複雜資料先加 Set 整理
  • 遇到問題先把流程縮短到最小可重現範圍

11.6 一個實際除錯情境

情境: 你 webhook 明明收到了資料,但 Google Sheets 寫入後欄位是空的。

排查方式: 1. 先看 Webhook output,是不是資料在 body 底下 2. 再看 Set 節點,是不是有正確建立 order_nameorder_email 3. 最後看 Google Sheets mapping,是不是對到你整理後的欄位

這種問題很少是「整個 workflow 壞掉」,通常只是某一段路徑寫錯。


12. 3 個必做實戰專案

專案 1. Webhook -> Google Sheets

目標: 把外部送來的資料寫進試算表。

你會學到: - 接 webhook - 整理欄位 - 寫入外部服務

專案 2. Schedule Trigger -> HTTP Request -> 報表

目標: 每天固定抓 API,整理成表格或通知。

你會學到: - 定時工作 - API 資料清理 - 自動報表

專案 3. Webhook -> OpenAI -> Notion 或 Slack

目標: 收到文字後,交給 AI 分析,再寫入知識庫或發通知。

你會學到: - 串接 AI API - 把 AI 輸出納入 workflow - 做出更接近真實應用的自動化流程

這 3 個專案做完,n8n 的基礎就相對穩了。


13. 進階學習地圖

當你基礎夠穩,再往這些方向走: - Error handling - Retry 機制 - Queue 與高頻工作流程 - 資料庫整合 - AI Agent workflow - 多步驟商業流程自動化 - 權限、憑證與環境切分

進階的重點不是 node 更多,而是: - workflow 能不能維護 - 出錯時能不能快速定位 - 資料量變大後是否仍然穩定


14. n8n 學習心法

14.1 不要把 n8n 當成只會拖拉的工具

它本質上是一個資料流程設計器。

14.2 學習速度最快的方法不是看很多影片

而是反覆做這個循環: 1. 看輸入資料 2. 理解 JSON 結構 3. 用 node 處理資料 4. 看輸出 5. 修正流程

14.3 最容易卡住的人,通常不是不會按 UI

而是沒有資料結構觀念。

你只要把 JSON、API、資料流搞懂,n8n 會學得很快。

14.4 先做小而完整的流程

不要一開始就做 20 個節點的大 workflow。先做最小閉環: - 1 個 trigger - 1 個資料輸入 - 1 個處理步驟 - 1 個輸出

這樣成長最快。


Appendix. Expression 速查與練習題

A.1 Expression 速查

目前節點:

{{$json}}
{{$json.name}}
{{$json.score}}

特定節點:

{{$node["Webhook"].json.body.name}}
{{$node["HTTP Request"].json.id}}

三元運算:

{{$json.score >= 80 ? "VIP" : "Regular"}}

字串組合:

{{"Hello " + $json.name}}

布林判斷:

{{$json.email ? true : false}}

A.2 自我測驗

  1. 如果 webhook 收到的資料在 body.email,expression 要怎麼寫?
  2. 如果分數大於等於 60 才通過,expression 要怎麼寫?
  3. 如果 API 回傳 items[0].title,你要怎麼取第一筆標題?
  4. 為什麼 workflow 出錯時應該先看 output?
  5. 為什麼建議先用 Set 整理欄位再做 IF

A.3 建議你接下來真的去做的事

  1. 自己手建一次第一個 workflow
  2. 用 curl 或 Postman 打一次 webhook
  3. 用 HTTP Request 串一個公開 API
  4. 把結果整理進 Google Sheets
  5. 再回來看這份筆記第二遍

之後你可以直接叫 AI 幫你做的內容

  • 幫我做一個 n8n Webhook 範例
  • 幫我做 n8n 接 Google Sheets 教學
  • 幫我做 n8n 串 OpenAI API 的教材
  • 幫我解釋這段 expression
  • 幫我設計一個符合我工作流程的 n8n automation

本篇練習

  1. 做一個 Manual Trigger -> Set -> IF workflow。
  2. 把資料改成你自己的欄位,不要完全照抄。
  3. 再做一個最小的 Webhook -> Set workflow。
  4. 每次執行都打開 output,看資料結構。

下一篇建議

下一步讀 03 n8n 實戰手冊:Webhook、Google Sheets、OpenAI,把這一篇的觀念變成真正能用的流程。