Notion · 2026.06.09 · 5 min read
Notion Webhook 怎麼用?n8n、Cloudflare Workers、Zapier 實作教學(2026)

Notion Webhook 怎麼用?n8n、Cloudflare Workers、Zapier 實作教學(2026)
解答先行
Notion Webhook 的價值是:不用一直輪詢 Notion API,資料變動時讓 Notion 主動通知你。
如果你還沒設定 Notion API token,先看:Notion API Key 怎麼拿。如果你還不會用 curl 測 API,先看:Notion API 用 curl 測試教學。
Webhook 適合這些情境:
| 情境 | 適不適合 webhook |
|---|---|
| 文章狀態改成 Ready 就觸發發布 | 適合 |
| CRM 客戶狀態改變就通知 Slack | 適合 |
| 每天固定備份一次 Notion | 不一定,排程更簡單 |
| 新手第一次接 API | 先不要,先跑 curl |
| 一次大量同步歷史資料 | 不適合,先 query data source |
最重要的一句話:
Webhook 是即時通知,不是資料同步本身。
Webhook 會告訴你「有變動」。真正要拿最新資料,通常還是要再用 Notion API 查一次。
Notion Webhook 是什麼?
Webhook 可以理解成「事件發生時,Notion 打一通 HTTP 電話給你的系統」。
流程大概是:
| 步驟 | 發生什麼事 |
|---|---|
| 1 | 你在 Notion connection 裡建立 webhook subscription |
| 2 | 填入公開 HTTPS endpoint |
| 3 | Notion 送 verification token 給你 |
| 4 | 你回 Notion 後台貼上 token 完成驗證 |
| 5 | 之後 page / data source 變動時,Notion 送 event 到你的 endpoint |
| 6 | 你的系統收到事件後,再用 API 抓最新資料 |
這和 Notion Button 裡的 Send Webhook 不完全一樣。
| 類型 | 觸發方式 | 適合誰 |
|---|---|---|
| 官方 webhook subscription | Notion 偵測 workspace activity 後自動送事件 | 工程師、自動化系統 |
| Notion Button Send Webhook | 使用者按按鈕才送 | 新手、n8n、手動觸發流程 |
| Zapier / Make Trigger | 平台幫你包好觸發器 | 不想維護 endpoint 的人 |
官方 webhook subscription 怎麼設定?
官方 webhook 需要在 connection 設定裡建立 subscription。
你需要:
| 項目 | 要求 |
|---|---|
| endpoint | 公開可連線的 HTTPS URL |
| localhost | 不行,Notion 連不到 |
| connection | 要有對應 workspace 權限 |
| event types | 依需求選 page / data source 相關事件 |
建立後 Notion 會送一個 verification request。
payload 會包含:
{
"verification_token": "secret_xxxxxxxxx"
}
你要在自己的 endpoint 收到這個值,再回 Notion 後台貼上驗證。
驗證完成後,subscription 才會開始收事件。
Cloudflare Workers 最小接收範例
如果你想自己接 webhook,Cloudflare Workers 是一個很輕量的選擇。
最小範例:
export default {
async fetch(request, env) {
if (request.method !== "POST") {
return new Response("Method Not Allowed", { status: 405 });
}
const body = await request.json();
if (body.verification_token) {
console.log("verification_token:", body.verification_token);
return Response.json({ ok: true });
}
console.log("notion event:", body);
return Response.json({ ok: true });
}
};
這只是接收事件的最小版。
正式使用時,還要做:
| 檢查 | 為什麼 |
|---|---|
| 驗證 Notion signature | 避免別人假冒 Notion 打你的 webhook |
| 存事件 id | 避免重複處理 |
| 回傳要快 | webhook endpoint 不該做太重的事 |
| 把後續工作丟 queue | 發文、轉檔、同步圖片都適合背景處理 |
n8n 怎麼接 Notion Webhook?
如果你不想自己寫 endpoint,可以用 n8n。
流程是:
| 步驟 | n8n 設定 |
|---|---|
| 1 | 建立 workflow |
| 2 | 第一個節點用 Webhook |
| 3 | Method 選 POST |
| 4 | 複製 Production URL |
| 5 | 貼回 Notion webhook subscription 或 Notion Button |
| 6 | 用測試事件確認 n8n 有收到 JSON |
如果你只是用 Notion Button 的 Send Webhook,n8n 很適合。
如果你要接官方 webhook subscription,n8n 也可以,但要留意 verification token 和 signature 驗證怎麼處理。
新手可以先用 n8n 接 Button webhook。
等流程穩了,再換成官方 subscription。
Zapier / Make 適合嗎?
適合新手,但不要期待它解決所有事。
| 工具 | 優點 | 限制 |
|---|---|---|
| Zapier | 介面簡單,很多 app 可接 | 任務數成本高,客製彈性有限 |
| Make | 視覺化流程清楚 | 複雜流程維護仍要懂資料結構 |
| n8n | 自架彈性高,可接程式碼 | 要維護部署與 credential |
| Cloudflare Workers | 輕量、便宜、可控 | 需要寫程式 |
我的建議是:
| 你是誰 | 建議 |
|---|---|
| 完全新手 | Zapier / Make 先跑通 |
| 會一點自動化 | n8n |
| 想做正式內容系統 | Cloudflare Workers / 自寫 API |
| 團隊導入 | webhook + queue + log + retry |
實戰:文章狀態變 Ready 後觸發發布
假設你有一個 Notion 文章資料庫。
欄位:
| 欄位 | 型別 |
|---|---|
| Name | title |
| Slug | rich_text |
| Status | status |
| Publish Date | date |
你可以這樣設計:
- Notion page 更新
- Webhook 收到事件
- 後端用 Notion API 讀 page
- 判斷
Status = Ready - 抓 markdown
- 圖片轉 R2
- 發布到網站
- 回寫
Published
如果你要做這種內容系統,可以接著看:一人自媒體的內容自動化系統:Notion × WordPress × Claude Code。
常見錯誤
| 問題 | 原因 | 修法 |
|---|---|---|
| Notion 沒送 verification token | endpoint 不是公開 HTTPS 或回應錯誤 | 用 production URL,不用 localhost |
| n8n 測試 URL 可以,正式不行 | Test URL 和 Production URL 不同 | 貼 Production URL |
| 收到 event 但資料不完整 | webhook 只給事件,不是完整資料 | 再用 Notion API 查 page |
| 重複觸發 | 同一事件被重送或多個欄位更新 | 用 event id 去重 |
| 不知道哪個欄位變了 | 事件 payload 不是完整 diff | 查 page 後自行比對 |
FAQ
Notion Webhook 可以取代 Notion API 嗎?
不行。Webhook 負責通知,API 負責讀寫資料。兩個通常要一起用。
Notion Webhook 可以用 localhost 嗎?
不行。官方 subscription 需要公開 HTTPS endpoint。開發時可以用 ngrok、Cloudflare Tunnel 或 n8n production URL。
Notion Button 的 Send Webhook 和官方 webhook subscription 一樣嗎?
不一樣。Button webhook 是使用者按按鈕才送;官方 subscription 是 Notion 偵測事件後送。
n8n 適合接 Notion Webhook 嗎?
適合入門和中等複雜度流程。如果你要高可靠度發布系統,建議加上 signature 驗證、log、retry 和 queue。
資料來源
資料最後查核日期:2026-06-09


