# File handlers

File handlers process files dropped into the provisioning service watch folder. Each handler is triggered by a filename pattern and maps rows or content to provisioning operations.

# Supported file formats

# Excel (.xlsx, .xls)

The primary input format. The first row is the header row with column names; each subsequent row is processed independently as a single provisioning operation.

# CSV and TXT (.csv, .txt)

Treated identically to Excel. The first row must contain column names. The delimiter defaults to the system locale's list separator (typically , on en-US systems and ; on many European locales) and can be overridden in the service settings (SettingsCfg.Provisioning.CsvDelimiter). Values containing the delimiter must be enclosed in double quotes. Any handler that accepts Excel files also accepts CSV and TXT files with the same column structure.

# JSON (.json)

Some handlers have a JSON variant for programmatic or server-side use. These accept a single JSON object instead of a table of rows. See individual handler docs for details.

# How it works

  1. Drop a file into the service watch folder.
  2. The service matches the filename against registered handler patterns (case-insensitive). If no handler matches, the file is moved to the Error subfolder.
  3. Rows are processed independently. For each row that fails, the error message is written to an Error column on that row.
  4. After all rows are processed:
    • If any rows failed: the failed rows (with their Error column populated) are written to Error/{filename}Errors_{timestamp}.xlsx in the same directory. The error file is always .xlsx regardless of the original input format. The original file is also moved to Error/.
    • If all rows succeeded: the original file is moved to Completed/.
  5. To get a blank template with the correct columns for any handler, ask the service to generate a sample file.

# Available handlers

# Matter and client management

Handler Filename must contain Description
Client List clientlist Create or update client list entries
Client Matter clientmatter Provision a complete matter (site, library, groups, permissions)
Matter List matterlist Create or update matter list entries
Matter Status MatterStatus Open, close, or archive a matter site
Update Default Values defaultvalues Update matter metadata and column defaults on document libraries

# Site provisioning

Handler Filename must contain Description
Site Collection sitecollection Create or update site collections
Delete Site Collection deletesitecollection Permanently delete a site collection
Delete Web deleteweb Permanently delete a sub-site
Archive Site Collection archivesitecollection Archive or unarchive a site collection
Page Extension PageExtension Enable or disable page extension validation on a site
PnP Template PnpTemplate Apply a PnP provisioning template to a site

# Library configuration

Handler Filename must contain Description
Doclib Set doclibset Apply a document library configuration template
Doclib Versioning DoclibVersioning Configure versioning and force-checkout settings
Doclib Content Types DoclibContentTypes Add or remove content types on a library
Doclib Alert DoclibAlert Configure document library alerts
Doclib Compliance Tag DoclibComplianceTag Apply a retention compliance tag to a library
Doclib Import Documents From Template DoclibImportDocumentsFromTemplate Import template documents into a library
Doclib Managed Navigation DoclibManagedNavigation Configure managed navigation on a library
Doclib Reindex DoclibReindex Trigger reindexing of a document library
Configure Doc ID Prefix ConfigureDocIDPrefix Set the document ID prefix on a library
Delete Doc Lib deletedoclib Delete a document library
Clear Doclib cleardoclib Remove all contents from a document library

# Structure and organization

Handler Filename must contain Description
Column Set ColumnSet Create or update site columns from a template
Content Type Set ContentTypeSet Create or update content types from a template
Folder Set folderset Create folder structures in libraries
Move Folder movefolder (not removefolder) Move folders within or between libraries
Rename Folder renamefolder Rename a folder
Delete Folder deletefolder Delete a folder
View Set viewset or DoclibView Create or update list views
Page Set pageset Create or update site pages
Handler Filename must contain Description
Top Navigation topnavigation Configure top navigation items
Quick Launch Navigation quicklaunchnavigation Configure Quick Launch navigation items
Planner Set plannerset Create Microsoft Planner plans (SharePoint Online only)

# Permissions and security

Handler Filename must contain Description
Permission Set permissionset Apply or update permissions on sites, libraries, and folders
Group Set groupset Create or update SharePoint groups
Site Access Request SiteAccessRequest Configure site access request settings
O365 Group Members o365groupmember Add or remove Microsoft 365 group owners and members (SharePoint Online only)

# User personalization

Handler Filename must contain Description
My Favorites myfavorites Add or remove SharePoint favorites for a user
My Matters mymatters Add or remove matters from a user's My Matters list

# Document management

Handler Filename must contain Description
Update File Properties updatefileproperties Update metadata on a specific document
Update Doclib File Properties UpdateDoclibFileProperties or AssignDefaultValuesInDocLib (JSON) Update metadata on all documents in a library
Update Doclib File Sensitivity Label UpdateDoclibFileSensitivityLabel Apply a Microsoft Purview sensitivity label to documents
Document Update Content Type DocumentUpdateContentType (not Email) Update the content type of documents
Document Update Content Type Email DocumentUpdateContentTypeEmail Update content type and metadata of email files
Move File movefile Move files between document libraries
Search File and Move searchfile + move Search for files by query and move them in bulk
Rename File renamefile Rename files (not functional — see doc)
Delete File deletefile or removefile Delete files
Delete Duplicate Email DeleteDuplicateEmail Delete duplicate email files by Internet Message ID
Doclib Delete File Versions DoclibDeleteFileVersions Trim version history on documents
Check-in Documents checkindocuments Check in checked-out documents
Remove Folder Doc Id RemoveFolderDocId Clear _dlc_DocId from folder properties
Copy Search Schema CopySearchSchema Copy a SharePoint search schema between sites

# OneNote

Handler Filename must contain Description
Add One Note AddOneNote Add a OneNote notebook to a document library
OneNote Sections OneNoteSections Add sections to a OneNote notebook
Report One Note ReportOneNote or OneNoteReport Report on OneNote notebooks in a library

# Utilities

Handler Filename must contain Description
Test Dynamic Name TestDynamicName Resolve a dynamic config name and output the result

# Filename matching

Filename matching is case-insensitive. A file named 2024-01-15 permissionset matters.xlsx matches the Permission Set handler. You can add timestamps, descriptions, or other text to the filename — only the handler keyword matters.

Some handlers exclude patterns: for example, the Site Collection handler excludes files containing deletesitecollection, and the Document Update Content Type handler excludes files containing DocumentUpdateContentTypeEmail. See individual handler docs for exclusions.

Last Updated: 4/20/2026, 12:54:05 PM