← ClaudeAtlas

bulk-updatelisted

Update properties or content across many pages in a Notion database with dry-run and error recovery
n24q02m/better-notion-mcp · ★ 31 · AI & Automation · score 86
Install: claude install-skill n24q02m/better-notion-mcp
# Bulk Update Update properties or content across many pages in a database safely. ## Pagination (Critical) 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`. ## Dry-Run Mode Before making any changes, ALWAYS show the user what will change: 1. Query the database with the filter 2. For each matching page, show: - Page title (current value) - What will change (old value -> new value) - Total count of affected pages 3. Ask for explicit confirmation before proceeding 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) ``` ## Update Execution After user confirms: 1. **Track progress** -- maintain counters: - `succeeded`: pages updated successfully - `failed`: pages that errored (with page ID and error message) - `skipped`: pages already in target state 2. **Update each page**: ``` pages(action="update", page_id="<id>", properties={ "Status": { "select": { "name": "Archived" } } }) ```