PC TOOLS

EP08. “API 集成与自动化按钮”

首页 PC 工具 Take Note · Notion · EP08
约 9 分钟· #EP08#Notion
🔒 登录后可标记已读

这篇笔记讲 Notion 给开发者用的公开 API/自定义整合,以及不用写代码就能做的自动化功能——页面按钮(Page buttons)和数据库按钮(Database buttons)。 前置知识:先看过 EP05-EP06,熟悉数据库的基本操作。

重点内容


Notion API 与自定义整合

Notion 的公开 API 能让开发者打造完全自定义的工作流、机器人、自动化、内部工具。透过内部整合(internal integrations)、webhook、细致的权限设定,能建立管理内容、同步数据、实时响应更新的连接。

建立内部整合:

  1. 到侧边栏 Settings → Integrations(只有 Workspace Owner 能访问这个分页)
  2. 点「Develop your own integrations」,浏览器会打开 My Integrations 控制台
  3. 点 + New Integration
  4. 填写名称、选择性加 logo、选择关联的工作区
  5. 建立后到 Settings → Connections 找到你的整合,点 •• 能取得内部 token、管理访问权限、断开或修改整合

建立公开整合:先建立内部整合,再依照 Notion 开发者文件转换成公开整合,包含设定 OAuth 流程、权限范围、发布到整合商店(可选)。

[截图:My Integrations 控制台,显示 + New Integration 按钮和已建立的整合列表]

整合的细致权限:

  • 内容能力:只读内容 / 只写内容 / 插入内容(仅限新增)
  • 使用者能力:不取得使用者信息 / 读取使用者信息(含或不含邮箱)

这些权限在设定整合时会显示给使用者,也会出现在整合能访问的任何页面的 Share 菜单里。

整合 Webhook:Notion 支持实时 webhook,在内容变更时通知你的整合——可以用来侦测关联页面/数据库的更新、把变更同步到其他应用、根据 Notion 活动触发自动化。

Webhook Actions vs 整合 Webhook:

项目整合 WebhookWebhook Actions
范围多个工作区单一数据库
复杂度进阶简单
触发方式内容变更事件手动或数据库规则
设定位置开发者控制台应用内自动化界面

常见推荐整合

整合用途好处
Slack在 Slack 收到 Notion 更新;把 Slack 消息转成 Notion 任务不用切换应用就能同步团队信息
Zapier在 Notion 和 5000+ 应用之间自动化任务(比如表单提交 → 任务)几乎能对接任何工具
GitHub把 GitHub issue、pull request、项目关联到 Notion 数据库开发者能在同一处管理代码和文件
Miro直接把白板/脑暴内容嵌进 Notion 页面适合设计、冲刺规划、复盘会议

自动化:页面按钮与数据库按钮

Notion 自动化能帮你消除重复性工作,靠按钮就能自动发通知、编辑数据库条目,全程不用写一行代码。

Notion 支持两种按钮:

  • 页面按钮:在任何页面加入互动按钮
  • 数据库按钮:针对特定数据库项目自动执行动作

页面按钮:一键自动化

用页面上的模板按钮,能:触发建立页面、编辑数据等动作;把多个动作叠成一次点击;用变量、提及、公式动态自定义。

建立页面按钮:

  1. 页面上输入 /button
  2. 命名按钮、选一个 emoji
  3. + New action 加入一个或多个动作
  4. 点 Done 保存

[截图:页面按钮设置窗口,显示按钮命名、emoji 选择、New action 动作清单]

页面按钮可用动作:

动作说明
Insert blocks在页面任何位置加内容区块
Add page to在选定的数据库新增一条项目
Edit pages in修改现有数据库项目的属性
Send notification to通知使用者或人员属性
Send mail to(付费)发送 Gmail 邮件
Send webhook(付费)向其他工具发送 POST 请求
Show confirmation执行前加一个确认弹窗
Open page or URL打开选定的 Notion 页面或外部链接
Send Slack notification推送消息到 Slack 频道
Define variables存储可重复使用的值供其他动作用

提及与公式:用 @ 引用使用者、页面或日期;用 写公式,例如 [Page title] - Updated on [Today's date]Hi @Person, your task is due on ∑[Due Date]

数据库按钮

数据库按钮很适合结构化、可重复的任务——像审批、跟进、状态更新、习惯追踪。每个按钮都是一个数据库属性,存在于某一行,只针对该项目执行动作。

使用权限: 建立/编辑需要 Full access 或 Can edit;点击按钮则 Can edit content 权限的使用者也能操作。

建立数据库按钮:

  1. 打开数据库 → 点 •• → Properties → New property → Button
  2. 命名按钮(比如「Approve」「Done」「Send reminder」)
  3. 点 Edit automation 加入动作
  4. @ 在字段里引用当前行的属性

数据库按钮可用动作跟页面按钮类似(Edit property、Add page to、Edit pages in、Send notification to、Send mail to、Send webhook、Show confirmation、Open page or URL、Send Slack notification、Define variables)。

用数据库按钮发邮件:

  1. 加一个 Button 属性 → Edit automation → Send mail to
  2. 自定义 To、Subject、Message 等字段
  3. 用行内特定数据,比如 Page creator、Due date、Status、自定义公式或提及
  4. 能设定 CC、BCC、回复地址,甚至用动态内容自定义显示名称

常见错误

  • ❌ 想同步 Notion 数据到外部工具,一直手动导出——用整合 Webhook 实时侦测内容变更,自动同步到其他应用
  • ❌ 每次批准/跟进任务都手动逐一改状态和发通知——用数据库按钮的 Edit automation,一键完成状态更新+发通知+发邮件这些连续动作
  • ❌ 只是想做单一数据库内的简单自动化,却去开发者控制台设定复杂的整合 Webhook——简单场景用 Webhook Actions(应用内自动化界面)就够,不用动用开发者级设定
  • 💡 页面按钮和数据库按钮都能用 公式动态生成内容(比如邮件标题、通知文字),不用为每种情况写死固定文字

Sources

Blog / Website:

  1. The Ultimate Notion Guide — https://www.morgen.so/blog-posts/notion-tips-and-tricks