一键导入
bulk-update
Update properties or content across many pages in a Notion database with dry-run and error recovery
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Update properties or content across many pages in a Notion database with dry-run and error recovery
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | bulk-update |
| description | Update properties or content across many pages in a Notion database with dry-run and error recovery |
| argument-hint | [database name] [what to change] |
Update properties or content across many pages in a database safely.
Notion returns max 100 results per query. You MUST paginate to process all pages:
# First query
databases(action="query", database_id="<id>", filter={...}, page_size=100)
# Response includes: has_more=true, next_cursor="abc123"
# Continue until has_more=false
databases(action="query", database_id="<id>", filter={...}, page_size=100, start_cursor="abc123")
Never assume a single query returns all results. Always check has_more.
Before making any changes, ALWAYS show the user what will change:
Example dry-run output:
Found 23 pages matching filter. Changes:
1. "Project Alpha" -- Status: "Active" -> "Archived"
2. "Project Beta" -- Status: "Active" -> "Archived"
...
(21 more)
Proceed with update? (yes/no)
After user confirms:
Track progress -- maintain counters:
succeeded: pages updated successfullyfailed: pages that errored (with page ID and error message)skipped: pages already in target stateUpdate each page:
pages(action="update", page_id="<id>", properties={
"Status": { "select": { "name": "Archived" } }
})
Rate limit awareness:
Error recovery:
Remember the nested format (same as organize-database skill):
// Properties must use typed nested objects
{ "Status": { "select": { "name": "Done" } } }
{ "Tags": { "multi_select": [{ "name": "urgent" }, { "name": "review" }] } }
{ "Priority": { "number": 1 } }
{ "Reviewed": { "checkbox": true } }
archived: true on pages matching criteria{ "rich_text": [] })