N8N 電商 訂單 出貨 自動化 Shopify 實作教學

訂單處理自動化實作:從下單到出貨的 8 個節點

手把手帶你搭一條 N8N 訂單處理流程:從新訂單觸發,到客戶確認信、倉庫通知、出貨更新、追蹤碼發送,完整 8 個節點的設定細節。

N8NMarket 2026年4月24日

訂單處理自動化實作:從下單到出貨的 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 官方文件 是串接時的完整技術參考。


延伸閱讀