onenote-core-workflow-b

Featured

Search, query, and paginate OneNote content with OData filters and client-side search patterns. Use when building search features, querying pages across notebooks, or handling large result sets. Trigger with "onenote search", "onenote query pages", "onenote pagination", "find onenote content".

AI & Automation 2,266 stars 315 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

# OneNote — Search, Query, and Pagination ## Overview OneNote's dedicated search endpoint was deprecated in April 2024. The replacement — OData `$filter` queries on page listings — cannot search page body content, cannot search across all notebooks in a single call, and sometimes returns deleted pages in results. Pagination via `@odata.nextLink` is unreliable: the link is sometimes omitted even when more results exist. This skill provides production-tested patterns for content discovery, cross-notebook queries, and safe pagination with guard rails. Key pain points addressed: - The `$search` parameter on `/me/onenote/pages` is deprecated — use `$filter` on metadata fields only - No single endpoint searches across all notebooks — you must iterate notebooks and their sections - Deleted pages continue appearing in `GET /sections/{id}/pages` results for up to 30 minutes - `@odata.nextLink` may be absent even when `$top` items were returned (Graph bug with OneNote) ## Prerequisites - Azure app registration with delegated permissions: `Notes.Read` or `Notes.ReadWrite` - App-only auth deprecated March 31, 2025 — use delegated auth only - Python: `pip install msgraph-sdk azure-identity` - Node/TypeScript: `npm install @microsoft/microsoft-graph-client @azure/identity @azure/msal-node` - Optional for client-side search: `npm install fuse.js` or `pip install thefuzz` ## Instructions ### Step 1 — Query Pages with OData Filters OData `$filter` works on page metadata fields — not b...

Details

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

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Featured

onenote-core-workflow-a

Full CRUD lifecycle for OneNote notebooks, section groups, sections, and pages via Graph API. Use when building notebook management features, creating page hierarchies, or working with XHTML content. Trigger with "onenote crud", "onenote page management", "onenote notebook workflow".

2,266 Updated today
jeremylongshore
AI & Automation Featured

onenote-performance-tuning

Optimize OneNote Graph API performance for large notebooks, image handling, and batch operations. Use when dealing with slow API responses, large notebooks, image uploads, or HTTP 507 errors. Trigger with "onenote performance", "onenote slow", "onenote large notebook", "onenote image upload".

2,266 Updated today
jeremylongshore
AI & Automation Featured

onenote-webhooks-events

Implement change detection for OneNote using polling and delta queries (webhooks decommissioned June 2023). Use when building real-time sync, change monitoring, or event-driven OneNote integrations. Trigger with "onenote changes", "onenote polling", "onenote sync", "onenote delta query".

2,266 Updated today
jeremylongshore
AI & Automation Featured

onenote-security-basics

Implement secure authentication, token management, and permission scoping for OneNote Graph API. Use when hardening OneNote integrations, implementing least-privilege permissions, or managing token lifecycle. Trigger with "onenote security", "onenote permissions", "onenote token management", "onenote least privilege".

2,266 Updated today
jeremylongshore
AI & Automation Featured

onenote-rate-limits

Implement proper rate limit handling for OneNote Graph API with queue-based throttling. Use when building high-throughput OneNote integrations or debugging 429 errors. Trigger with "onenote rate limit", "onenote 429", "onenote throttling", "graph api throttle".

2,266 Updated today
jeremylongshore