What's New in UCC Site Creator v8.4.1.9
This article describes the changes introduced in v8.4.1.9 compared to v8.4.1.8.
UCC Dashboard SPFx Package (v8.4.1.9)
The bundled SPFx package has been updated to v8.4.1.9, addressing the following issues in the UCC A Unified Contact Center, or UCC, is a queue of interactions (voice, email, IM, etc.) that are handled by Agents. Each UCC has its own settings, IVR menus and Agents. Agents can belong to one or several UCCs and can have multiple skills (competencies). A UCC can be visualized as a contact center “micro service”. Customers can utilize one UCC (e.g. a global helpdesk), a few UCC’s (e.g. for each department or regional office) or hundreds of UCC’s (e.g. for each bed at a hospital). They are interconnected and can all be managed from one central location. Dashboard web part:
List behavior
- Filtering, sorting, and item count controls were no longer working on list views. This has been restored.
- The SkillsPerAgent selection pop-up was limited to 100 items. The item limit has been raised to 5000.
- Horizontal scrolling on wide lists (such as Call Summary) was only possible from the bottom of the page. Scroll controls are now accessible from the window/viewport edges (of your browser) so always in view on your screen.
IVR Interactive Voice Response, or IVR, is a telephone application to take orders via telephone keypad or voice through a computer. By choosing menu options the caller receives information, without the intervention of a human operator, or will be forwarded to the appropriate Agent.
- It was not possible to assign a skill, action, or choice to a new IVR question. This has been fixed.
- Skill visibility was missing from the IVR list view. The Skill column is now displayed correctly (scroll to the right).
Agent and skill validation
- PSTN agent entries using
tel:+format were being rejected by the dashboard, despite being documented as supported. SIP The Session Initiation Protocol, or SIP, is a protocol for multimedia communication (audio, video and data communication). SIP is also used for Voice over IP (VoIP). SIP has interactions with other Internet protocols such as HTTP and SMTP.-only validation has been corrected to also accepttel:+prefixed numbers. - Countdown Availability Skills did not accept a value of 0. This is now allowed.
Bug Fixes
PowerShell 7 Relaunch Under Interactive Authentication
When running UCC.Site.Creator.ps1 with -Interactive, the script performs a self-relaunch to reset its PowerShell context. In v8.4.1.8 this relaunch hardcoded powershell.exe, which spawned a Windows PowerShell 5.1 process and caused the script to immediately abort with a version check error. The relaunch now resolves the current executable dynamically, ensuring it always restarts in the same PowerShell version that was used to start it.
Site Owner Parameter Lost on Relaunch
When using -paramSiteOwner with UCC.Site.Creator.ps1, the value was silently dropped during the self-relaunch, causing site collection creation to fail with an invalid owner error. The parameter is now correctly passed to the restarted process.
Site Collection Creation Failed with Blank Owner
When the site owner was read from configuration.xml, SharePoint's XML parser returned the element object rather than its text value. This caused New-PnPSite to receive the literal string "Title" as the owner, which SharePoint rejected. The configuration.xml read now correctly extracts the inner text value.
Modernization Improvements (Modernize-UccSite.ps1)
Robustness on Classic Publishing Subsites (BLANKINTERNET)
Subsites created from the classic BLANKINTERNET#0 template caused Add-PnPPage to throw a NullReferenceException internally. v8.4.1.9 addresses this with three complementary fixes:
- Half-initialized page repair — before creating any page, the script scans the SitePages library for items that have the Site Page content type but are missing modern page metadata (
CanvasContent1,PageLayoutType,ClientSideApplicationId). These are repaired in place beforeAdd-PnPPageis called. - CSOM fallbacks — every PnP page operation now has a CSOM fallback path for page creation, homepage switching, page deletion, web part injection, full-width promotion, and publishing.
- Dynamic component ID discovery — the UCC Dashboard SPFx component ID is now read directly from the bundled
.sppkgfile at startup, replacing a placeholder GUID GUID stands for Globally Unique Identifier (format is always like 2ed153b4-f632-4766-b846-5b2a769b36d1) and is a pseudo random number used in software applications that is assumed to be unique. The total number of unique keys (2<sup>128</sup> of 3.4028×10<sup>38</sup>) is very large and the probability of the creating the same GUID twice is very small, though not 100% guaranteed. The term GUID is generally used by developers working with Microsoft technologies, while UUID is used everywhere else.. This ensures correct web part injection regardless of deployment model.
SitePages Library Diagnostics
Running with -Verbose now outputs a detailed diagnostic block before page creation, showing library properties, content types, existing page metadata, web template, and SitePages feature status. This is not shown during normal runs.
Permission Snapshot and Post-Check
Before any modernization changes are applied, the script captures the site's current permission state (subsite role assignments and list-level unique permissions). After modernization completes, it compares the state and logs a clear warning if any permissions were removed or changed. This helps identify pre-existing permission issues that may be exposed during modernization.
Version List Updated on Modernization
After successfully modernizing a UCC subsite, the script now updates the single item in the Version list with the current script version (8.4.1.9). This builds a version history on that item, giving a clear upgrade trail visible in the list's version history. Parent sites are not updated as they do not have a Version list.
New Feature: Sites.Selected Permission Model
Deploy-UccDashboard.ps1 and UCC.Site.Creator.ps1 now support deployment using an Entra ID Formerly known as Azure Active Directory (or Azure AD, or AAD) application with SharePoint — Sites.Selected and Graph — Sites.Selected permissions only, without requiring Sites.FullControl.All.
Key changes enabling this:
- The
.sppkgis uploaded directly via CSOM rather thanAdd-PnPApp, which previously required tenant admin access internally - Client-side JavaScript assets are extracted from the bundled
.sppkgand uploaded to the site collection'sClientSideAssetslibrary — a step thatAdd-PnPAppnormally handles automatically - The app is deployed via the
sitecollectionappcatalog/DeployREST endpoint, settingDeployed=Truewithout admin center access
A new -SiteCollectionPreCreated switch on UCC.Site.Creator.ps1 bypasses site collection creation (which requires tenant admin) for environments where the site has been pre-created by a SharePoint Administrator.
See UCC Site Collection Deployment — Sites.Selected Permission Model for the full setup guide.
Schema Updates
List Schema Corrections for New Sites
Four lists were being created with incomplete schemas on newly provisioned sites. The lists were created as bare shells by the provisioning engine, and the subsequent patch scripts that add content types, columns, and views were silently skipping them because the lists already existed. The following lists are now fully configured automatically during provisioning and modernization:
| List | What was missing |
|---|---|
| EncryptedTokens | EncryptedToken content type, Key and Value columns, AllItems view |
| CannedResponses | CannedResponse content type, Response and Skill columns, AllItems view |
| Modalities | Modality content type, Audio and Chat seed items |
| ReservationPointSystemRules | wsp_ucc_Modality and wsp_ucc_PointsPerSession columns, content type |
These fixes are applied idempotently — running modernization on existing sites will add whatever is missing without affecting data or other configuration.
New Columns
The following columns have been added to SchemaUpdates.ps1. They are applied automatically during site provisioning and modernization, and are safe to run on existing sites.
| List | Internal Name | Display Name | Type |
|---|---|---|---|
| Endpoints | wsp_ucc_endpoints_displayname
|
DisplayName | Text |
| Endpoints | wsp_ucc_endpoints_displaynumber
|
DisplayNumber | Text |
| Endpoints | wsp_ucc_endpoints_teamsendpoint
|
TeamsEndpoint | Text |
| Skills | wsp_ucc_skill_max_queue_count
|
MaxQueueCount | Number |
| Supervisors | wsp_ucc_Supervisor_upn
|
UPN In Windows Active Directory, a User Principal Name (UPN) is the name of a system user in an email address 'like' format. A UPN (for example: john.doe@domain.com) consists of the user name (logon name), separator (the @ symbol), and domain name (UPN suffix). | Text |
Navigation Hidden on Newly Provisioned Subsites
UCC.Site.Creator.ps1 now hides the left navigation on each newly provisioned UCC subsite immediately after the dashboard page is set up. Previously this was only applied during modernization. The same methods used by Modernize-UccSite.ps1 are applied: navigation inheritance is broken, QuickLaunch is disabled, the header is set to minimal layout, and the vertical navigation is disabled via ChromeOptions.