n8n Claude Code 進階教學 自動化

n8n + Claude Code 進階教學 2026:複雜 Workflow 建立、Debug 技巧與 Best Practices 完整指南

發布:2026-05-03 | 作者:AI Tools TW 編輯團隊 | 閱讀時間:約 12 分鐘
🚀 本文重點:你已經會用 Claude Code 建立基本 n8n Workflow,但複雜場景怎麼辦?本文深入講解多層條件分支設計、錯誤處理架構、效能瓶頸排查,以及讓 Claude Code 產出「可維護」Workflow 的 Prompt 技巧。台灣開發者從入門到進階的完整路線圖。

📋 本文目錄

  1. 為什麼基礎教學不夠用?
  2. 複雜 Workflow 架構設計原則
  3. Claude Code Prompt 進階技巧
  4. Debug 完整流程:從錯誤到修復
  5. 錯誤處理與重試機制設計
  6. 效能優化 Best Practices
  7. 5 個台灣實戰場景
  8. 常見陷阱與避坑指南
  9. 總結與推薦資源

為什麼基礎教學不夠用?

n8n 2.14 推出 MCP 整合後,台灣開發者紛紛開始用 Claude Code 建立 Workflow。但很快就遇到同樣的問題:

這些問題不是 n8n 的 bug,也不是 Claude Code 不夠強——而是進階使用需要不同的思維框架。本文就是要填補這個空缺。

⚠️ 前置條件:本文假設你已完成基礎設定(n8n 自架或雲端版、Claude Code MCP 連線)。如果還沒,先看 n8n 2.14 MCP 基礎教學

複雜 Workflow 架構設計原則

原則一:單一職責,模組化拆分

最常見的錯誤是把所有邏輯塞進一個 Workflow。正確做法是按職責拆分:

層級職責範例
觸發層接收事件、排程Webhook / Schedule Trigger
資料層抓取、轉換、驗證資料HTTP Request + Code Node
邏輯層條件判斷、路由IF / Switch Node
執行層實際動作(發信、寫 DB)Gmail / Postgres / Slack
錯誤層失敗處理、通知Error Trigger + Telegram

用 Claude Code 建立時,告訴它你要哪一層,而不是一次要求整個流程。

原則二:善用 Sub-Workflow(Execute Workflow Node)

當邏輯超過 15 個節點,就應該考慮拆成子 Workflow:

# 告訴 Claude Code 的 Prompt 範例
請建立一個主 Workflow,負責:
1. 接收 Webhook 訂單資料
2. 呼叫子 Workflow "validate-order" 驗證資料
3. 根據驗證結果分流:成功 → 呼叫 "process-payment",失敗 → 呼叫 "notify-error"
每個子 Workflow 請分開建立,主 Workflow 用 Execute Workflow Node 呼叫。

原則三:資料流要明確,避免隱式依賴

n8n 的資料以 items[] 陣列傳遞。複雜 Workflow 最常見的 bug 是節點間資料格式不一致。建立時要求 Claude Code 在每個關鍵節點加入資料驗證:

// Code Node 加入資料驗證(讓 Claude Code 生成這段)
const items = $input.all();
if (!items.length) throw new Error('上游節點沒有回傳資料');
const required = ['orderId', 'amount', 'email'];
for (const item of items) {
  for (const field of required) {
    if (!item.json[field]) throw new Error(`缺少必要欄位: ${field}`);
  }
}
return items;

Claude Code Prompt 進階技巧

技巧一:給 Claude Code 完整的上下文

模糊的 Prompt 產出模糊的 Workflow。進階用法是提供「需求規格書」格式:

請用 n8n MCP 建立一個 Workflow,規格如下:

【觸發】每天早上 9:00(台灣時間 UTC+8)
【資料來源】PostgreSQL 資料表 orders,條件:status='pending' AND created_at > NOW()-INTERVAL '24h'
【處理邏輯】
  - 訂單金額 > 10000:發送 Slack 通知給 #high-value-orders 頻道
  - 訂單金額 1000-10000:發送 Email 給業務團隊
  - 訂單金額 < 1000:寫入 Google Sheets 彙整表
【錯誤處理】任何節點失敗時,發 Telegram 訊息給 @admin
【命名規範】節點名稱用中文,Workflow 名稱:daily-order-triage-v1

技巧二:迭代式建立,不要一次到位

Step 1
先建骨架:「建立 Workflow 骨架,只包含觸發節點和各分支的佔位節點,不需要實際連線到外部服務」
Step 2
填充邏輯:「在骨架基礎上,補充 IF 節點的條件判斷邏輯,條件是 {{ $json.amount > 10000 }}」
Step 3
接外部服務:「把 Slack 佔位節點替換成真實的 Slack 節點,頻道 ID 是 C0123456789」
Step 4
加錯誤處理:「在整個 Workflow 加入 Error Trigger,失敗時發 Telegram 通知」

技巧三:要求 Claude Code 解釋它的設計決策

在 Prompt 結尾加上:「建立完成後,請說明你選擇這個架構的原因,以及有哪些潛在問題需要注意。」這樣可以提前發現設計缺陷,而不是等到 Workflow 跑起來才發現。

🎓 想系統學習 n8n 自動化?

Hahow 有完整的 n8n 中文課程,從基礎到進階,台灣講師教學更貼近本地需求。

🎓 前往 Hahow 看課程

Debug 完整流程:從錯誤到修復

第一步:讀懂 n8n 的錯誤訊息

n8n 的錯誤分三類,處理方式完全不同:

錯誤類型常見訊息根本原因解法
節點設定錯誤Parameter "X" is required必填欄位沒填檢查節點設定,補上缺少的參數
資料格式錯誤Cannot read property 'X' of undefined上游資料結構不符預期在前一節點加 Code Node 做資料轉換
外部服務錯誤401 Unauthorized / 429 Too Many Requests認證失效或超過 API 限制更新 Credential / 加入 Wait Node 限速

第二步:用 Claude Code 輔助 Debug

把錯誤訊息直接貼給 Claude Code,搭配這個 Prompt 模板:

我的 n8n Workflow 在 [節點名稱] 出現以下錯誤:

錯誤訊息:[貼上完整錯誤]
該節點的輸入資料:[貼上 Input 的 JSON]
該節點的設定:[貼上節點設定截圖或 JSON]

請分析錯誤原因,並提供修復方案。如果需要修改 Workflow,請用 n8n MCP update_workflow 工具直接修改。

第三步:善用 n8n 的 Execution Log

每次執行都有完整的 Execution Log,記錄每個節點的 Input/Output。Debug 時的黃金法則:

💡 進階技巧:在 Claude Code 裡執行 n8n_get_execution MCP 工具,可以直接拿到最近一次執行的完整 log,讓 Claude Code 自動分析哪個節點出問題。

錯誤處理與重試機制設計

基礎:Error Trigger Workflow

每個重要的 Workflow 都應該有對應的錯誤處理 Workflow。用 Claude Code 建立的標準模板:

請建立一個錯誤處理 Workflow,命名為 "error-handler-global":
1. 觸發:Error Trigger(接收所有 Workflow 的錯誤)
2. 格式化錯誤訊息,包含:Workflow 名稱、節點名稱、錯誤內容、執行時間
3. 發送 Telegram 通知給管理員
4. 寫入 Google Sheets 錯誤日誌(欄位:時間、Workflow、錯誤、狀態=待處理)
5. 如果同一個 Workflow 在 1 小時內錯誤超過 3 次,額外發 Email 警報

進階:節點層級的重試邏輯

n8n 內建重試設定,但對於需要自訂重試邏輯的場景,用 Code Node 實作:

// 指數退避重試(讓 Claude Code 生成並嵌入 Code Node)
async function withRetry(fn, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    try {
      return await fn();
    } catch (err) {
      if (i === maxRetries - 1) throw err;
      const delay = Math.pow(2, i) * 1000; // 1s, 2s, 4s
      await new Promise(r => setTimeout(r, delay));
    }
  }
}
// 在 HTTP Request 前包裝
return withRetry(() => $http.get(url));

效能優化 Best Practices

1. 批次處理取代逐筆處理

最常見的效能殺手:對每筆資料各發一次 API 請求。

做法100 筆資料耗時API 費用
❌ 逐筆 HTTP Request~50 秒100 次呼叫
✅ 批次 HTTP Request(每批 20 筆)~5 秒5 次呼叫

告訴 Claude Code:「請用 Split In Batches Node 把資料分成每批 20 筆,再呼叫 API,不要逐筆處理。」

2. 善用 n8n 的並行執行

# Prompt 範例
這個 Workflow 需要同時:
A. 從 PostgreSQL 抓訂單資料
B. 從 Shopify API 抓庫存資料
C. 從 Google Sheets 抓定價表

請讓 A、B、C 並行執行(不要串行),最後用 Merge Node 合併結果。

3. 快取重複查詢

如果 Workflow 每次執行都查同一份靜態資料(如定價表、設定檔),用 Static Data 或 Redis 快取:

// Code Node:讀取靜態快取
const cache = $getWorkflowStaticData('global');
if (!cache.priceTable || Date.now() - cache.priceTableUpdated > 3600000) {
  // 快取過期,重新抓取
  cache.priceTable = await fetchPriceTable();
  cache.priceTableUpdated = Date.now();
}
return [{ json: { priceTable: cache.priceTable } }];

☁️ n8n 自架需要穩定的雲端主機?

Cloudways 提供一鍵部署 n8n,SSD 高效能伺服器,台灣用戶延遲低,新用戶最高 $125 折扣。

☁️ 前往 Cloudways

5 個台灣實戰場景

🏥

診所預約管理

LINE 訊息觸發 → Claude Code 解析預約意圖 → 查詢空檔 → 寫入 Google Calendar → 回覆確認

🛒

電商庫存警報

每小時掃描 Shopify 庫存 → 低於閾值 → Claude Code 生成補貨建議 → Slack 通知採購

📊

財務報表自動化

月底觸發 → 抓 PostgreSQL 交易資料 → Claude Code 分析異常 → 生成 PDF → Email 給財務長

🎓

線上課程學員追蹤

每日檢查學員進度 → 停滯超過 7 天 → Claude Code 生成個人化鼓勵訊息 → 自動發送 Email

🏢

B2B 潛客評分

新表單提交 → 抓公司資料 → Claude Code 評分(行業/規模/預算)→ 高分自動排業務行程

場景深度拆解:電商庫存警報

以電商庫存警報為例,展示完整的 Claude Code Prompt 到 Workflow 的流程:

# 給 Claude Code 的完整 Prompt
請用 n8n MCP 建立庫存警報 Workflow:

觸發:每小時執行一次
資料來源:Shopify API GET /admin/api/2024-01/products.json?limit=250
篩選條件:variants 中任一 inventory_quantity < 10
處理邏輯:
  - 庫存 0:緊急警報(Slack #urgent + Email 給老闆)
  - 庫存 1-5:高優先(Slack #inventory-alerts)
  - 庫存 6-9:一般提醒(每日彙整一次,不即時發送)
去重:同一商品在 6 小時內不重複發送警報(用 Static Data 記錄)
Workflow 名稱:shopify-inventory-alert-v2

Claude Code 會自動處理 Shopify 分頁(page_info cursor)、建立 Switch Node 分流、以及用 Static Data 實作去重邏輯。

常見陷阱與避坑指南

陷阱症狀解法
Expression 語法錯誤節點顯示紅色,訊息含 "expression"{{ }} 包裹,確認路徑用 $json.field 而非 json.field
時區問題排程時間不對,差 8 小時n8n 預設 UTC,台灣要設 Asia/Taipei 或手動 +8
Webhook 只能觸發一次第二次呼叫沒反應確認 Workflow 是 Active 狀態,不是 Test 模式
Claude Code 產出的 JSON 無法匯入匯入時報 parse error要求 Claude Code 輸出時用 n8n_import_workflow 直接匯入,不要手動複製 JSON
Sub-Workflow 資料傳遞失敗Execute Workflow Node 回傳空值子 Workflow 最後一個節點必須有資料輸出,加 Set Node 確保有回傳值
API Rate Limit 被封429 錯誤,Workflow 中斷在 HTTP Request 前加 Wait Node(1-2 秒),或用 Split In Batches 控制速率
⚠️ 特別注意:用 Claude Code 修改現有 Workflow 時,務必先備份(n8n_export_workflow)。Claude Code 的 update_workflow 是覆蓋式更新,沒有版本控制。

Workflow 版本控制與團隊協作

用 Git 管理 n8n Workflow

n8n 雲端版沒有內建版本控制,但可以用 Claude Code 搭配 Git 實現:

# 讓 Claude Code 定期備份所有 Workflow
請執行以下操作:
1. 用 n8n_list_workflows 列出所有 Workflow
2. 對每個 Workflow 執行 n8n_export_workflow,儲存為 JSON 檔案
3. 檔名格式:{workflow-id}-{workflow-name}.json
4. 儲存到 ~/n8n-backups/ 目錄
5. git add . && git commit -m "backup: $(date +%Y-%m-%d)"

多人協作的命名規範

團隊使用 n8n 時,統一命名規範可以避免大量混亂:

類型命名格式範例
主 Workflow{功能}-main-v{版本}order-process-main-v3
子 Workflow{功能}-sub-{子功能}order-process-sub-validate
錯誤處理{功能}-error-handlerorder-process-error-handler
測試用TEST-{功能}-{日期}TEST-order-process-20260503

在 Claude Code Prompt 中明確指定命名規範,它會自動套用。

上線後的監控策略

建立 Workflow 健康儀表板

用 Claude Code 建立一個「監控 Workflow」,每小時檢查所有重要 Workflow 的執行狀態:

請建立監控 Workflow "health-check-dashboard":
1. 每小時觸發
2. 用 n8n API 抓取過去 1 小時內所有 Workflow 的執行記錄
3. 統計:成功率、平均執行時間、失敗次數
4. 如果任何 Workflow 失敗率 > 20%,立即發 Slack 警報
5. 每天早上 9:00 發送日報到 #ops-daily 頻道
6. 把統計資料寫入 Google Sheets 供長期追蹤

關鍵指標追蹤

💡 成本控制技巧:在 Claude Code 節點設定 max_tokens 上限,避免單次呼叫消耗過多 token。一般分類任務設 200 tokens,摘要任務設 500 tokens,只有需要長文生成的場景才放開限制。

總結與推薦資源

n8n + Claude Code 的進階使用,核心是三件事:

延伸閱讀:

📊 想學 AI 自動化與數據分析?

DataCamp 提供 n8n、Python、AI 工作流完整課程,台灣用戶可用中文介面學習。

📊 前往 DataCamp

🖥️ 自架 n8n 需要穩定 VPS?

DigitalOcean 一鍵部署 n8n Droplet,$6/月起,台灣新加坡節點延遲低,新用戶 $200 免費額度。

🖥️ 前往 DigitalOcean

💡 Claude Code Pack — 進階 Prompt 模板集

包含 50+ 個 n8n Workflow 建立 Prompt 模板,直接複製使用,省去反覆試錯的時間。

💡 $29 取得 Claude Code Pack