附錄 A

設定速查

n8n 有一狗票設定散在四個地方——右上頭像、workflow 內 Settings tab、instance 環境變數、IT 那邊的 admin 頁。這附錄一次把「哪個在哪、誰能改、改了會怎樣」講清楚。看到 Executions 突然消失、Schedule 跑錯時間、想改介面語言的時候都翻這裡。

為什麼要有一份速查

n8n 的設定其實不多,但問題出在分了很多層——你以為改了個開關,結果那個開關只影響你自己一個人;又或者你在自己 Settings 找半天,其實那個東西只有 admin 或環境變數能改。真實遇過的狀況:

  • 「幫我把介面切成中文」 —— 這其實不是 Personal 能改的,n8n community 沒有 UI 語言下拉;要靠 instance 的 N8N_DEFAULT_LOCALE env var,找 IT。
  • 「幫我把 Schedule 節點改成台北時間」 —— 這是 workflow 級的 Settings tab,或者叫 IT 改 GENERIC_TIMEZONE。
  • 「我上禮拜跑的 execution 不見了!」 —— 這是 instance 級的 EXECUTIONS_DATA_MAX_AGE,預設 336 小時(14 天)就 auto purge,你沒權限改,找 IT。
  • 「我按了 Manual Execute 但 Executions 頁沒紀錄」 —— 這是 workflow Settings 的 Save manual executions;n8n 官方 instance 預設其實是開(EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS=true),但很多公司 IT 為了省 DB 會關掉,所以你這台看不到不代表壞掉,是被覆蓋。

這附錄按「你能不能改 / 影響誰」分兩大類——Personal(自己畫面,隨時改)跟 Workspace / Instance(全公司共用,只有 admin 或 env vars)。搞懂這層分工,之後遇到 90% 的設定問題都知道去哪找、找誰改。

觀念:n8n 的 workflow 跟 credentials 會被 backup 帶走,但 instance 的環境變數不會——換機器搬 workflow 之前記得另外備份 .env 或 docker-compose 檔,不然新機器行為會完全不一樣。

兩層設定:Personal vs Workspace

先把心智模型立起來。n8n 的設定分成兩層——一層是你自己的畫面偏好,另一層是整個 instance 的行為。改錯層等於白改。

層級在哪裡改影響誰誰能改典型例子
Personal(個人) 右上頭像 → Settings 只有你自己 你自己 介面語言、主題、通知偏好
Workflow(單一 workflow) 打開 workflow → 頂端 Settings tab 這一個 workflow 的所有執行 對這 workflow 有編輯權限的人 Timezone、Error Workflow、Save 選項
Instance(整台 n8n) 環境變數 .env 或 docker-compose;部分 admin 頁 全公司所有人 只有 admin 或 IT Executions 保留天數、預設時區、Base URL
提示:找不到某個設定時,先問自己「這東西應該只影響我,還是全公司?」——只影響你就去 Personal Settings;影響全公司但只針對一個 workflow 就去該 workflow 的 Settings tab;影響全部 workflow 的預設值大概率是 env var,找 IT。

Personal 設定:只影響你自己的帳號

左下角三個點旁邊點頭像 → Settings,n8n 開啟 Personal settings 頁。這些設定綁在你的帳號上(存在 n8n DB),跟同事無關。

n8n Personal Settings 頁面,列出個人資料、密碼、2FA、API Keys 等欄位
圖 附A-1Personal Settings 頁面:從頭像進入的個人偏好,只影響你自己這個帳號。
選項可設意義 / 備註
Personal 資料 First name / Last name / Email Email 也是登入用;owner 由環境變數管的話會被鎖成 read-only。
Password 修改 就是你的登入密碼。有裝 SSO / SAML / LDAP 的公司這欄可能被停用。
Two-factor authentication(2FA) 啟用 / 停用 Instance 有開 2FA 才會出現此區塊。啟用後綁 TOTP app(Google Authenticator 等)。
API Keys 產生 / 撤銷 呼叫 n8n REST API 用(例:CI/CD 自動 import workflow)。跟 credentials 是兩件事。撤銷後所有用這 key 的自動化都會 401。
沒有的東西:Personal Settings 不含 Language 下拉、也不含 Theme / 通知偏好開關——這幾樣在 community 版根本不在這頁。UI 語言由 instance 的 N8N_DEFAULT_LOCALE 決定(見下 Instance 級設定);深淺模式跟 OS 或瀏覽器走,不是 n8n 選項。
注意:坊間教學常寫「Personal → Language 選中文」——那是舊版介面截圖或第三方 fork,官方 n8n community 目前沒有 UI 語言選擇下拉。要換語言得請 IT 設 N8N_DEFAULT_LOCALE(見下),改完整台 instance 一起換,不能個人切。

Workflow 級設定:打開 workflow 找 Settings tab

打開任何一個 workflow,畫面最頂端會看到 Editor / Executions / Evaluations / Settings 這幾個 tab。點 Settings 進去,就是這個 workflow 的專屬設定。這些選項只影響這一個 workflow,不會動到別的。

選項預設值什麼時候要改
Execution order v1(推薦)/ v0(legacy) 新 workflow 一律 v1,跑多分支時每個節點確保只被觸發一次。老 workflow 從 v0 升上來時才會需要動這個。
Timezone 跟 instance 走(GENERIC_TIMEZONE,預設 America/New_York) 用 Schedule 或 Cron 節點的 workflow 一定要設——選 Asia/Taipei,不然 第 10 章那個「每天早上 9 點」會變成 New York 9 點(台灣 21 或 22 點,看夏令)。
Error Workflow 無 指定一個「錯誤處理 workflow」——這個 workflow 出錯時會自動觸發那個。做集中通知或補償邏輯用,詳見 第 17 章。
This workflow can be called by(俗稱 caller policy) Any workflow / Workflows in same project / Only workflows I own / Only specified workflows 哪些其他 workflow 可以用 Execute Workflow 節點呼叫這一個。管團隊複用 sub-workflow 時會用到。
Save failed production executions Default (Save) Instance 預設是 all。強烈建議保持——不存的話錯誤發生時你看不到節點 input,debug 很痛苦。
Save successful production executions Default (Save) Instance 預設是 all。存了才能在 Executions 頁看每個節點的資料;不存只會有結果摘要。DB 吃緊時單獨這條可以關。
Save manual executions Default (Save) 官方 instance 預設 true——按 Execute Workflow 後 Executions 頁會有紀錄可 debug。有些公司 IT 為省 DB 會把 instance 預設改 false;此開關可覆蓋。
Save execution progress Default (Do not save) 每一步都存進 DB。跑很長很重的 workflow 可以開,中間掛掉能從斷點繼續;但寫入頻繁會拖慢執行。
Timeout Workflow / Timeout After 關(吃 instance EXECUTIONS_TIMEOUT,預設 -1 無 timeout) 開啟後填時 / 分 / 秒。單次 execution 超時會被取消。防呆用——workflow 卡死不會無限吃資源。設 1 小時算保守。
Redact production / manual execution data 關 存 execution 時把節點 input/output 遮掉。處理 PII / 病歷 / 金流的 workflow 開這個,Executions 頁看得到有跑過、但看不到內容。
提示:每建一個新 workflow 就先進 Settings tab 把 Timezone 設好、把 Error Workflow 指定給你的 handler workflow——這兩件事之後補很容易忘、也很難補(尤其 Timezone 設錯,Schedule 已經跑了兩星期才發現時間都不對)。

Instance 級設定:整台 n8n 的行為

這些設定寫在環境變數(.env 檔或 docker-compose 的 environment:)——你在 UI 上看不到、也改不了,要動就得請 IT 或 admin。看得懂它們在講什麼,你才不會拿一堆 UI 找不到的東西去問 IT。

環境變數預設值做什麼
GENERIC_TIMEZONE America/New_York 整台 n8n 的預設時區——所有沒指定自己 Timezone 的 workflow 都吃這個。台灣公司請 IT 改成 Asia/Taipei。
TZ 視 base image 而定 Node.js 進程本身的 timezone。實務上跟 GENERIC_TIMEZONE 設成一樣,避免 log 時間跟 workflow 時間對不起來。
EXECUTIONS_DATA_MAX_AGE 336(小時 = 14 天) Executions 紀錄自動清除的時限。想留久一點就調高(例:720 = 30 天);老是塞爆 DB 就調低。
EXECUTIONS_DATA_PRUNE true 要不要自動清 executions。設 false 表示永不刪——DB 會越長越肥,只建議短期 debug 用。
EXECUTIONS_DATA_SAVE_ON_SUCCESS all Instance 預設:成功的 execution 存不存資料。可設 all / none。單一 workflow 可覆蓋。
EXECUTIONS_DATA_SAVE_ON_ERROR all Instance 預設:失敗的 execution 存不存資料。建議保持 all。
EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS true Instance 預設:手動按 Execute Workflow 的紀錄要不要進 Executions 頁。官方預設是開;有些公司為省 DB 會關成 false。單一 workflow 可覆蓋。
EXECUTIONS_TIMEOUT -1(秒;-1 表示不 timeout) Instance 預設的單次 execution 上限秒數。單一 workflow 可在 Settings 覆蓋。設 3600 表示全 instance 最多 1 小時。
N8N_LOG_LEVEL info n8n 服務本身的 log 詳細度,僅四個合法值:error / warn / info / debug。查怪 bug 時 IT 會臨時開 debug。沒有 verbose 或 silent——填了會被當非法值。
N8N_HOST / N8N_PORT / N8N_PROTOCOL localhost / 5678 / http 對外服務位址。跟下面 WEBHOOK_URL 一起決定外部收到的 webhook URL 長什麼樣。
WEBHOOK_URL 組自 host/port/protocol Webhook 節點顯示給你複製的那個外部 URL——反向代理架構下必須手動指定成公開域名,不然給對方的 URL 是內網 IP 不能用。
N8N_DEFAULT_LOCALE en 整台 instance 的 UI 語言。只吃基本 tag(en / de / zh),不吃 zh-Hant / zh-TW / de-AT 這種 regional identifier——填了會 fallback 回 en。且個別使用者沒有 UI 可自己改;改這個等於全公司一起換。
EXECUTIONS_MODE regular 執行模式:regular(單 process)或 queue(配 Redis 開 workers 跑)。量大才需要 queue 模式。
注意:環境變數改完必須重啟 n8n 服務才會生效(docker compose restart n8n 或系統服務 restart),不是改完就馬上套用。這也是為什麼這些不放 UI——避免使用者以為改了就好、實際沒生效還怪 n8n 壞掉。

Executions 保留天數:為什麼你的紀錄會消失

Community 版預設 14 天(336 小時)就會 auto purge,這是最多人踩的坑。每次 workflow 跑一次都會產生一筆 execution 紀錄——連同節點的 input / output 資料(Save 選項有開的話),塞在 PostgreSQL / SQLite 裡。時間久了 DB 會腫,n8n 官方預設就設了 14 天,不然新裝的 instance 跑三個月會發現 DB 20GB。

後果:

  • 15 天前的 execution 不管成功失敗都直接消失——UI 看不到、DB 裡也沒了。
  • 連帶 execution 的節點 input / output 資料也一併消失——想回頭看那天 API 回傳了什麼,沒了。
  • 對外部系統的操作(Slack 訊息、Airtable 資料)當然還在——刪的只是 n8n 這邊的執行紀錄。

想留久一點,三條路:

  1. 找 IT 改環境變數

    請 IT 把 EXECUTIONS_DATA_MAX_AGE 從 336 調到你要的數字(單位是小時,不是天)。想留 30 天就設 720、90 天設 2160。

  2. 關鍵資料自己另存

    在 workflow 最後接一個 Google Sheets / Airtable / DB 節點,把每次執行的關鍵資料(input、時間、結果)寫進外部——這樣不管 n8n executions 保留多久,稽核紀錄都在。這是稽核合規最穩的做法。

  3. 整台 DB 做定期 dump

    IT 對 n8n 的 PostgreSQL 每天做 pg_dump backup。這樣 executions 被 purge 掉之後,需要回溯還可以從 dump 檔還原。適合稽核嚴的公司。

危險:把 EXECUTIONS_DATA_PRUNE 設成 false 表示永不清除——短期 debug OK,長期跑到 DB 爆炸的案例超級多。真的要長期保留改用「Sheet / DB 另存 + 定期 dump」,不要靠 n8n 本身無限保留。

Timezone 三層優先序:Schedule 為什麼跑錯時間

「我明明設早上 9 點,怎麼變下午 5 點跑」——十有八九是 Timezone 沒設。n8n 決定 workflow 的時區有三層,從高到低:

優先序設定在哪怎麼寫影響範圍
1(最高) 節點 Expression 內明寫 {{ $now.setZone('Asia/Taipei').toFormat('HH:mm') }} 只影響這個 expression 那次計算
2 Workflow → Settings → Timezone 下拉選 Asia/Taipei 這個 workflow 所有節點、包含 Schedule / Cron 觸發
3(最低) Instance 環境變數 GENERIC_TIMEZONE IT 改 .env 所有沒指定 Timezone 的 workflow

都沒設就是 America/New_York——這是 n8n 官方 GENERIC_TIMEZONE 的預設值(不是 UTC,很多人以為是 UTC)。所以「新裝的 n8n 跑 Schedule 時間對不上」在台灣是必然,差 12~13 小時(看紐約當時是不是夏令)。TZ(Node.js 進程時區)則吃 base image 預設,Docker 官方 image 是 UTC——兩個變數會有落差,log 時間跟 workflow 時間可能對不起來,所以實務上 GENERIC_TIMEZONE 跟 TZ 建議設成一樣。

推薦做法:

  1. Instance 底線先設好

    請 IT 把 GENERIC_TIMEZONE=Asia/Taipei 跟 TZ=Asia/Taipei 都加進 .env,重啟。這樣新 workflow 預設就是台北時間,不用每個都手動設。

  2. Workflow 保險再設一次

    任何用 Schedule / Cron 的 workflow,還是進 Settings tab 明確選 Asia/Taipei——這樣就算之後 IT 改 GENERIC_TIMEZONE、或搬到別台 n8n,你的排程時間都不會變。

  3. 跨時區資料才在 Expression 明寫

    只有處理跨時區資料(例:把 UTC timestamp 轉台北時間顯示)才在 Expression 用 .setZone()——不要每個節點都寫,維護惡夢。

最常要改的設定清單

照身份分三份 checklist——照著跑一遍,90% 的日常問題都不會發生。

新使用者第一天(自己就能做):

  • Personal settings → 檢查 First name / Last name / Email 填對
  • 如果會用 API:Personal settings → API Keys 產一個存好
  • 密碼建議打開 2FA(如果 instance 有開啟這功能,見 第 2 章)
  • 想要中文介面 → 這個自己改不了,找 IT 設 instance 級 N8N_DEFAULT_LOCALE

建新 workflow 每次都做(3 分鐘):

  • Settings tab → Timezone 選 Asia/Taipei(不然吃 America/New_York)
  • Error Workflow 指定你的 handler workflow(沒有就先做一個,見 第 17 章)
  • 開發階段確認 Save manual executions 是 Save(若 IT 把 instance 預設關了要在這裡強制打開)
  • 會跑很久的開 Timeout Workflow(例:1 小時)
  • 處理 PII / 金流的加 Redact production execution data

IT / Admin 部署前要決定(做一次):

  • GENERIC_TIMEZONE + TZ 設 Asia/Taipei
  • WEBHOOK_URL 明確設成公開域名(反向代理架構必做)
  • EXECUTIONS_DATA_MAX_AGE 依稽核需求決定(14 天 / 30 天 / 90 天)
  • 認證憑證的加密 key N8N_ENCRYPTION_KEY 產一個強的、備份好(換了會讓所有現有 credentials 解不開)
  • DB 從內建 SQLite 換成 PostgreSQL(正式環境必做)
注意:N8N_ENCRYPTION_KEY 是所有 credentials 加密解密用的 master key——換掉之後所有現有 credentials 都會變成解不開的亂碼。第一次部署就要決定好,記到密碼管理器,之後絕對不要改。

常見卡關

  1. Schedule / Cron 節點跑錯時間

    99% 是 workflow 的 Timezone 沒設,跑成 instance 預設(官方預設是 America/New_York,不是 UTC)。開這個 workflow → Settings tab → Timezone 選 Asia/Taipei → Save。Instance 若也沒設 GENERIC_TIMEZONE,順便請 IT 加。改完下次觸發才會用新時區,上一次已排定的還是舊時間。

  2. Executions 頁上禮拜的紀錄不見了

    Community 版預設 14 天 auto purge——超過就被清了,n8n 端沒救。想留久要改 EXECUTIONS_DATA_MAX_AGE(找 IT)。長期解法:把關鍵資料另存到 Google Sheet / DB,不要靠 n8n executions 當稽核紀錄。

  3. 我沒看到 Instance settings 頁 / Admin 頁

    Instance 設定在 UI 上本來就大部分沒得改,都在環境變數。你在 UI 找不到不是你權限問題,是它根本不在 UI。有些 admin 專用頁(例:Users 管理)只有 owner / admin 角色看得到——找 IT 或當初開這個 instance 的人。

  4. 找不到「Personal → Language」下拉

    官方 n8n community Personal settings 沒有 UI 語言選擇下拉——你不是眼瞎,是它根本不存在。UI 語言由 instance 的 N8N_DEFAULT_LOCALE env var 決定(且只吃 en / zh 這種基本 tag,不吃 zh-TW / zh-Hant),改完得重啟整台 n8n,會影響全公司。網路上寫「切成简体中文」的教學多半是舊版截圖或第三方 fork。

  5. 改了 workflow Settings 但 Executions 還是沒存資料

    三個檢查點:(a)workflow Settings 的 Save 選項有沒有真的按 Save(不是只切開關就走);(b)你按的是 Execute Workflow(Manual)還是外部觸發?Manual 走 Save manual executions,Production 走 Save successful / failed production executions,是三個獨立開關;(c)workflow Settings 若選「Default」就是吃 instance 的 EXECUTIONS_DATA_SAVE_* env var,如果 IT 把 instance 預設關了,選 Default 就等於關。想強制存要在 workflow Settings 明確選 Save。

  6. Webhook 節點給我的 URL 是 localhost,外部叫不到

    Instance 沒設 WEBHOOK_URL,n8n 只知道自己 host 是啥。找 IT 加 WEBHOOK_URL=https://n8n.你的公司.com(含 protocol、含 domain),重啟。之後 Webhook 節點顯示的 URL 就會是正確對外可訪問的。

  7. Error Workflow 沒被觸發

    幾個常見原因:(a)Error Workflow 本身沒 Active 打開;(b)Error Workflow 的 trigger 不是 Error Trigger 節點;(c)出錯的 workflow 的 Settings 沒指定這個 Error Workflow。三個一起檢查,詳見 第 17 章。

  8. 改了 env var 但看起來沒生效

    環境變數不會 hot reload——改完 .env 或 docker-compose 之後要 docker compose down && docker compose up -d(或系統服務 restart)才會讀新值。restart 有時不夠(尤其改 docker-compose.yml),要完整 down + up。

常見問題

Personal 設定會不會被清掉?換裝置還在嗎?
Personal 設定是跟你 n8n 帳號綁在一起,存在 n8n 的 database 裡——只要你的帳號還在、instance 還在,設定就在。同一個帳號在多個裝置 / 瀏覽器登入,看到的 Personal 設定會一致(因為讀的是同一份 DB 紀錄)。清瀏覽器 cache / cookie 不會影響 Personal 設定,只會影響登入狀態。
n8n backup 有含 settings 嗎?搬機器要怎麼帶過去?
分三種:(a)Workflows / Credentials——backup 有,可以 export/import 或整個 DB 搬過去;(b)Personal 設定(Language / Theme 等)——存在 DB 的 user 表,DB 搬走就跟著搬;(c)Instance 環境變數——backup 完全不含,因為它們在 .env 或 docker-compose.yml,不是 n8n DB 內容。搬機器要另外複製 .env 檔(特別注意 N8N_ENCRYPTION_KEY 一定要帶過去,不然新機器解不開舊的 credentials)。
有沒有匯出所有設定 / workflow 的按鈕?
UI 上沒有一鍵匯出全部設定的按鈕。做法:(a)Workflows / Credentials 可用 n8n CLI —— n8n export:workflow --all --output=./backup.json 跟 n8n export:credentials --all --decrypted --output=./cred.json(decrypted 檔案含明文密碼,要妥善保管);(b)Personal / Instance 設定沒 export 命令,Personal 存 DB、Instance 存 env var,各自備份。企業級 backup 建議直接 dump 整個 PostgreSQL + 複製 .env。
同一個帳號多裝置登入設定會同步嗎?
會。Personal 設定存在 n8n DB 裡,跟裝置無關——你在辦公室電腦改成 Dark 主題,回家用筆電打開一樣是 Dark(要重整才會抓最新,不會即時 push)。Session(登入狀態)跟裝置有關,是各自的 cookie;設定內容則是跟帳號綁。
免費的 Community 版跟 Cloud / Enterprise 設定選項有差嗎?
有。Community 是最基本;Cloud(n8n 官方 SaaS)幫你 host 所以 instance 設定看不到、不能改,官方幫你處理;Enterprise 多了 SSO / SAML、更細的權限(RBAC)、External Secrets、Log Streaming、Audit Log 等。介面看到有選項但灰掉的通常是要付費版才有。本附錄講的都是 Community 有的、跟業務同仁最相關的部分。
我想把介面切成中文,Personal Settings 為什麼找不到 Language?
因為 n8n 官方 community 版沒有個人層級的 UI 語言切換。整台 instance 的介面語言由 N8N_DEFAULT_LOCALE env var 控制(預設 en),改了會影響全公司——所以要協調 IT。而且 n8n 只吃基本 tag(en / de / zh ...),不吃 regional code(zh-Hant / zh-TW / de-AT),填了會 fallback 回 en。另外 n8n 官方 GitHub master 目前只 ship 英文 locale 檔,其他語系是靠 Crowdin 社群翻譯——所以就算你設 zh,未翻譯字串還是會顯示英文。這也是為什麼很多用戶乾脆維持英文。
我要 workflow 一段時間才跑一次,可以在 UI 排「每個月 15 號」嗎?
可以——用 Schedule Trigger(第 10 章)節點,Interval 選 Days 或直接寫 Cron expression(0 9 15 * * = 每月 15 號早上 9 點)。這個 workflow 的 Timezone 一定要在 Settings tab 設 Asia/Taipei,不然 9 點會變 UTC 9 點(台灣 17 點)。
我可以自己給自己開 admin 權限改 Instance 設定嗎?
不行——n8n 的角色由當初開 instance 的人(owner)分配,一般 member 沒有升級自己的按鈕。而且大部分 instance 設定連 admin 都在 UI 上改不到,得在 server 上動 .env。要嘛請現有 admin 幫改角色,要嘛請 IT 幫改 env var。這是保護機制,不是 bug。
Credentials 是 Personal 還是 Workspace?我建的別人能用嗎?
Credentials 有自己一套權限系統,跟這裡的 Personal / Instance 是兩件事。建立時預設 只有你自己能用——想給團隊用要進 Credentials 頁面 → 該筆 credential → Sharing tab 手動分享給其他人 / project。細節請看第 13 章。
Notification email 收不到,該檢查什麼?
三個層次:(a)Personal Settings → Notification Preferences 有沒有勾開;(b)Instance 有沒有配 SMTP(N8N_EMAIL_MODE=smtp 跟 N8N_SMTP_* 那組 env var,找 IT 確認)——沒配 SMTP 再怎麼勾都寄不出;(c)確認你的 email 沒被寄到垃圾信匣、或被公司 mail filter 擋掉。這三個是照順序查的。