n8n Webhook 與第三方串接教學
想讓外部網站、表單或第三方服務即時觸發 n8n 流程?本文教你使用 Webhook 節點取得公開 URL、串接外部服務、正確設定 Credentials,並介紹排程節點與社群節點的安裝方式。
什麼是 Webhook?為什麼重要
Webhook 是一種「事件通知」機制:當某個外部服務發生特定事件時,它會主動送一則 HTTP 請求到你指定的網址(URL),你的系統收到後立即處理。相較於「每隔幾分鐘去問一次有沒有新資料」的輪詢(polling)方式,Webhook 是即時、被動接收的,反應更快、也更省資源。
在 n8n 裡,Webhook 節點會幫你產生一個公開可達的 HTTPS URL。你把這個 URL 貼到外部服務(例如網站表單、Stripe、GitHub、LINE),當事件發生時,對方就會呼叫這個 URL,你的 workflow 立刻被觸發。
重點:Webhook 需要一個「外部連得到」的公開 HTTPS 網址。這正是 RoamerHost 的強項——每個 n8n 實例都自帶專屬子域名與自動 SSL,Webhook URL 開箱即用,不必自己搞網域和憑證。
步驟一:建立 Webhook 觸發器並取得公開 URL
- 建立一條新的 workflow,點「Add first step」,搜尋並選擇 「Webhook」 節點作為觸發器。
- 設定 HTTP Method,一般表單送資料用 POST,單純觸發可用 GET。
- 設定 Path(路徑),例如
new-order,這會成為 URL 的一部分。 - n8n 會提供兩組網址:Test URL(測試用)與 Production URL(正式用)。
你的 Production URL 會長得像這樣:
https://你的名稱.roamerhost.com/webhook/new-order
測試階段請用 Test URL,並在 n8n 按「Listen for test event」,系統會等待一次外部呼叫並顯示收到的資料,方便你邊測邊調整。正式上線後改用 Production URL,並記得把 workflow 設為 Active。
步驟二:把 URL 串接到外部服務
拿到 Webhook URL 後,到你要串接的外部服務貼上它。不同服務位置不同,常見做法:
| 外部服務 | 設定位置 |
|---|---|
| 網站 / 表單工具 | 表單設定中的「送出後通知網址 / Webhook URL」欄位 |
| Stripe | Developers → Webhooks → Add endpoint |
| GitHub | Repository → Settings → Webhooks |
| LINE / Telegram | Bot 設定中的 Webhook URL 欄位 |
設定完成後,實際觸發一次事件(例如送出一筆測試表單),回到 n8n 查看 Webhook 節點是否收到資料。收到的內容會顯示在節點的輸出面板,你就能知道有哪些欄位可以往下使用。
步驟三:處理 Webhook 收到的資料
Webhook 收到的資料通常是 JSON 格式,你可以在後續節點中直接引用這些欄位:
- 在 Webhook 節點後方加入動作節點(例如寫入資料庫、發通知)。
- 在欄位設定中,點變數按鈕引用 Webhook 傳來的資料,例如
{{ $json.body.email }}。 - 若資料需要判斷或轉換,可加入 IF 節點(條件分流)或 Set / Edit Fields 節點(整理欄位)。
- 需要客製邏輯時,使用 Code 節點,以 JavaScript 撰寫自訂處理。
安全提醒:Webhook URL 等於一道對外的門。建議在 Path 使用不易猜到的字串,或在節點設定中啟用驗證(如 Header Auth),避免被惡意呼叫。
步驟四:正確設定與管理 Credentials
串接第三方服務時,Credentials(憑證)是讓 n8n 有權限存取對方帳號的關鍵。設定要點:
- 在需要授權的節點中點 「Create New Credential」。
- 依服務類型選擇授權方式:多數大型服務用 OAuth2(跳轉登入授權),部分服務用 API Key 或 Access Token。
- OAuth2 授權時,依畫面登入該服務並同意授權;API Key 則到對方後台產生後貼進 n8n。
- 命名清楚(例如「公司 Gmail」),方便多帳號時區分。
你所有的 Credentials 都加密儲存在專屬的持久化資料卷中,容器重啟也不會遺失;同一組憑證可被多個節點與多條 workflow 重複使用,不必每次重設。
步驟五:用排程節點定時執行
不是所有流程都需要外部觸發——有些工作要「定時自己跑」,這時用 Schedule Trigger:
- 建立 workflow 時選擇 「Schedule Trigger」 作為觸發器。
- 設定執行頻率,例如每小時、每天特定時間,或用 Cron 表達式做更精細的排程。
- 接上後續動作節點(例如每天早上抓資料、彙整後發報表)。
- 把 workflow 設為 Active,n8n 就會在 RoamerHost 上 24/7 依排程自動執行。
| 需求情境 | 建議觸發器 |
|---|---|
| 外部事件即時觸發 | Webhook |
| 固定時間定期執行 | Schedule Trigger |
| 手動測試 | Manual Trigger |
步驟六:安裝社群節點擴充功能
若內建的 400+ 節點還不夠用,n8n 支援安裝 社群節點(Community Nodes),由社群開發、涵蓋更多冷門或在地服務:
- 在 n8n 編輯器左下角進入 Settings → Community Nodes。
- 點 「Install a community node」。
- 輸入該節點的 npm 套件名稱(例如
n8n-nodes-xxxxx),確認後安裝。 - 安裝完成後,就能在節點清單中搜尋並使用這個新節點。
提示:社群節點由第三方維護,品質不一,安裝前建議先查看該套件的下載量與更新狀況。因為你的 n8n 跑在 RoamerHost 的獨立容器中,安裝社群節點不會影響到其他人的實例。
常見問題排解
- Webhook 沒被觸發?確認 workflow 已設為 Active,且外部服務用的是 Production URL(非 Test URL)。
- 收到資料但欄位空白?檢查 HTTP Method 是否正確(POST/GET),以及資料是放在 body 還是 query。
- Credential 授權失敗?重新授權一次,並確認對方服務的 API 權限範圍足夠。
- 排程沒有按時執行?確認時區設定,以及 workflow 為啟用狀態。
你的 n8n 具備自動重啟機制,即使容器異常也會自動恢復,排程與 Webhook 不會因此中斷。若仍有無法解決的問題,歡迎聯繫 技術支援,或到 控制台 檢視實例運行狀態。
小結
掌握 Webhook、Credentials、排程與社群節點,你就能把 n8n 從「內部小工具」升級成「串接整個工作生態的自動化中樞」。搭配 RoamerHost 的公開 HTTPS URL、自動 SSL 與 24/7 運行,不必自架伺服器就能穩定跑起各種即時與定時的自動化。準備好了嗎?到 控制台 動手打造你的下一條流程吧。