> 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/create-ucc-site.md).

# Create a SharePoint UCC site

Create a new SharePoint Online UCC site with all required lists, content types, views, and the modern UCC Dashboard using UCC.Site.Creator.ps1.

The `UCC.Site.Creator.ps1` script creates a new Unified Contact Center (UCC) site on SharePoint Online. Each site includes all required lists, content types, views, and the modern UCC Dashboard.

For the standard deployment path, create one root-level site per UCC and authenticate with the App-Only certificate model described in [Configure SharePoint UCC Sites](/set-up-dialogue-cloud-neo/prerequisites/configure-sharepoint-sites.md). Use the subsite switches only when you are following the reduced-permissions [`Sites.Selected`](/set-up-dialogue-cloud-neo/prerequisites/configure-sharepoint-sites/sites-selected-permissions.md) exception path.

{% hint style="success" %}
**Before you begin:** Complete the [Prerequisites](/set-up-dialogue-cloud-neo/prerequisites/configure-sharepoint-sites.md#prerequisites) and [Deploy UCC Dashboard](/set-up-dialogue-cloud-neo/prerequisites/configure-sharepoint-sites/deploy-ucc-dashboard.md). You need the Entra ID application client ID, tenant ID, and certificate (`.pfx`) from the prerequisites step.
{% endhint %}

***

## Basic usage

### Certificate authentication (recommended)

```powershell
$certPassword = Read-Host -AsSecureString -Prompt "Enter certificate password"

.\UCC.Site.Creator.ps1 `
    -paramUccName "ucc-sales" `
    -paramUccTitle "Sales Contact Center" `
    -paramSiteCollectionTitle "Sales Department" `
    -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
```

### Interactive authentication (optional)

Use interactive authentication only when your environment explicitly allows that operator-run variant. The standard new-site path for this section remains App-Only certificate authentication.

```powershell
.\UCC.Site.Creator.ps1 `
    -paramUccName "ucc-sales" `
    -paramUccTitle "Sales Contact Center" `
    -paramSiteCollectionUrl "https://contoso.sharepoint.com/sites/ucc-sales" `
    -Interactive `
    -paramInteractiveClientId "your-client-id"
```

***

## Parameters

### Required parameters

| Parameter                 | Description                                              |
| ------------------------- | -------------------------------------------------------- |
| `-paramUccName`           | Internal name for the UCC site — no spaces, used in URLs |
| `-paramUccTitle`          | Display title for the UCC site                           |
| `-paramSiteCollectionUrl` | Full URL where the site will be created                  |

### Authentication parameters

| Parameter                   | Description                              |
| --------------------------- | ---------------------------------------- |
| `-paramCertificateAppId`    | Entra ID application (client) ID         |
| `-paramCertificateTenantId` | Entra ID tenant (directory) ID           |
| `-paramCertificatePath`     | Path to the `.pfx` certificate file      |
| `-paramCertificatePassword` | Certificate password as `SecureString`   |
| `-Interactive`              | Use browser-based authentication         |
| `-paramInteractiveClientId` | Client ID for interactive authentication |

### Optional parameters

| Parameter                      | Default         | Description                                                                                                                                                                     |
| ------------------------------ | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `-paramSiteOwner`              | From config     | Site collection owner email address                                                                                                                                             |
| `-paramSiteCollectionTitle`    | AnywhereNow UCC | Site collection title                                                                                                                                                           |
| `-paramLanguage`               | English         | Language for list content: `English` or `1033`, `Dutch` or `1043`, `German` or `1031`, `French` or `1036`                                                                       |
| `-UseSiteCollectionAppCatalog` | —               | Install the UCC Dashboard app from a site collection app catalog rather than the tenant catalog. Available since v8.4.1.9.                                                      |
| `-SiteCollectionPreCreated`    | —               | Skip site collection creation — required only for the reduced-permissions `Sites.Selected` deployment path. Available since v8.4.1.9.                                           |
| `-UseSubSites`                 | —               | Enable subsite provisioning mode for the reduced-permissions `Sites.Selected` path — processes pending UCC requests from the `A365_UCC_Creator` list. Available since v8.4.1.9. |

***

## What the script does

1. Creates a new root-level SharePoint site by using the standard deployment template when it does not already exist.
2. Adds site columns, content types, and the `A365_UCC_Creator` list to the site collection.
3. Creates all UCC lists (Agents, Skills, Queues, and others).
4. Adds UCC-specific content types to lists.
5. Configures default and custom views.
6. Populates lists with default settings and values.
7. Creates `Home.aspx` with the UCC Dashboard web part in full-width layout.
8. Applies the AnywhereNow logo to the site.
9. Adds any new columns required by recent package versions.
10. Disables page comments.

***

## Expected output

A successful run ends with:

```
============================================================
  UCC Site Creator Complete
============================================================
  Site URL: https://contoso.sharepoint.com/sites/ucc-sales
```

***

## Creating multiple sites

**Option 1 — Run the script separately for each site:**

```powershell
.\UCC.Site.Creator.ps1 -paramUccName "ucc-sales" -paramUccTitle "Sales" ...
.\UCC.Site.Creator.ps1 -paramUccName "ucc-support" -paramUccTitle "Support" ...
```

**Option 2 — Use a loop:**

```powershell
$certPassword = Read-Host -AsSecureString -Prompt "Enter certificate password"

$sites = @(
    @{ Name = "ucc-sales";   Title = "Sales Contact Center" },
    @{ Name = "ucc-support"; Title = "Support Contact Center" },
    @{ Name = "ucc-hr";      Title = "HR Contact Center" }
)

foreach ($site in $sites) {
    .\UCC.Site.Creator.ps1 `
        -paramUccName $site.Name `
        -paramUccTitle $site.Title `
        -paramSiteCollectionUrl "https://contoso.sharepoint.com/sites/$($site.Name)" `
        -paramCertificateAppId "your-client-id" `
        -paramCertificateTenantId "your-tenant-id" `
        -paramCertificatePath "C:\Certs\cert.pfx" `
        -paramCertificatePassword $certPassword
}
```

***

## Adding UCC to an existing site

If the site collection already exists when you run the script, it skips site collection creation, checks whether UCC is already configured, and adds any missing lists and content.

## Readiness checks

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

1. The script completed with the expected success message.
2. The target site exists at the intended SharePoint Online URL.
3. The required lists, content types, views, and `Home.aspx` dashboard are present.
4. The site uses the intended deployment model:
   * root-level site for the standard path
   * pre-created site collection plus subsite model only for the `Sites.Selected` exception path
5. The site URL and authentication details are ready for the next onboarding step in OnePortal.

***

## Multi-language support

Use `-paramLanguage` to set the language for list content. Supported values are `English` (default) or `1033`, `Dutch` or `1043`, `German` or `1031`, and `French` or `1036`.

```powershell
.\UCC.Site.Creator.ps1 `
    -paramUccName "ucc-verkoop" `
    -paramUccTitle "Verkoop Contact Center" `
    -paramSiteCollectionUrl "https://contoso.sharepoint.com/sites/ucc-verkoop" `
    -paramLanguage "1043" `
    ...
```

{% hint style="info" %}
The UCC Dashboard interface is available in English only. The `-paramLanguage` parameter affects list and settings content fields only.
{% endhint %}

***

## Troubleshooting

<details>

<summary>Error: "Required variables not set"</summary>

**Cause:** Authentication parameters are missing or invalid.

**Resolution:** Verify all certificate parameters are provided and the path to the `.pfx` file is correct, or use `-Interactive` for browser-based authentication.

</details>

<details>

<summary>UCC Dashboard web part not available after site creation</summary>

**Cause:** The SPFx package has not been deployed to the tenant app catalog, or deployment did not complete successfully.

**Resolution:** Re-run `Deploy-UccDashboard.ps1` and confirm the deployment ends with the "Tenant Setup Complete" message before running the site creator script again. If using a site collection app catalog, pass `-UseSiteCollectionAppCatalog` to both scripts. See [Deploy UCC Dashboard](/set-up-dialogue-cloud-neo/prerequisites/configure-sharepoint-sites/deploy-ucc-dashboard.md) for the full procedure.

</details>


---

# 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/create-ucc-site.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.
