All integrations

Microsoft OneNote

DOCS & KNOWLEDGE · TASKS

Notebooks, sections and pages read and written as the person the agent acts for.

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

onenote_copy_notebookWRITE

Copy a whole notebook (asynchronous: answers 202 with an operation_id -- poll it with the get-operation tool). The body may name renameAs, and groupId/siteCollectionId/siteId to copy into a group or site via POST /v1.0/me/onenote/notebooks/{notebook_id}/microsoft.graph.copyNotebook

Notes.ReadWrite
onenote_copy_page_to_sectionWRITE

Copy a page into a section (asynchronous: answers 202 with an operation_id). The body's id is the destination section via POST /v1.0/me/onenote/pages/{page_id}/microsoft.graph.copyToSection

Notes.ReadWrite
onenote_copy_section_to_notebookWRITE

Copy a section into a notebook (asynchronous: answers 202 with an operation_id). The body's id is the destination notebook; renameAs optionally renames the copy via POST /v1.0/me/onenote/sections/{section_id}/microsoft.graph.copyToNotebook

Notes.ReadWrite
onenote_copy_section_to_section_groupWRITE

Copy a section into a section group (asynchronous: answers 202 with an operation_id). The body's id is the destination section group; renameAs optionally renames the copy via POST /v1.0/me/onenote/sections/{section_id}/microsoft.graph.copyToSectionGroup

Notes.ReadWrite
onenote_create_notebookWRITE

Create a new OneNote notebook; the body's displayName is the notebook title (must be unique, max 128 characters) via POST /v1.0/me/onenote/notebooks

Notes.ReadWrite
onenote_create_pageWRITE

Create a page in the default section from an XHTML document (content is the full document; the <title> element becomes the page title). Use create-page-in-section to target a section. Text and standard HTML only -- binary parts need multipart, which this surface does not carry via POST /v1.0/me/onenote/pages

Notes.ReadWrite
onenote_create_page_in_sectionWRITE

Create a page in a specific section from an XHTML document (content is the full document; the <title> element becomes the page title). Text and standard HTML only -- binary parts need multipart, which this surface does not carry via POST /v1.0/me/onenote/sections/{section_id}/pages

Notes.ReadWrite
onenote_create_sectionWRITE

Create a section in a notebook; the body's displayName is the section name (must not contain ?*\/:<>|&#''%%~) via POST /v1.0/me/onenote/notebooks/{notebook_id}/sections

Notes.ReadWrite
onenote_create_section_groupWRITE

Create a section group in a notebook; the body's displayName is the group name via POST /v1.0/me/onenote/notebooks/{notebook_id}/sectionGroups

Notes.ReadWrite
onenote_create_section_in_section_groupWRITE

Create a section inside a section group; the body's displayName is the section name via POST /v1.0/me/onenote/sectionGroups/{section_group_id}/sections

Notes.ReadWrite
onenote_delete_pageWRITE

Permanently delete a page by id via DELETE /v1.0/me/onenote/pages/{page_id}

Notes.ReadWrite
onenote_get_notebookREAD

Read one notebook's metadata by id via GET /v1.0/me/onenote/notebooks/{notebook_id}

Notes.Read
onenote_get_notebook_from_web_urlWRITE

Resolve a notebook from its OneNote web link (the body's webUrl); answers the notebook's metadata so its id can be used with the other tools via POST /v1.0/me/onenote/notebooks/microsoft.graph.getNotebookFromWebUrl

Notes.ReadWrite
onenote_get_operationREAD

Poll an asynchronous OneNote operation (a notebook, section or page copy) by the operation_id its 202 answer carried; status moves NotStarted -> Running -> Completed/Failed, and resourceId names the created copy via GET /v1.0/me/onenote/operations/{operation_id}

Notes.Read
onenote_get_pageREAD

Read one page's metadata by id -- title, timestamps, links and contentUrl ($expand can pull parentSection or parentNotebook) via GET /v1.0/me/onenote/pages/{page_id}

Notes.Read
onenote_get_page_contentREAD

Read a page's content as HTML (returned under the `raw` key). Pass includeIDs=true to get the data-id anchors the patch-content commands address via GET /v1.0/me/onenote/pages/{page_id}/content

Notes.Read
onenote_get_page_previewREAD

Read a page's text preview (previewText and an optional preview image link) without fetching the full content via GET /v1.0/me/onenote/pages/{page_id}/microsoft.graph.preview()

Notes.Read
onenote_get_recent_notebooksREAD

List the notebooks the signed-in user has most recently touched; includePersonalNotebooks says whether to include notebooks from the user's personal OneDrive alongside organizational ones. Signed-in user only: Microsoft documents this function on the user's own tree, so it takes no group_id/site_id via GET /v1.0/me/onenote/notebooks/microsoft.graph.getRecentNotebooks(includePersonalNotebooks={includePersonalNotebooks})

Notes.Read
onenote_get_sectionREAD

Read one section's metadata by id ($expand can pull its parentNotebook or parentSectionGroup in the same call) via GET /v1.0/me/onenote/sections/{section_id}

Notes.Read
onenote_get_section_groupREAD

Read one section group's metadata by id ($expand can pull its parentNotebook, sections or child sectionGroups in the same call) via GET /v1.0/me/onenote/sectionGroups/{section_group_id}

Notes.Read
onenote_list_child_section_groupsREAD

List the section groups nested inside one section group via GET /v1.0/me/onenote/sectionGroups/{section_group_id}/sectionGroups

Notes.Read
onenote_list_notebook_section_groupsREAD

List the section groups directly inside one notebook via GET /v1.0/me/onenote/notebooks/{notebook_id}/sectionGroups

Notes.Read
onenote_list_notebook_sectionsREAD

List the sections directly inside one notebook via GET /v1.0/me/onenote/notebooks/{notebook_id}/sections

Notes.Read
onenote_list_notebooksREAD

List the OneNote notebooks in the signed-in user's account (or in a Microsoft 365 group or SharePoint site via group_id/site_id), with OData paging and filtering via GET /v1.0/me/onenote/notebooks

Notes.Read
onenote_list_pagesREAD

List pages across the whole account ($search matches page content; $filter and $orderby work on title and dates) via GET /v1.0/me/onenote/pages

Notes.Read
onenote_list_section_group_sectionsREAD

List the sections inside one section group via GET /v1.0/me/onenote/sectionGroups/{section_group_id}/sections

Notes.Read
onenote_list_section_groupsREAD

List every section group in the account, across notebooks via GET /v1.0/me/onenote/sectionGroups

Notes.Read
onenote_list_section_pagesREAD

List the pages inside one section via GET /v1.0/me/onenote/sections/{section_id}/pages

Notes.Read
onenote_list_sectionsREAD

List every section in the account, across notebooks via GET /v1.0/me/onenote/sections

Notes.Read
onenote_update_page_contentWRITE

Edit a page's content with patch commands: the body's commands array holds {target, action, position, content} entries (actions Append/Insert/Prepend/Replace/Delete; targets are body, title, or a data-id/id from the content read) via POST /v1.0/me/onenote/pages/{page_id}/microsoft.graph.onenotePatchContent

Notes.ReadWrite

Put Microsoft OneNote behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.