Connecting OneNote to Knowledge Management
The OneNote knowledge integration syncs pages from OneNote notebooks stored in SharePoint sites into the Rezolve.ai Knowledge Base. The Virtual Agent can then use them to answer questions and link back to the OneNote page.
This page covers the OneNote-specific setup. For the wizard, sync status, bounced files, and other functions that all integrations share, see Knowledge Integrations.
Microsoft no longer allows app-only access to OneNote. Rezolve.ai therefore connects on behalf of a user, using a refresh token. The integration can read the notebooks that user can open.
Personal notebooks in OneDrive are not supported. Only notebooks stored in SharePoint sites (including Teams sites) can be synced.
Prerequisites
- Microsoft 365 (commercial cloud) with OneNote notebooks stored in SharePoint sites.
- An Entra ID administrator who can register an application and grant admin consent.
- A service user account that can open the notebooks you want to sync.
- Knowledge Management admin access in the Rezolve.ai console.
Step 1: Register an Entra ID application
- In the Azure portal, open App registrations → + New registration.
- Enter a name, for example
Rezolve.ai OneNote Ingestion, and add a Web redirect URI you control. You'll use it to get the authorization code. - Copy the Directory (tenant) ID and the Application (client) ID.
- Under Certificates & secrets, create a client secret and copy its Value.
- Under API permissions, add these delegated Microsoft Graph permissions: Notes.Read.All, Sites.Read.All, and offline_access. Then click Grant admin consent.
Step 2: Get a refresh token
Sign in as the service user and complete the OAuth 2.0 authorization code flow for the app:
-
Open the authorization URL in a browser:
https://login.microsoftonline.com/<TENANT_ID>/oauth2/v2.0/authorize?client_id=<CLIENT_ID>&response_type=code&redirect_uri=<REDIRECT_URI>&scope=offline_access%20Notes.Read.All%20Sites.Read.All -
After you sign in, copy the
codeparameter from the redirect URL. -
Exchange the code for tokens:
curl -X POST 'https://login.microsoftonline.com/<TENANT_ID>/oauth2/v2.0/token' \
-d 'client_id=<CLIENT_ID>' \
-d 'client_secret=<CLIENT_SECRET>' \
-d 'grant_type=authorization_code' \
-d 'code=<CODE>' \
-d 'redirect_uri=<REDIRECT_URI>' \
-d 'scope=offline_access Notes.Read.All Sites.Read.All' -
Copy the
refresh_tokenfrom the response.
Microsoft refresh tokens expire, after 90 days by default, and they're revoked when the service user's password changes. When that happens, syncs fail until you repeat Step 2 and update the connection's Refresh Token. Set a reminder to renew it.
Step 3: Create the OneNote integration
- In the Rezolve.ai console, go to Knowledge Management → Knowledge Integrations.
- Click Add Integrations and select OneNote.
3a. Connection setup
Enter a Title for the integration. Then either choose an existing OneNote connection or select Create New Connection and enter these details:
| Field | Description | Example |
|---|---|---|
| Name | A descriptive name for the connection | IT Runbooks OneNote |
| Site URL | The SharePoint site that stores the notebooks. /sites/ and /teams/ URLs are supported. | https://yourcompany.sharepoint.com/sites/IT |
| Azure Id | Directory (tenant) ID | |
| Client Id | Application (client) ID | |
| Client Secret | Client secret value | |
| Refresh Token | The refresh token from Step 2 |
3b. Content selection
Content is organized into one or more content sets. In each content set:
- Tick the notebooks to sync. Every section and page in a ticked notebook is synced.
- To limit who can get answers from this content set, open the ⋮ menu, turn on Restrict Access, and choose Restrict by Audience.
3c. Configuration
Under Sync Details, set the Frequency (daily, weekly, or monthly), Start Time, Timezone, and Schedule Start Date. Optionally turn on Subscribe to Sync Reports and add User Subscribers. Then click Save.
What gets ingested
| Content | Details |
|---|---|
| Pages | Page text, converted with its formatting |
| Images | Kept and shown with the answer |
| Embedded files | Supported file attachments on pages are ingested, such as PDF, Word, and PowerPoint files up to 25 MB |
Answers link to the page in OneNote for the web.
Sync behavior
| Behavior | Details |
|---|---|
| First sync | Full ingestion of the selected notebooks |
| Later syncs | Incremental. Sections that haven't changed since the last sync are skipped, and changed pages are re-ingested. |
| Deleted pages and sections | Removed from the Knowledge Base on the next sync |
Access control
Access comes from the Audience set on each content set. OneNote and SharePoint permissions are not inherited.
Troubleshooting
| Symptom | Likely cause | Resolution |
|---|---|---|
| Notebooks don't load, or the sync fails to authenticate | The refresh token is missing, expired, or revoked | Repeat Step 2 and update the Refresh Token |
| A notebook is missing | The service user can't open it, or it's a personal OneDrive notebook | Grant the service user access, or move the notebook to a SharePoint site |
| The sync fails for a notebook | The notebook was moved or renamed in SharePoint | Remove it from the content set and select it again |
Next Steps
- Manage syncs, logs, and bounced files in Knowledge Integrations
- Set up audience targeting