> For the complete documentation index, see [llms.txt](https://atlas.anywhere.now/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://atlas.anywhere.now/set-up-dialogue-cloud-neo/prerequisites/configure-sharepoint-sites.md).

# Configure SharePoint UCC sites

Set up SharePoint Online sites for Dialogue Cloud UCC deployments using the modernized UCC Site Creator scripts and SPFx-based UCC Dashboard.

Each Unified Contact Center (UCC) in Dialogue Cloud uses a dedicated SharePoint Online site for configuration management. For new deployments, the standard path is one root-level SharePoint Online site per UCC, created with the **UCC Site Creator** package, the `TeamSiteWithoutMicrosoft365Group` template, and App-Only certificate authentication.

{% hint style="info" %}
Microsoft has deprecated legacy SharePoint features including classic publishing, custom scripts, and Azure ACS (AACS) authentication — a legacy SharePoint authentication method. All new UCC sites must be created with the modernized scripts and the SharePoint Framework (SPFx)-based UCC Dashboard. If you have existing sites created with the legacy `Ucc.Creator` scripts, see the Operate section for modernization steps.
{% endhint %}

{% hint style="warning" %}
Do not renew legacy SharePoint client-secret authentication as a long-term fix. Microsoft is retiring Azure ACS (AACS) authentication, and newer Microsoft 365-generated client secrets can exceed the length supported by legacy deployment methods. Migrate existing SharePoint access to App-Only certificate authentication wherever possible.
{% endhint %}

{% hint style="warning" %}
Treat the standard path and the reduced-permissions `Sites.Selected` path as separate deployment models. Do not blend the subsite-based `Sites.Selected` exception path into the default one-site-per-UCC setup.
{% endhint %}

***

## What's in this section

{% stepper %}
{% step %}

### Deploy UCC Dashboard

One-time tenant-level setup. Deploys the SPFx UCC Dashboard package to your app catalog, making the UCC Dashboard web part available to all SharePoint sites in your tenant.

[Deploy UCC Dashboard →](/set-up-dialogue-cloud-neo/prerequisites/configure-sharepoint-sites/deploy-ucc-dashboard.md)

*Estimated time: 30 seconds – 1 minute.*
{% endstep %}

{% step %}

### Create UCC Site

Run once per UCC site. Creates a new SharePoint site with all required lists, content types, views, and the modern UCC Dashboard.

[Create UCC Site →](/set-up-dialogue-cloud-neo/prerequisites/configure-sharepoint-sites/create-ucc-site.md)

*Estimated time: 15 – 30 minutes per site.*
{% endstep %}
{% endstepper %}

***

## Reduced-permissions environment

If your tenant policies prohibit granting `Sites.FullControl.All` application permissions, a reduced-permission path is available using Microsoft's `Sites.Selected` scope. This requires a one-time setup by a SharePoint Administrator.

[Sites.Selected Permission Model →](/set-up-dialogue-cloud-neo/prerequisites/configure-sharepoint-sites/sites-selected-permissions.md)

***

## Scripts included in the package

| Script                        | Purpose                                                                       |
| ----------------------------- | ----------------------------------------------------------------------------- |
| `Deploy-UccDashboard.ps1`     | One-time tenant setup — deploys the UCC Dashboard SPFx package                |
| `UCC.Site.Creator.ps1`        | Creates new UCC sites with all lists, content types, and the modern dashboard |
| `Modernize-UccSite.ps1`       | Modernizes a single existing UCC site (see the Operate section)               |
| `Batch-ModernizeUccSites.ps1` | Modernizes multiple existing UCC sites in batch (see the Operate section)     |

***

## Updating existing modernized sites

Latest package available here: **UCC Site Creator 8.4.2.1**.

{% file src="/files/wtmB86SiaP66TVhskntp" %}
Download UCC\_Site\_Creator\_v8\_4\_2\_1.zip (27,954,185 bytes).
{% endfile %}

This is the latest update package offered here, not the historical 8.4.0.1 component listed in DC2025.01c. Review the version-specific changes and prerequisites before updating.

[UCC Site Creator release notes](https://atlas.anywhere.now/release-notes/ucc-site-creator) record the changes in 8.4.2.1, 8.4.1.9, and 8.4.1.8.

{% hint style="info" %}
Note

Remember you may need to 'Unblock' the .zip files in the file properties after downloading and before unzipping!
{% endhint %}

When you upgrade an existing modernized UCC site from an earlier UCC Site Creator package, run the update in two steps:

1. Run `Deploy-UccDashboard.ps1` with the applicable options and `-Force` to upload the new UCC Dashboard SPFx package to the selected app catalog.
2. Run `Modernize-UccSite.ps1` or `Batch-ModernizeUccSites.ps1` with `-Force` to apply the updated dashboard and schema changes to the target sites.

If the site stays on the same app catalog model, use the modernization script's `-UpdateAppOnly` mode when available. If you are changing app catalog model, for example from tenant app catalog to site collection app catalog, run the full modernization flow instead of `-UpdateAppOnly`.

***

## Prerequisites

### PowerShell

PowerShell 7.4.6 or higher is required. Windows PowerShell 5.1 is not supported.

The PnP.PowerShell module (v3.1.0) is bundled with the package — no separate installation is needed.

To check your PowerShell version:

```powershell
$PSVersionTable.PSVersion
```

To install PowerShell 7 if needed:

```powershell
winget install Microsoft.PowerShell
```

### Microsoft Entra ID app registration

All scripts authenticate using a Microsoft Entra ID application. You may reuse an existing Entra ID app from a previous Dialogue Cloud installation if it has the required permissions.

{% hint style="info" %}
This app registration is separate from the one created in [Configure Authentication](https://atlas.anywhere.now/platform-administration/provisioning/provisioning/configurations/configure-authentication). Do not reuse the OIDC redirect app — the required permissions are different.
{% endhint %}

**Step 1 — Register the application**

1. Go to the [Azure Portal](https://portal.azure.com) and navigate to **Microsoft Entra ID** → **App registrations**.
2. Select **New registration**.
3. Enter a name (for example, `UCC Site Creator`).
4. Select **Accounts in this organizational directory only**.
5. Select **Register**.
6. Note the **Application (client) ID** and **Directory (tenant) ID** — you will need both when running the scripts.

**Step 2 — Configure API permissions**

1. In your app registration, go to **API permissions** and select **Add a permission**.
2. Add the following permissions:

| API             | Permission              | Type        |
| --------------- | ----------------------- | ----------- |
| Microsoft Graph | `Sites.FullControl.All` | Application |
| Microsoft Graph | `Sites.FullControl.All` | Delegated   |
| SharePoint      | `Sites.FullControl.All` | Application |
| SharePoint      | `AllSites.FullControl`  | Delegated   |

3. Select **Grant admin consent for \[your organization]** and confirm all permissions show **Granted**.

{% hint style="info" %}
Granting admin consent requires the **Global Administrator** or **Privileged Role Administrator** role in Microsoft Entra ID. If you do not hold this role, coordinate with your Microsoft 365 administrator before proceeding.
{% endhint %}

{% hint style="info" %}
These elevated permissions are required for site collection creation, SPFx package deployment, and list provisioning. They are used only during initial deployment or version updates — not during day-to-day UCC operations.
{% endhint %}

{% hint style="info" %}
A reduced-permission path using `Sites.Selected` is available. See [Sites.Selected Permission Model](/set-up-dialogue-cloud-neo/prerequisites/configure-sharepoint-sites/sites-selected-permissions.md).
{% endhint %}

**Step 3 — Create a certificate**

Certificate-based authentication is recommended. Create a self-signed certificate or use one from your organization's PKI.

```powershell
$certName = "ModernUccSiteCreator"
$cert = New-SelfSignedCertificate `
    -Subject "CN=$certName" `
    -CertStoreLocation "Cert:\CurrentUser\My" `
    -KeyExportPolicy Exportable `
    -KeySpec Signature `
    -KeyLength 2048 `
    -KeyAlgorithm RSA `
    -HashAlgorithm SHA256 `
    -NotAfter (Get-Date).AddYears(2)

# Export the certificate with private key (.pfx)
$password = ConvertTo-SecureString -String "EnterYourPasswordHere" -Force -AsPlainText
Export-PfxCertificate -Cert $cert -FilePath "C:\Certs\$certName.pfx" -Password $password

# Export the public key (.cer) for upload to Entra ID
Export-Certificate -Cert $cert -FilePath "C:\Certs\$certName.cer"
```

**Step 4 — Upload the certificate to the Entra ID app**

1. In your app registration, go to **Certificates & secrets**.
2. Select **Upload certificate**.
3. Browse to the `.cer` file exported in Step 3.
4. Select **Add**.

The app registration is now ready for certificate-based authentication.

***

## Readiness checks

Before you continue to later onboarding steps, confirm all of the following:

1. The deployment model is clear:
   * standard path = one root-level site per UCC
   * reduced-permissions path = `Sites.Selected` exception flow
2. The Entra ID app registration has the required permissions and admin consent.
3. The certificate is uploaded and available for App-Only authentication.
4. The UCC Dashboard deployment path is selected:
   * tenant app catalog for the standard path
   * site collection app catalog only for the `Sites.Selected` exception path
5. The UCC site package is ready to create or update the target site before OnePortal onboarding continues.

When these checks are complete, continue with [Deploy UCC Dashboard](/set-up-dialogue-cloud-neo/prerequisites/configure-sharepoint-sites/deploy-ucc-dashboard.md) and then [Create UCC Site](/set-up-dialogue-cloud-neo/prerequisites/configure-sharepoint-sites/create-ucc-site.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://atlas.anywhere.now/set-up-dialogue-cloud-neo/prerequisites/configure-sharepoint-sites.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
