訂單處理自動化實作:從下單到出貨的 8 個節點
手把手帶你搭一條 N8N 訂單處理流程:從新訂單觸發,到客戶確認信、倉庫通知、出貨更新、追蹤碼發送,完整 8 個節點的設定細節。
訂單處理自動化實作:從下單到出貨的 8 個節點
電商賣家最常問的問題之一是:「我要怎麼讓訂單進來的時候,不用我手動做那麼多事?」這篇是「N8N 電商自動化完全指南」的實作篇,帶你一個節點一個節點搭出完整的訂單流程。
這篇文章就是要回答這個問題。
我們要搭一條從「新訂單」到「出貨完成」的完整自動化流程,涵蓋 8 個節點,每個節點的設定細節都會說清楚。
這條流程以 Shopify 為範例,但邏輯可以套用到 WooCommerce(節點換一換就好),蝦皮版本的差異在「N8N 電商自動化完全指南」那篇有說明。
這條流程要完成什麼
從客戶下單到收到貨,中間有這幾個需要通知和處理的時間點:
訂單建立:客戶下單,系統需要通知倉庫準備出貨,也需要發確認信給客戶。
付款確認:如果是貨到付款或 ATM 轉帳,付款確認後才開始備貨。
準備出貨:倉庫備貨完成,需要填入追蹤碼,更新訂單狀態。
出貨完成:通知客戶包裹已寄出,附上追蹤碼和預計到貨時間。
這條流程要自動化的,就是上面每個時間點的「通知和記錄」工作。
流程架構總覽
8 個節點的流程設計:
節點 1:Shopify Trigger(新訂單觸發)
節點 2:IF 節點(過濾測試訂單)
節點 3:Google Sheets(記錄訂單)
節點 4:Gmail(發確認信給客戶)
節點 5:Slack(通知倉庫)
節點 6:等待 Webhook(等待出貨確認)
節點 7:Shopify(更新訂單出貨狀態)
節點 8:Gmail(發出貨通知給客戶)
節點 3、4、5 可以並行執行(記錄訂單的同時發確認信和通知倉庫),不需要等前一個完成再做下一個。
節點一:Shopify Trigger
新增 Shopify Trigger 節點,設定:
Credential:新增 Shopify API 憑證(Store URL 加 Access Token)
Trigger On:選「Order」→「Created」
啟用這個節點後,每次有新訂單建立,N8N 就會收到 Shopify 發來的通知,開始執行這條流程。
Shopify 發來的訂單資料常用欄位:
{{ $json.id }}:訂單 ID
{{ $json.order_number }}:訂單編號(顯示給客戶的 #1234 格式)
{{ $json.email }}:客戶 Email
{{ $json.total_price }}:訂單金額
{{ $json.line_items }}:訂購商品列表(陣列)
{{ $json.shipping_address.name }}:收件人姓名
{{ $json.financial_status }}:付款狀態(paid / pending 等)
{{ $json.fulfillment_status }}:出貨狀態(null 代表未出貨)
節點二:IF 節點(過濾測試訂單)
Shopify 有「測試訂單」功能,開發或測試流程時產生的假訂單不應該觸發真實的通知。
新增 IF 節點,條件:{{ $json.test }} is false(或 Not Equal to true)
True 分支(不是測試訂單):繼續流程
False 分支(是測試訂單):停止
節點三:Google Sheets(記錄訂單)
先在 Google Sheets 建立一個訂單記錄表,欄位建議:Order_ID、Order_Number、Customer_Email、Customer_Name、Total_Price、Items、Shipping_Address、Payment_Status、Created_At。
新增 Google Sheets 節點,操作選「Append Row」,Mapping 欄位設定:
Order_ID → {{ $json.id }}
Order_Number → {{ $json.order_number }}
Customer_Email → {{ $json.email }}
Customer_Name → {{ $json.shipping_address.name }}
Total_Price → {{ $json.total_price }}
Items → {{ $json.line_items.map(i => i.name + ' x' + i.quantity).join(', ') }}
Shipping_Address → {{ $json.shipping_address.address1 }}, {{ $json.shipping_address.city }}
Payment_Status → {{ $json.financial_status }}
Created_At → {{ $now.format('YYYY-MM-DD HH:mm') }}
節點四:Gmail(發確認信給客戶)
新增 Gmail 節點,操作選「Send a Message」。
To:{{ $json.email }}
Subject:您的訂單 #{{ $json.order_number }} 已確認!
Message(HTML 格式):
親愛的 {{ $json.shipping_address.first_name }} 您好,
感謝您的訂購!我們已收到您的訂單,正在為您準備商品。
訂單編號:#{{ $json.order_number }}
訂單金額:NT$ {{ $json.total_price }}
收件地址:{{ $json.shipping_address.address1 }}, {{ $json.shipping_address.city }}
訂購商品:
{{ $json.line_items.map(i => '• ' + i.name + ' × ' + i.quantity).join('\n') }}
預計出貨時間:1-3 個工作天
如有任何問題,歡迎回覆此信件與我們聯繫。
感謝您的支持!
[你的店鋪名稱] 團隊
記得在節點設定裡把 Message Type 選成「HTML」。
節點五:Slack(通知倉庫)
新增 Slack 節點,操作選「Send a Message」。
Channel:#orders(或你的倉庫通知頻道)
Text:
:package: 新訂單 #{{ $json.order_number }}
客戶:{{ $json.shipping_address.name }}
金額:NT$ {{ $json.total_price }}
付款狀態:{{ $json.financial_status === 'paid' ? '已付款 ✅' : '待付款 ⏳' }}
商品清單:
{{ $json.line_items.map(i => '• ' + i.name + ' × ' + i.quantity).join('\n') }}
收件地址:
{{ $json.shipping_address.address1 }}
{{ $json.shipping_address.city }}
這則 Slack 通知讓倉庫人員直接在 Slack 看到所有需要備貨的資訊,不需要登入 Shopify 後台。
節點六:等待 Webhook(等待出貨確認)
這是這條流程裡最關鍵的設計。
我們需要流程「暫停」,等倉庫確認出貨並填入追蹤碼之後,再繼續執行發出貨通知的步驟。
做法:新增 Webhook 節點(不是 Webhook Trigger,是作為中間等待點的 Webhook),設定 HTTP Method 為 POST。
取得這個 Webhook 的 URL 之後,有兩種方式觸發它:
方式一:在 Slack 通知裡附上一個連結,倉庫人員出貨後點擊這個連結,帶上追蹤碼資訊。
方式二:你的倉庫管理系統或出貨工具,在標記出貨時自動呼叫這個 URL。
呼叫這個 Webhook 時,帶入追蹤碼資訊:
{
"order_id": "訂單ID",
"tracking_number": "追蹤碼",
"carrier": "黑貓宅急便"
}
流程會在這裡等待,直到收到這個 Webhook 呼叫才繼續。
節點七:Shopify(更新訂單出貨狀態)
收到出貨確認後,用 Shopify 節點更新訂單的出貨記錄。
操作選「Create Fulfillment」:
Order ID:{{ $('Shopify Trigger').item.json.id }}(引用第一個節點的訂單 ID)
Tracking Number:{{ $json.tracking_number }}(從剛才的 Webhook 取得)
Tracking Company:{{ $json.carrier }}
Notify Customer:false(我們自己在下一個節點發通知)
節點八:Gmail(發出貨通知給客戶)
Gmail 節點,To 取用第一個節點的客戶 Email:{{ $('Shopify Trigger').item.json.email }}
Subject:您的包裹已出貨!訂單 #{{ $('Shopify Trigger').item.json.order_number }}
Message:
親愛的 {{ $('Shopify Trigger').item.json.shipping_address.first_name }} 您好,
您的包裹已經寄出,預計 2-4 天內送達。
訂單編號:#{{ $('Shopify Trigger').item.json.order_number }}
物流公司:{{ $json.carrier }}
追蹤號碼:{{ $json.tracking_number }}
您可以用追蹤號碼在物流公司官網追蹤包裹狀態。
感謝您的購買,期待再次為您服務!
[你的店鋪名稱] 團隊
測試整條流程
流程搭好之後,在 Shopify 後台建立一筆測試訂單,確認:
一、流程有沒有正確觸發(看 N8N 的 Executions)
二、IF 節點有沒有正確識別測試訂單(測試訂單應該在這裡停止)
用真實訂單測試時,確認:
Google Sheets 有沒有記錄到新訂單
客戶確認信有沒有正確發出(格式和內容)
Slack 倉庫通知有沒有出現
手動呼叫「等待出貨」的 Webhook URL,確認後續的更新和出貨通知能正確執行
擴展這條流程的幾個方向
加入付款狀態判斷:如果是 ATM 轉帳訂單,先監聽付款確認事件再開始備貨流程,不是下單就立刻通知倉庫。
加入客戶標籤:首次購買的客戶,在 Shopify 加一個「new-customer」標籤,並觸發一條 Email 歡迎序列。
加入庫存檢查:訂單建立時先查庫存,庫存不足的商品在 Slack 通知裡特別標注,提醒補貨。
加入評價邀請:訂單完成出貨後 7 天,自動發送一封邀請評價的 Email。
每加一個功能,這條流程就幫你多省一點時間。
你現在處理訂單最讓你頭痛的一個環節是什麼?留言告訴我,我來看這裡還有哪些可以自動化的空間。
前往 N8Nstart 模板庫 找電商訂單處理的現成模板,直接匯入修改。Shopify Partners 文件 和 N8N 官方文件 是串接時的完整技術參考。
延伸閱讀
- N8N 電商自動化完全指南:Shopify、蝦皮、WooCommerce 串法 — 電商自動化的整體架構
- N8N x AI Agent 完全指南 — 在訂單流程中加入 AI 客服
- 自動化效率提升指南 — 電商訂單自動化能省多少時間
- N8N 工作流模板 1700+ 怎麼選、怎麼改、怎麼套用 — 找更多電商場景模板