內容簡介
Set 節點是 n8n 中非常強大的資料中繼處理工具,用於建立或修改資料。
它允許您直接在工作流程中定義新的欄位,或更新已有的欄位資料,而不需要從外部來源取得。
在目前的 n8n(本文查核版本 2.45.5)中,Set 節點在介面上的名稱是 Edit Fields (Set),可以用「Manual Mapping」以圖形介面拖拉欄位,或用「JSON Output」直接撰寫 JSON。本文的範例使用較早期的 Set 節點寫法,概念完全相同,文末「小技巧」整理了新版介面的對應設定。
使用情境
1. 新增資料:建立新的欄位,並指定它們的值。
2. 資料轉置:將既有欄位資訊轉置寫入至新欄位中。
3. 修改資料:更改輸入資料中的欄位值。
4. 刪除欄位:移除輸入資料中的不必要欄位。
範例場景
假設您有一組資料,想要在其中新增一個名為 status 的欄位,並根據某些條件決定其值。
範例設定
這是一個完整的範例 Workflow,展示如何使用 Set 節點新增欄位及修改資料:
範例說明
1. Start 節點:啟動工作流程,無輸入資料。
2. Set Node:
新增資料
• 新增欄位:
• status = “active”
• userId = 123 (數字)
• isAdmin = true (布林值)
• 將這些欄位新增到資料中。
3. Set Node:
修改資料
• 修改 status 欄位的值為 “inactive”。
• 不刪除其他欄位 (keepOnlySet: false)。
執行後差異
1. 第1個 Set Node(Set Node):
[
{
"isAdmin": true,
"userId": 123,
"status": "active"
}
]2. 第二個Set Node(Modify Existing Data):
[
{
"isAdmin": true,
"userId": 123,
"status": "inactive"
}
]小技巧
- 只保留指定欄位:舊版的
keepOnlySet參數,在新版 Edit Fields 節點中對應「Keep Only Set Fields」,開啟後只會輸出您在節點中設定的欄位。 - 兩種模式:欄位少時用 Manual Mapping 拖拉即可;結構複雜(陣列、巢狀物件)時改用 JSON Output,並可在 JSON 中使用
{{ $json.欄位 }}運算式。 - 點號表示法:預設支援點號表示法,欄位名稱設為
number.one會產生巢狀物件{ "number": { "one": 20 } };不需要時可在選項中關閉 Support Dot Notation。 - 起始節點:範例中的 Start 節點在新版已由 Manual Trigger 等觸發節點取代,自己建立流程時請改用觸發節點。
- Set 節點支援多種資料類型,包括字串、數字、布林值等,可以依據需求進行欄位資料中繼處理。
搭配 AI Agent 使用
Set 節點在 AI 流程中特別實用:
- 送進 AI Agent 前先瘦身:只保留模型需要的欄位(例如標題、內文),可以減少送出的 Token 數量,也避免把不必要的個資傳給外部模型。
- 整理 AI 輸出:把 AI Agent 回傳的內容拆成固定欄位,再交給 Google Sheets 或資料庫節點寫入。
n8n 系列文章
- n8n 是什麼?開源工作流程自動化平台,自架與 Cloud 怎麼選
- n8n Set 節點教學:新增、改寫與整理資料欄位
- n8n Limit 節點教學:限制輸出筆數,避免 API 超量與費用暴增
- n8n HTTP Request 節點教學:串接第三方 API 與安全保管憑證
- n8n Filter 節點教學:依條件過濾資料
參考連結
成本與風險摘要
- 適用對象與規模:所有 n8n 使用者;Set 是幾乎每個流程都會用到的基礎節點。
- 成本(硬體、訂閱、授權):節點本身不另外收費;自架社群版免費,n8n Cloud 依執行次數計費。
- 維護時間:幾乎不需維護;升級 n8n 時留意舊版節點是否需要更新。
- 資安注意事項:不要把 API 金鑰或密碼寫在 Set 節點的欄位值中,請改用 Credentials 管理。
- 常見誤區:忘記開啟「Keep Only Set Fields」,導致不必要的欄位(甚至個資)一路傳到下游節點。
- 不建議使用的情況:需要複雜邏輯運算時,改用 Code 節點較清楚。
- 測試日期與版本號:資料查核日期:2026-10-28;依官方文件對照 n8n 2.45.5(範例為作者早期實作,本次未重新實機測試)。
