Why Automate OneNote Notebook to SharePoint Migration?
- Scale: Migrate hundreds or thousands of OneNote notebooks to SharePoint in one workflow.
- Consistency: Preserve structure — notebooks, sections, pages — in a predictable SharePoint document library layout.
- Eliminate manual effort: No more downloading/uploading files manually.
- Optimized collaboration: SharePoint-hosted notebooks open in full OneNote experience.
Method 1: Power Automate with OneNote + SharePoint + OneDrive
Flow Overview
- Trigger
- Use a scheduled flow or manual button.
- Initialize notebook metadata as variables.
- Get Recent Notebooks
Action: Get recent notebooks Output: Notebook ID, Display Name
- Loop Through Notebooks
- Action: Apply to Each (Notebook)
- Get Sections in Notebook
- Apply to Each (Section)
- Get Pages in Section
- Apply to Each (Page)
- Get Page Content
- Create file in OneDrive (HTML format)
- Convert file to PDF (OneDrive action)
- Create file in SharePoint Library (PDF)
- Delete temp file from OneDrive
- Action: Apply to Each (Notebook)
Method 2: PowerShell & PnP for Native .one Notebook Migration
PowerShell Script Template
# Import user data (username, OneNote path, SharePoint path)
$users = Import-Csv -Path "C:\OneNoteMigration\UserNotebookMap.csv"
# Loop through each user
foreach ($user in $users) {
$sourceUrl = "https://domain-my.sharepoint.com/personal/$($user.UserId)_domain_com/Documents/OneNote/$($user.FileName)"
$targetUrl = "/sites/TeamSite/Shared Documents/Notebooks/$($user.UserId)/$($user.FileName)"
# Connect to PnP site
Connect-PnPOnline -Url "https://domain.sharepoint.com/sites/TeamSite" -Interactive
# Copy the .one notebook
Copy-PnPFile -SourceUrl $sourceUrl -TargetUrl $targetUrl -OverwriteIfAlreadyExists
}
CSV Template for Mapping
UserId,FileName
john.doe,ProjectNotebook.one
jane.smith,DesignNotes.one
Prerequisites
- PnP PowerShell Module installed
- SharePoint admin permissions
- Ensure OneNote folder is accessible
Post-Migration Steps
- Validation: Open notebooks in browser and desktop to verify sync.
- Permission Setup: Use PnP to apply library-specific permissions.
- Cleanup: Archive old copies, notify users, disable outdated links.
FAQs
Q: Can Power Automate preserve full .one notebook files?
A: No. It can only read pages, not download/upload full notebooks. Use PowerShell or SPMT for native file migration.
Q: How to migrate OneNote from Teams Channels?
A: Teams notebooks are stored in the connected SharePoint site. Use PnP to locate the notebook folder and copy it to the target location.
Q: Do internal links in pages break post migration?
A: Yes, if the base path changes. Consider updating URLs via scripting or redirecting users.
Final Thoughts
With the right tools – Power Automate for granular page migration and PnP PowerShell for native file handling – you can automate OneNote content migration into SharePoint with minimal disruption. Adopt a hybrid strategy for large enterprise environments and use PowerShell to control the structure and permission integrity of your content.