跳到正文
🟠 需外部服务 — 需自备相关账号/权限 进阶 办公效率

Notion 任务到期提醒

每天早上自动读取 Notion 数据库,把今天和本周到期的任务发到 Telegram,不再漏事。

⚔️ 难度 ★★☆ 进阶
⏱ 配置耗时 10-15 分钟
🎁 掉落 节省 10-15 分钟
📜 所需秘籍 notion telegram
🦞 部署 可一键部署

🎯 做完你会得到

每天早上收到 Telegram 提醒,列出今日到期任务和本周待办,Notion 不用每天刷,重要事自动找你。

🛠 需要什么

  • notion
  • telegram

👤 适合谁

  • 使用 Notion 的团队
  • 个人效率控

⚡ 效果预览

任务到期前24小时自动收到 Telegram 提醒,不会再漏掉截止日期

🔧 首次使用前:本案例需要配置外部工具。参考 → 常用工具接入配置指南

⚠️ 待验证案例:本案例基于 Notion API 和 OpenClaw cron 功能的真实能力描述,需要配置 Notion Integration Token。如果你跑通了,欢迎联系站长提交验证记录。

🔧 Step 0:先配置 Notion(推荐存储后端)

⚠️ 本案例推荐使用 Notion 管理数据,免费且多人协作 👉 去配置 Notion 接入 →

解决什么问题

Notion 里记了一堆任务,但每天要专门打开才能知道什么到期了,经常忘。这个场景让任务主动找你:

  • 谁会用到:用 Notion 管理任务的个人用户、小团队
  • 省了什么:不用每天刷 Notion,不漏重要截止日期
  • 效果是什么:每天早上收到当日到期和本周到期任务清单,附 Notion 链接直接跳转

前置条件

  • Notion 账号,有存放任务的数据库(Database)
  • 任务数据库有截止日期(Date 类型)和状态(Status 类型)字段
  • 创建 Notion Integration,获取 Integration Token
  • 将 Integration 连接到你的任务数据库
  • OpenClaw 已连接 Telegram
  • Claude Max 账号,或 Anthropic API Key

创建 Notion Integration:访问 notion.so/my-integrations,新建 Integration,复制 Internal Integration Token。然后在你的数据库页面点…→Add connections,连接刚创建的 Integration。

用到的工具

工具用途获取方式
Notion API(HTTP)查询任务数据库需要 Integration Token + Database ID
anthropic/claude-haiku格式化任务列表、生成提醒消息Claude Max 账号,或 API Key
cron(内置)每天早上定时触发OpenClaw 内置
Telegram(内置)发送任务提醒OpenClaw 已连接 Telegram

预期结果

每天早上收到类似这样的 Telegram 消息:

📋 任务提醒 · 3月12日(周三)

🔴 今日到期(3个)
• 提交季度报告 → notion.so/...
• 和设计师确认原型稿 → notion.so/...
• 续费域名 → notion.so/...

🟡 本周到期(5个)
• 完成 API 文档(3月13日)→ notion.so/...
• 年终总结初稿(3月14日)→ notion.so/...
• [其余3条...]

✅ 今日无新到期任务时不发消息

最简上手:直接发这句话

复制以下内容发给你的 OpenClaw,替换尖括号内的值:

帮我设置 Notion 任务到期提醒:

Notion Integration Token:<你的 Token,格式 secret_xxx>
Notion 任务数据库 ID:<数据库URL中的那串字母数字>
数据库字段说明:
- 截止日期字段名:Due Date(或你的字段名)
- 状态字段名:Status,未完成状态值:To Do、In Progress

规则:
- 每天早上 08:30 查询今日和本周到期、且状态非Done的任务
- 有任务 → 按到期日排序,发 Telegram 提醒,每条附 Notion 链接
- 无任务 → 不发消息

配置完告诉我 cron job ID。

如何找到 Notion 数据库 ID

打开你的 Notion 数据库页面,URL 格式如下:

https://www.notion.so/你的工作区/[数据库ID]?v=...

数据库 ID 是 URL 里 /?v= 之间那段,通常是 32 位字母数字,形如 a1b2c3d4e5f6...

或者直接点击数据库右上角…→Copy link,从复制的链接里提取。

Notion API 查询示例(让 OpenClaw 直接用)

# 查询今日到期任务
curl -X POST https://api.notion.com/v1/databases/<DATABASE_ID>/query \
  -H "Authorization: Bearer <NOTION_TOKEN>" \
  -H "Notion-Version: 2022-06-28" \
  -H "Content-Type: application/json" \
  -d '{
    "filter": {
      "and": [
        {
          "property": "Due Date",
          "date": { "on_or_before": "2026-03-12" }
        },
        {
          "property": "Status",
          "status": { "does_not_equal": "Done" }
        }
      ]
    },
    "sorts": [{ "property": "Due Date", "direction": "ascending" }]
  }'

让 OpenClaw 帮你生成具体查询条件(根据你的实际字段名):

帮我生成查询今天和本周到期 Notion 任务的 API 请求,
我的字段名是:截止日期="截止时间",状态="状态",未完成值="待处理"和"进行中"

cron 配置命令

openclaw cron add \
  --name "Notion 任务提醒" \
  --cron "30 8 * * 1-5" \
  --tz "Asia/Shanghai" \
  --session isolated \
  --message "查询 Notion 数据库(Database ID: <your-db-id>)中今日和本周到期、状态非 Done 的任务。有任务则格式化成任务清单发 Telegram(今日/本周分组,每条附链接);无任务则不发消息。使用环境变量 NOTION_TOKEN。"

设置环境变量(更安全,避免 Token 暴露在消息里):

帮我设置环境变量 NOTION_TOKEN=<你的token>,后续访问 Notion API 都用这个变量

怎么验证成功了

  1. 确保 Notion Integration 已连接到数据库(否则 API 会报 401)
  2. 手动创建一个今日到期的测试任务
  3. 让 OpenClaw 立刻执行一次 Notion 任务提醒查询
  4. 检查 Telegram 是否收到包含测试任务的提醒消息

踩坑记录

API 返回 401 Unauthorized

症状:调用 Notion API 时报 401 错误。

解法:两种情况:

  1. Token 填错了,确认用的是 secret_ 开头的 Internal Integration Token
  2. Integration 没连接到数据库——去数据库页面右上角…→Connections→ 找到你的 Integration 点连接

API 返回 404 Database not found

症状:调用时报 404。

解法:数据库 ID 提取有误。URL 里有时会有 - 分隔的格式,确保去掉 - 后是纯字母数字32位字符串。

查到的任务字段为空

症状:API 有返回,但字段值为空。

解法:Notion 的字段名区分大小写,且必须和数据库里的实际字段名完全一致。先调用 GET https://api.notion.com/v1/databases/<id> 查看实际字段名,让 OpenClaw 对照修正。

任务太多,消息超 Telegram 长度限制

症状:Telegram 消息发不出去(单条消息最长4096字符)。

解法:在提示词里加最多显示10条,超出的只显示条数总结,或分批发送。

不满意怎么调

  • 想加周末提醒 → 改 cron 为 30 8 * * *(每天都触发)
  • 想提前1天提醒 → 把查询条件改为明天及以后2天内到期
  • 想同步多个 Notion 数据库 → 让 OpenClaw 串联查询多个 Database ID
  • 想加上今日新建任务 → 增加过滤条件:创建时间 = 今天
  • 想接入 Todoist / TickTick → 这两个也有类似 API,告诉 OpenClaw 平台名,它会帮你找文档
#Notion#任务管理#cron#Telegram#效率工具