EP08. “API 集成与自动化按钮”
🔒 登录后可标记已读这篇笔记讲 Notion 给开发者用的公开 API/自定义整合,以及不用写代码就能做的自动化功能——页面按钮(Page buttons)和数据库按钮(Database buttons)。 前置知识:先看过 EP05-EP06,熟悉数据库的基本操作。
重点内容
Notion API 与自定义整合
Notion 的公开 API 能让开发者打造完全自定义的工作流、机器人、自动化、内部工具。透过内部整合(internal integrations)、webhook、细致的权限设定,能建立管理内容、同步数据、实时响应更新的连接。
建立内部整合:
- 到侧边栏 Settings → Integrations(只有 Workspace Owner 能访问这个分页)
- 点「Develop your own integrations」,浏览器会打开 My Integrations 控制台
- 点 + New Integration
- 填写名称、选择性加 logo、选择关联的工作区
- 建立后到 Settings → Connections 找到你的整合,点
••能取得内部 token、管理访问权限、断开或修改整合
建立公开整合:先建立内部整合,再依照 Notion 开发者文件转换成公开整合,包含设定 OAuth 流程、权限范围、发布到整合商店(可选)。
[截图:My Integrations 控制台,显示 + New Integration 按钮和已建立的整合列表]
整合的细致权限:
- 内容能力:只读内容 / 只写内容 / 插入内容(仅限新增)
- 使用者能力:不取得使用者信息 / 读取使用者信息(含或不含邮箱)
这些权限在设定整合时会显示给使用者,也会出现在整合能访问的任何页面的 Share 菜单里。
整合 Webhook:Notion 支持实时 webhook,在内容变更时通知你的整合——可以用来侦测关联页面/数据库的更新、把变更同步到其他应用、根据 Notion 活动触发自动化。
Webhook Actions vs 整合 Webhook:
| 项目 | 整合 Webhook | Webhook Actions |
|---|---|---|
| 范围 | 多个工作区 | 单一数据库 |
| 复杂度 | 进阶 | 简单 |
| 触发方式 | 内容变更事件 | 手动或数据库规则 |
| 设定位置 | 开发者控制台 | 应用内自动化界面 |
常见推荐整合
| 整合 | 用途 | 好处 |
|---|---|---|
| Slack | 在 Slack 收到 Notion 更新;把 Slack 消息转成 Notion 任务 | 不用切换应用就能同步团队信息 |
| Zapier | 在 Notion 和 5000+ 应用之间自动化任务(比如表单提交 → 任务) | 几乎能对接任何工具 |
| GitHub | 把 GitHub issue、pull request、项目关联到 Notion 数据库 | 开发者能在同一处管理代码和文件 |
| Miro | 直接把白板/脑暴内容嵌进 Notion 页面 | 适合设计、冲刺规划、复盘会议 |
自动化:页面按钮与数据库按钮
Notion 自动化能帮你消除重复性工作,靠按钮就能自动发通知、编辑数据库条目,全程不用写一行代码。
Notion 支持两种按钮:
- 页面按钮:在任何页面加入互动按钮
- 数据库按钮:针对特定数据库项目自动执行动作
页面按钮:一键自动化
用页面上的模板按钮,能:触发建立页面、编辑数据等动作;把多个动作叠成一次点击;用变量、提及、公式动态自定义。
建立页面按钮:
- 页面上输入
/button - 命名按钮、选一个 emoji
- 用
+ New action加入一个或多个动作 - 点 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 权限的使用者也能操作。
建立数据库按钮:
- 打开数据库 → 点
•• → Properties → New property → Button - 命名按钮(比如「Approve」「Done」「Send reminder」)
- 点 Edit automation 加入动作
- 用
@或∑在字段里引用当前行的属性
数据库按钮可用动作跟页面按钮类似(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)。
用数据库按钮发邮件:
- 加一个 Button 属性 → Edit automation → Send mail to
- 自定义 To、Subject、Message 等字段
- 用行内特定数据,比如 Page creator、Due date、Status、自定义公式或提及
- 能设定 CC、BCC、回复地址,甚至用动态内容自定义显示名称
常见错误
- ❌ 想同步 Notion 数据到外部工具,一直手动导出——用整合 Webhook 实时侦测内容变更,自动同步到其他应用
- ❌ 每次批准/跟进任务都手动逐一改状态和发通知——用数据库按钮的 Edit automation,一键完成状态更新+发通知+发邮件这些连续动作
- ❌ 只是想做单一数据库内的简单自动化,却去开发者控制台设定复杂的整合 Webhook——简单场景用 Webhook Actions(应用内自动化界面)就够,不用动用开发者级设定
- 💡 页面按钮和数据库按钮都能用
∑公式动态生成内容(比如邮件标题、通知文字),不用为每种情况写死固定文字
Sources
Blog / Website:
- The Ultimate Notion Guide — https://www.morgen.so/blog-posts/notion-tips-and-tricks