在前 15 天的教學中,我們大多透過內建的 Trigger Node(像是 Cron、Google Sheet、RSS 等)去啟動工作流。但在實務上,Webhook 是最靈活、最強大的觸發方式之一,可以讓外部系統「主動通知」n8n 來執行後續流程。
今天我們就來看看如何在 n8n 中使用 Webhook Node,並透過一個簡單的例子理解它的應用場景。
Webhook 的概念其實很簡單:
舉例:
在 n8n 中,Webhook Node 會自動幫我們產生一個網址,只要外部服務呼叫這個 URL,就能觸發工作流。
POST
)。⚠️ 注意:
- Test URL 只有在 Workflow 開啟編輯模式下才會有效。
- 正式啟用後,需使用 Production URL,這才是持久可用的網址。
curl -X POST https://<你的-n8n-網址>/webhook-test/xxxx \
-H "Content-Type: application/json" \
-d '{"user":"Shu","message":"Hello Webhook!"}'
假設我們有一個 Google Form,想要在有人填寫後自動傳送 Discord 通知。流程如下:
UrlFetchApp.fetch
,將表單內容以 POST 方式傳送到 n8n Webhook URL。範例 Apps Script:
function onFormSubmit(e) {
var url = "https://<你的-n8n-網址>/webhook/xxxx";
var payload = {
name: e.namedValues["姓名"][0],
email: e.namedValues["Email"][0],
feedback: e.namedValues["回饋內容"][0]
};
var options = {
method: "post",
contentType: "application/json",
payload: JSON.stringify(payload)
};
UrlFetchApp.fetch(url, options);
}
這樣,每當有人提交表單,就會立即觸發 n8n,實現「即時自動化」。
secret
或簽章驗證(如 Stripe HMAC)確保 Webhook 不被濫用。event=payment_succeeded
)做不同處理。👉 明天的 Day 17,我們會延伸學習 HTTP Request 串接第三方 API,讓你能不只被動接收 Webhook,也能主動向外部服務互動,打造更完整的自動化流程。