DEPLOY TOOL
NEWSharePoint Bulk Provisioning.
Apply navigation menus, themes, content types, and term sets to dozens of SharePoint sites from one structured input (CSV or JSON). Paste it into the wizard, get per-site results back. Replaces the hand-rolled PowerShell scripts that consultants charge to run, and the manual click-through that takes hours per site.
What it does
Four bulk operations, applied across an arbitrary list of SharePoint sites in your tenant:
- Bulk Navigation: build a hierarchical menu (top nav OR quick launch) from a CSV with parent/child rows. Up to 500 nodes per call. Per-site application returns row-level outcomes so you can spot which sites refused a specific link.
- Bulk Theme: push a brand palette (background / accent / text colors) to multiple site collections. Optionally registers the theme tenant-wide so it shows up in the SharePoint theme picker.
- Bulk Content Types: create custom content types (with parent inheritance from
0x01 Item,0x0101 Document, or0x0120 Folder) and roll them out across sites in one pass. - Bulk Terms: build term sets and individual terms in the SharePoint termstore from CSV, scoped to a term group. Hierarchical (parent/child term) creation supported.
Input format
Each operation accepts JSON via the API or structured CSV via the wizard. The CSV columns map 1:1 to the JSON fields and the wizard generates the JSON for you. Sample CSVs are linked from each section of the wizard.
Per-site results show success / failure per row with the SharePoint error code intact so you can act on it (e.g. EditingDisabled on a locked-down site collection means you need to flip the read-only flag first).
Authorization model
Bulk Provisioning needs the same SharePoint admin scopes as a site administrator running PnP PowerShell. Specifically:
- The credential must be a Microsoft 365 admin account with SharePoint admin role, OR an app registration with
Sites.FullControl.Allapplication permission and admin consent granted. - Tenant-level theme registration requires
Tenant.FullControl.All. Without it, themes apply per-site but don't show up in the global picker. - Termstore writes require admin rights on the termstore (separate from SharePoint admin).
The credential connects once; every bulk operation reuses the same session. MigrationFox never stores plaintext credentials: they are encrypted at rest with AES-256.
Cost-benefit vs. PowerShell
The PowerShell alternative looks like this: hire a consultant for $150–$250 per hour, scope the work for 4–8 hours per site (depending on the customizations), pay $600–$2,000 per site collection. For a 20-site rollout, that's $12,000–$40,000 in consulting fees plus the time-to-completion risk.
Bulk Provisioning is included in the Tenant Suite (all 6 report packs plus every governance tool, 1 year, 1 tenant). For consultants running provisioning work across many client tenants, the Consultant Pro license unlocks unlimited tenants per named consultant. Current prices are on the pricing page.
Audit trail
Every bulk operation writes an audit log row including the actor, the target site list, the number of items created vs failed, and the operation type. Surfaced in the in-app Activity feed so the rollout has a paper trail you can show your security team.
Limitations
- Navigation node URLs are not validated. If you point a menu item at a broken URL, SharePoint will accept it and surface the link as broken.
- Theme registration on tenants without
Tenant.FullControl.Allfalls back to per-site application; the theme won't appear in the global picker but will be active on the target sites. - Content type inheritance: only the three standard root content types (
0x01 Item,0x0101 Document,0x0120 Folder) are wired into the wizard. For custom-CT-parent inheritance, contact support. - Term set GUIDs are not preserved across tenants; bulk-creating the same term set in two tenants produces two different GUIDs.
Try Bulk Provisioning
Bulk Provisioning is part of the Tenant Suite and Consultant Pro. Each operation shows per-site results, so you can start with one test site to validate your CSV before rolling out across the tenant.