# Site Configuration
Defines the structure and content of a SharePoint site: columns, content types, document libraries, lists, pages, navigation, and permissions.
Referenced by: SiteCollectionCfg.SiteSet or Office365GroupCfg.SiteSet.
# Overview
SiteCfg defines the root site configuration within a site collection. It configures site columns, content types, document libraries, lists, pages, regional settings, and permissions that are applied when the site is provisioned.
Child configurations:
DocLibCfg (list)— document libraries (referenced viaDocumentLibrarySets)ColumnCfg (list)— site columns (referenced viaColumns)ContentTypeCfg (list)— content types (referenced viaContentTypes)ListCfg (list)— custom lists (nested viaLists)PageCfg (list)— site pages (referenced viaPageSetorPageSets)PermissionSetCfg— permissions (referenced viaPermissionSet)
# Applied when
The site is provisioned when:
- The parent
SiteCollectionCfgis created and references this configuration viaSiteSet - OR a parent
Office365GroupCfgis created and references this configuration viaSiteSet - Applied during site collection or group creation; site-level changes (columns, content types, libraries) are applied after the site is created
- All child configurations (document libraries, columns, content types, pages, permissions) are applied hierarchically during site provisioning
# Core settings
# Name
Type: string | Default: — | Required: Yes
Unique name. Referenced from SiteCollectionCfg.SiteSet.
# Template
Type: string | Default: — | Required: Yes
SharePoint site template identifier. Examples: STS#0 (Team Site), BDR#0 (Document Center), PWA#0 (Project Site).
# Language
Type: int? | Default: — | Required: No
Site language LCID (e.g., 1033 for English).
# Content and structure
# Columns
Type: string (list) | Default: — | Required: No
Names of ColumnCfg entries to add as site columns.
# ContentTypes
Type: string (list) | Default: — | Required: No
Names of ContentTypeCfg entries to create.
# DocumentLibrarySets
Type: string (list) | Default: — | Required: No
Names of DocLibCfg entries to provision as document libraries.
# Lists
Type: ListCfg (list) | Default: — | Required: No
Custom list configurations (nested).
# PageSet
Type: string | Default: — | Required: No
Name of the PageCfg to apply as the home page.
# PageSets
Type: string (list) | Default: — | Required: No
Names of PageCfg entries to create additional pages.
# Behavioral settings
# RemoveDocumentLibraries
Type: bool | Default: true | Required: No
Remove default SharePoint document libraries before applying configured ones.
# RemoveAllWebpartsOnDefaultPage
Type: bool | Default: — | Required: No
Remove all web parts from the default page before provisioning.
# QuickLaunchEnabled
Type: bool | Default: true | Required: No
Show the Quick Launch navigation panel.
# NavigationUseShared
Type: bool? | Default: true | Required: No
Use shared navigation (inherited from parent).
# HorizontalQuickLaunch
Type: bool? | Default: — | Required: No
Render Quick Launch horizontally instead of vertically.
# ExcludeFromOfflineClient
Type: bool? | Default: — | Required: No
Exclude this site from offline client synchronization (Outlook, OneDrive).
# Title and display settings
# TitleFormat
Type: enum? | Default: — | Required: No
How to format the site title: Name, Code, Custom. When set to Custom, use TitleFormatCustom to specify the format.
# TitleFormatCustom
Type: string | Default: — | Required: No
DEPENDENCY: When this property is set to a non-empty value, TitleFormat automatically changes to Custom. Supports dynamic variables like {MatterName}, {MatterCode}, {Responsible}. Example: "{MatterName} ({MatterCode})".
# Site customization
# SiteLogoUrl
Type: string | Default: — | Required: No
URL to the site logo image.
# AlternateCssUrl
Type: string | Default: — | Required: No
URL to custom CSS file for site branding.
# Theme
Type: string | Default: — | Required: No
Local file path to a color theme. Example: "Themes/Blue.spcolor". (Configurator label: "Color File")
# ThemeBackgroundImage
Type: string | Default: — | Required: No
Local file path to a background image for the theme. Example: "Themes/bg.jpg". (Configurator label: "Background Image")
# Modern site settings (SharePoint Online)
Note: Properties in this section apply only to SharePoint Online. They are ignored on SharePoint 2016 and on-premises deployments.
# HeaderEmphasis
Type: enum? | Default: — | Required: No
Header color emphasis for modern sites: None, Neutral, Soft, Strong. Controls how prominently the site header stands out from the page background.
# HeaderLayout
Type: enum? | Default: — | Required: No
Header layout style for modern sites: Standard, Compact. Determines the height and spacing of the site header.
# Access requests
# RequestAccessEmail
Type: bool? | Default: — | Required: No
Enable "Request Access" functionality on the site.
# RequestAccessEmailAddress
Type: string | Default: — | Required: No
Email address to receive access requests. Required if RequestAccessEmail is true.
# RequestAccessDescription
Type: string | Default: — | Required: No
Custom message shown on the "Request Access" page.
# Permissions and access
# PermissionSet
Type: string | Default: — | Required: No
Name of the PermissionSetCfg to apply to the root site.
# Regional settings
Configure locale and regional preferences for the site. These settings affect how dates, times, and number formats are displayed.
# RGLocaleId
Type: uint? | Default: — | Required: No
Regional locale ID. Example: 1033 for English (US), 1031 for German. (Configurator label: "Locale")
# RGFirstDayOfWeek
Type: DayOfWeek? | Default: — | Required: No
First day of the week: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday. (Configurator label: "First Day of Week")
# RGWorkDayStartHour
Type: short? | Default: — | Required: No
Work day start hour (0-23). Example: 9 for 9 AM. (Configurator label: "Work day Start hour (0..23)")
# RGWorkDayEndHour
Type: short? | Default: — | Required: No
Work day end hour (0-23). Example: 17 for 5 PM. (Configurator label: "Work day End hour (0..23)")
# RGFirstWeekOfYear
Type: CalendarWeekRule? | Default: — | Required: No
How to calculate the first week of the year: FirstDay, FirstFullWeek, FirstFourDayWeek. (Configurator label: "First Week of Year")
# RGTime24
Type: bool? | Default: — | Required: No
Use 24-hour time format (true) or 12-hour format with AM/PM (false). (Configurator label: "Time 24")
# RGShowWeeks
Type: bool? | Default: — | Required: No
Display week numbers in calendars. (Configurator label: "Show week numbers")
# RGCollation
Type: Collation? | Default: — | Required: No
Sort order for text comparison: None, Phonetic, Stroke, Pinyin. (Configurator label: "Sort Order")
# Feature activation
# Features
Type: Guid (list) | Default: — | Required: No
Site features to activate.
# DeactivateFeatures
Type: Guid (list) | Default: [GettingStarted, Sitefeed] | Required: No
Site features to deactivate (Getting Started and Site Feed are deactivated by default).
# SiteNoteBook
Type: Guid | Default: — | Required: No
Site notebook feature GUID (for OneNote integration).
# OneNoteSections
Type: string (list) | Default: — | Required: No
One or more .one section files to add to the site's default notebook when the site is created. Each entry has the form <sourceFile> or <sourceFile>=<targetFileName>, where both parts are resolved through dynamic name substitution. A bare filename (no path) is resolved relative to the service executable's folder, and .one is appended if the resolved name has no extension.
Only applies when the site is being newly created (not on updates), and only when the SiteNoteBook feature is not present in DeactivateFeatures. If the resolved source file cannot be found, that section is skipped without failing the rest of provisioning.
To add sections to a notebook at any other time (not just site creation), use the OneNote Sections handler instead.
# PropertyBagKeyValues
Type: string | Default: — | Required: No
One or more <key>=<value>; entries, resolved through dynamic name substitution, that are written as searchable property bag values on the site. Use this to make matter/client metadata (e.g. MatterType={MatterType};) available as property bag values, for example so it can be indexed by search or read by scripts.
# Navigation
# TopNavigation
Type: NavigationItem (list) | Default: — | Required: No
Top navigation items (structural navigation). Replaces existing top nav items if provided.
# TopNavigationAlwaysRebuild
Type: bool | Default: — | Required: No
If enabled, always remove all existing top navigation items and recreate them from configuration, even if they haven't changed.
# QuickLaunchNavigation
Type: NavigationItem (list) | Default: — | Required: No
Quick Launch navigation items. Existing items are preserved and new items are added (use Remove: true to remove specific items by URL).
# UILanguages
Type: int (list) | Default: — | Required: No
Array of UI language LCIDs to enable. Example: [1033, 1031] for English and German.
# PnP provisioning
# PnPProvisioningTemplate
Type: string | Default: — | Required: No
Path to a PnP provisioning template (opens new window) (XML or JSON) to apply after standard provisioning.
# PolicyName
Type: string | Default: — | Required: No
Policy name to apply (if supported).
# Related
- Document Library Configuration — libraries within the site
- Column Configuration — site columns
- Content Type Configuration — content types
- Permission Set Configuration — site permissions
- Page Configuration — site pages
- List Configuration — custom lists
- Site Collection Configuration — parent site collection