Dialogue Cloud

UCC Site Creator - Quick Start Guide

Important

This is a page under active development. All information herein be is subject to updates at any time. Check back daily for more content, videos, screen-shots and downloads

This guide provides step-by-step instructions for some common scenarios. For detailed information, see the individual documentation pages.


Before You Begin

Ensure you have completed the Prerequisites:


Scenario 1: Modernize Existing UCC Sites

This is the most common scenario. Use this workflow when you have existing 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. sites that need to be upgraded to the modern SPFx-based dashboard for MC1117115 compliance.

Step 1: Extract the Package

Extract UCC_Site_Creator_v8_3_0_6.zip to a folder, for example:

Copy
PowerShell
C:\Install\UCC_Site_Creator_v8_3_0_6

Step 2: Open PowerShell 7

Copy
PowerShell
pwsh
cd "C:\Install\UCC_Site_Creator_v8_3_0_6"

Step 3: Store Your Certificate Password

Copy
PowerShell
$certPassword = Read-Host -AsSecureString -Prompt "Enter certificate password"

Step 4: Deploy UCC Dashboard (One-Time)

Copy
PowerShell
.\Deploy-UccDashboard.ps1 `
    -TenantUrl "https://contoso.sharepoint.com" `
    -ClientId "your-client-id" `
    -CertificatePath "C:\Certs\cert.pfx" `
    -CertificatePassword $certPassword

Wait for the "Tenant Setup Complete!" message.

Step 5a: Modernize a Single Site

Copy
PowerShell
.\Modernize-UccSite.ps1 `
    -SiteUrl "https://contoso.sharepoint.com/sites/ucc-sales" `
    -ClientId "your-client-id" `
    -CertificatePath "C:\Certs\cert.pfx" `
    -CertificatePassword $certPassword `
    -Tenant "contoso.onmicrosoft.com"

Step 5b: Modernize Multiple Sites (Batch)

Create a CSV file (UccSites.csv) with your site URLs:

Copy
PowerShell
SiteUrl
https://contoso.sharepoint.com/sites/ucc-sales
https://contoso.sharepoint.com/sites/ucc-support
https://contoso.sharepoint.com/sites/ucc-hr

Run the batch modernization:

Copy
PowerShell
.\Batch-ModernizeUccSites.ps1 `
    -InputCsv ".\UccSites.csv" `
    -Mode Modernize `
    -ClientId "your-client-id" `
    -CertificatePath "C:\Certs\cert.pfx" `
    -CertificatePassword $certPassword `
    -Tenant "contoso.onmicrosoft.com"

Step 6: Verify

Open your browser and navigate to your modernized site. You should see the new UCC Dashboard displaying your contact center configuration.


Scenario 2: Analyze Before Modernizing

Before making changes, you can analyze your sites to see what will be updated:

Single Site Analysis

Copy
PowerShell
.\Modernize-UccSite.ps1 `
    -SiteUrl "https://contoso.sharepoint.com/sites/ucc-sales" `
    -Analyze `
    -ClientId "your-client-id" `
    -CertificatePath "C:\Certs\cert.pfx" `
    -CertificatePassword $certPassword `
    -Tenant "contoso.onmicrosoft.com"

Batch Analysis

Copy
PowerShell
.\Batch-ModernizeUccSites.ps1 `
    -InputCsv ".\UccSites.csv" `
    -Mode Analyze `
    -ClientId "your-client-id" `
    -CertificatePath "C:\Certs\cert.pfx" `
    -CertificatePassword $certPassword `
    -Tenant "contoso.onmicrosoft.com"

Scenario 3: Create New UCC Sites

Use this workflow when deploying UCC to a new tenant or adding new UCC sites.

Step 1: Deploy UCC Dashboard (If Not Already Done)

Copy
PowerShell
.\Deploy-UccDashboard.ps1 `
    -TenantUrl "https://contoso.sharepoint.com" `
    -ClientId "your-client-id" `
    -CertificatePath "C:\Certs\cert.pfx" `
    -CertificatePassword $certPassword

Step 2: Create Your UCC Site

Copy
PowerShell
.\UCC.Site.Creator.ps1 `
    -paramUccName "ucc-sales" `
    -paramUccTitle "Sales Contact Center" `
    -paramSiteCollectionUrl "https://contoso.sharepoint.com/sites/ucc-sales" `
    -paramSiteOwner "admin@contoso.onmicrosoft.com" `
    -paramCertificateAppId "your-client-id" `
    -paramCertificateTenantId "your-tenant-id" `
    -paramCertificatePath "C:\Certs\cert.pfx" `
    -paramCertificatePassword $certPassword

Wait for the "UCC Site Creator Complete" message.


Scenario 4: Interactive Authentication (Testing)

For testing purposes, you can use interactive (browser-based) authentication instead of certificates:

Deploy Dashboard Interactively

Copy
PowerShell
.\Deploy-UccDashboard.ps1 `
    -TenantUrl "https://contoso.sharepoint.com" `
    -Interactive `
    -ClientId "your-client-id"

Modernize Site Interactively

Copy
PowerShell
.\Modernize-UccSite.ps1 `
    -SiteUrl "https://contoso.sharepoint.com/sites/ucc-sales" `
    -Interactive `
    -ClientId "your-client-id"

A browser window will open for you to sign in.


Common Issues

"Certificate could not be read" Error

Cause: Certificate password is incorrect or not provided.

Solution: Ensure you're passing the password as a SecureString:

Copy
PowerShell
$certPassword = ConvertTo-SecureString -String "YourPassword" -AsPlainText -Force

"Access Denied" or Permission Errors

Cause: The Entra ID app is missing required permissions.

Solution: Ensure your app has both permissions granted:

  • Microsoft Graph: Sites.FullControl.All (Application)
  • SharePoint: Sites.FullControl.All (Application)

Go to Azure Portal → App registrations → Your app → API permissions and verify both are listed with "Granted" status.

UCC Dashboard Web Part Not Available

Cause: The SPFx package wasn't deployed tenant-wide.

Solution: Run Deploy-UccDashboard.ps1 with the -Force flag:

Copy
PowerShell
.\Deploy-UccDashboard.ps1 ... -Force

Site Already Modernized

Message: "Site is already modernized!"

Solution: This is informational - your site is already using the modern dashboard. Use -Force to re-run modernization if needed.


Next Steps

For detailed information on each script: