Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Read/write OneNote pages via Microsoft Graph or COM
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 79% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 129% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 0% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 57% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 37% | 0% |
Access, create, and update OneNote notebooks, sections, and pages using PowerShell COM or Microsoft Graph API — capture meeting notes, append to journals, and query your knowledge base.
powershell$headers = @{ Authorization = "Bearer $env:GRAPH_TOKEN" } Invoke-RestMethod -Uri "https://graph.microsoft.com/v1.0/me/onenote/notebooks" -Headers $headers | Select-Object -ExpandProperty value | Select-Object id, displayName, lastModifiedDateTime
powershell$notebookId = "YOUR_NOTEBOOK_ID" $headers = @{ Authorization = "Bearer $env:GRAPH_TOKEN" } Invoke-RestMethod -Uri "https://graph.microsoft.com/v1.0/me/onenote/notebooks/$notebookId/sections" -Headers $headers | Select-Object -ExpandProperty value | Select-Object id, displayName
powershell$sectionId = "YOUR_SECTION_ID" $headers = @{ Authorization = "Bearer $env:GRAPH_TOKEN" } Invoke-RestMethod -Uri "https://graph.microsoft.com/v1.0/me/onenote/sections/$sectionId/pages" -Headers $headers | Select-Object -ExpandProperty value | Select-Object id, title, createdDateTime
powershell$sectionId = "YOUR_SECTION_ID" $headers = @{ Authorization = "Bearer $env:GRAPH_TOKEN" "Content-Type" = "application/xhtml+xml" } $html = @" <!DOCTYPE html> <html><head><title>Meeting Notes — $(Get-Date -Format 'yyyy-MM-dd')</title></head> <body> <h1>Meeting Notes</h1> <p>Action items:</p> <ul><li>Follow up with team</li></ul> </body></html> "@ Invoke-RestMethod -Uri "https://graph.microsoft.com/v1.0/me/onenote/sections/$sectionId/pages" ` -Method POST -Headers $headers -Body $html
powershell$pageId = "YOUR_PAGE_ID" $headers = @{ Authorization = "Bearer $env:GRAPH_TOKEN" } Invoke-RestMethod -Uri "https://graph.microsoft.com/v1.0/me/onenote/pages/$pageId/content" -Headers $headers
powershell$headers = @{ Authorization = "Bearer $env:GRAPH_TOKEN" } Invoke-RestMethod -Uri "https://graph.microsoft.com/v1.0/me/onenote/pages?`$search=meeting" -Headers $headers | Select-Object -ExpandProperty value | Select-Object title, createdDateTime
"Create a page in my Daily Notes section with today's date as the title" → POST HTML page to the Daily Notes section ID with <title> set to $(Get-Date -Format 'yyyy-MM-dd').
"List all my notebooks" → GET /me/onenote/notebooks and display displayName + lastModifiedDateTime.
"Search my notes for action items" → GET /me/onenote/pages?$search=action+items and list matching page titles.
Notes.ReadWrite scope — obtain token via az login or OAuth device flowonenote.exe) is less reliable than Graph API for programmatic access$top and $skip pagination parametersOther measured skills in the registry, with their headline benchmark lift.