Notion + Server酱:数据库新条目与状态变化推送到微信

效果:Notion 数据库触发自动化时,通过 Send webhook 把通知推送到微信

前置条件

  • Server酱 SendKey:登录 sct.ftqq.com,在「SendKey」页面复制(30 秒获取教程
  • Notion 账号,且数据库支持自动化功能(部分套餐限制)
  • 如需把条目属性送进消息正文,准备一个中转服务(Cloudflare Workers 或云函数)
  • 如需推送到企业微信/钉钉/飞书群,见通道对比

配置步骤

Notion 的 Send webhook 动作 body 为固定结构,键名不可改。根据是否需要条目属性,选一种接法。

接法一:直连(固定文案,最简)

在 Notion 数据库自动化中添加 Send webhook 动作,URL 填以下地址(中文需 urlencode):

https://sctapi.ftqq.com/你的SENDKEY.send?title=Notion%E6%9C%89%E6%9B%B4%E6%96%B0

服务端优先读 query 的 title,触发后微信收到标题为「Notion有更新」的消息,正文为空。

接法二:中转(带条目属性)

要把条目标题或属性送进正文,用一层中转解析 Notion 的 JSON 再转发给 Server酱。以 Cloudflare Workers 为例:

export default {
  async fetch(request) {
    const payload = await request.json();
    const title = "Notion 有更新";
    const desp = JSON.stringify(payload, null, 2);
    await fetch("https://sctapi.ftqq.com/你的SENDKEY.send", {
      method: "POST",
      headers: { "Content-Type": "application/x-www-form-urlencoded" },
      body: "title=" + encodeURIComponent(title) + "&desp=" + encodeURIComponent(desp)
    });
    return new Response("ok");
  }
};

部署后将 Workers 地址填入 Notion Send webhook 的 URL。Notion 发来的完整 JSON 会作为正文发送。如需提取特定字段拼成可读文案,以 Notion webhook 实际 payload 结构为准自行解析。

完整示例

直连接法:在 Notion 自动化中设置一个合适的触发器(例如当数据库有新条目时),动作选 Send webhook,URL 填直连地址。新建条目后微信收到:

标题:Notion有更新
正文:(空)

中转接法:Workers 接收 Notion JSON 后转发,微信收到标题「Notion 有更新」,正文为完整 JSON 或自定义解析后的文案。Server酱³ 用户将 API 地址换为 https://你的UID.push.ft07.com/send/你的SENDKEY.send

常见问题

免费额度够用吗?

免费每天 5 条,每分钟上限 50 条。订阅会员目前特价最低 3 元/月,一天最多可发 1000 条(价格详情)。

消息没收到怎么办?

先确认 SendKey 正确、Notion 自动化确实触发了 webhook(查看 Notion 自动化运行日志)。Server酱 端排查见常见问题与排查

频率限制是多少?

每分钟 50 条。Notion 短时间内大量状态变更可能触发限流,建议在自动化里加去重或合并逻辑。

Notion 哪些套餐支持数据库自动化?

部分套餐限制自动化功能,具体以 Notion 官方说明为准。如不确定套餐是否支持,请查阅 Notion 官方文档或检查账户设置。

相关集成

懒人方案:把这段话复制给你的 AI 助手

把下面这段文字原样粘贴给 Claude Code、Cursor 或任何 AI 编程助手,它就会替你完成 Server酱 的接入:

请帮我把 Server酱 微信通知接入到我当前的项目/工具中:
1. API:POST https://sctapi.ftqq.com/{SendKey}.send,参数 title(必填,不能含换行)、desp(正文,支持 Markdown,可选);成功时返回 JSON 的 code 为 0。
2. 如果我的 SendKey 以 sctp 开头,则改用 https://{uid}.push.ft07.com/send/{SendKey}.send,uid 是 SendKey 中 sctp 与 t 之间的数字。
3. SendKey 从环境变量 SERVERCHAN_SENDKEY 读取;如果没有,提醒我到 https://sct.ftqq.com 免费获取(每天 5 条额度)。
4. 安全要求:不要把 SendKey 硬编码进代码、不要打印到日志、不要提交到 git。
5. 频率约定:任务结束发 1 条结果摘要即可,批量任务合并成一条,不要每步都推。
请根据我当前的项目和场景直接写好代码/配置并验证。