notion-advanced-troubleshooting

Featured

Deep debugging for Notion API: response inspection, permission chain tracing, property type mismatches, pagination edge cases, and block nesting limits. Use when standard troubleshooting fails or investigating intermittent errors. Trigger with phrases like "notion deep debug", "notion permission trace", "notion property mismatch", "notion pagination bug", "notion nesting limit".

AI & Automation 2,249 stars 312 forks Updated today MIT

Install

View on GitHub

Quality Score: 99/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Notion Advanced Troubleshooting ## Overview Deep debugging techniques for Notion API issues that resist standard fixes. Covers API response inspection with request IDs, permission chain tracing through page hierarchies, property type mismatch detection against database schemas, pagination edge cases with cursor validation, and block nesting limit violations (max depth of 3 levels via API). Uses `Client` from `@notionhq/client` and raw `curl` for comparison testing. ## Prerequisites - `@notionhq/client` v2.x installed (`npm install @notionhq/client`) - Python: `notion-client` installed (`pip install notion-client`) - `curl` available for raw API testing - `NOTION_TOKEN` environment variable set (internal integration token starting with `ntn_`) - Pages/databases shared with your integration via Notion UI ## Instructions ### Step 1: API Response Inspection with Request ID Tracking Every Notion API response includes an `x-request-id` header. Capture it for debugging and support tickets. ```typescript import { Client, LogLevel, isNotionClientError, APIErrorCode } from '@notionhq/client'; const notion = new Client({ auth: process.env.NOTION_TOKEN, logLevel: LogLevel.DEBUG, // Logs full request/response to stderr }); // Wrapper that captures request ID and timing for every call async function tracedCall<T>( label: string, fn: () => Promise<T> ): Promise<{ result: T; durationMs: number }> { const start = Date.now(); try { const result = await fn(); con...

Details

Author
jeremylongshore
Repository
jeremylongshore/claude-code-plugins-plus-skills
Created
7 months ago
Last Updated
today
Language
Python
License
MIT

Integrates with

Related Skills