Applying PnP Templates to SharePoint Sites
In this page, you can find detailed information about how to manually provision a look book template on your tenant.
You can also follow these steps by watching this video on the Microsoft 365 Platform Community (PnP) YouTube Channel:
Software prerequisites
In order to provision the look book templates, you need to have the following software tools installed on your machine:
Once the above tools are installed, you can proceed with the following sections.
Note
The PnP Provisioning Framework & PnP Provisioning Engine are open-source solutions with active community providing support for it. There is no SLA for the open-source tool support from Microsoft.
Available templates
The look book templates are based on the PnP Provisioning engine. As such, every single template is a .pnp
(pnp stands for Patterns & Practices) file, which is nothing more than an OpenXML file that includes all the needed content to deploy the template.
Here follows a table where you can find the list of all the look book templates, a link do download the corresponding .pnp
template file, the configuration parameters, and the prerequisites.
Category | Template | Site Type | Parameters | Prerequisites |
---|---|---|---|---|
Organization | Leadership Connection | Communication Site |
|
SharePoint Online Admin |
The Perspective | Communication Site |
|
SharePoint Online Admin | |
Crisis Communications | Communication Site |
|
SharePoint Online Admin | |
News site | Communication Site |
|
SharePoint Online Admin | |
The Landing | Communication Site |
|
SharePoint Online Admin | |
Benefits | Communication Site |
|
SharePoint Online Admin | |
LGBTQ+ Employee Resource Group | Communication Site |
|
SharePoint Online Admin | |
Hispanic Heritage Month Employee Resource Group | Communication Site |
|
SharePoint Online Admin | |
Department | Retail Operations | Communication Site |
|
SharePoint Online Admin |
Fly Safe Conference | Communication Site |
|
SharePoint Online Admin | |
Global sales hub | Communication Site |
|
SharePoint Online Admin | |
Workshop training site | Communication Site |
|
SharePoint Online Admin | |
Global marketing hub | Communication Site |
|
SharePoint Online Admin | |
Human resources hub | Communication Site |
|
SharePoint Online Admin | |
Team | Collaboration team site | Modern Team Site |
|
SharePoint Online Admin |
Team communication site | Communication Site |
|
SharePoint Online Admin | |
Mark8 Project Team | Communication Site |
|
SharePoint Online Admin | |
Product Support | Communication Site |
|
SharePoint Online Admin | |
Community | Branding Site | Communication Site |
|
SharePoint Online Admin |
Charitable site | Communication Site |
|
SharePoint Online Admin | |
Solutions | Microsoft 365 learning pathways | Communication Site |
|
SharePoint Online Admin, App Catalog |
New employee departmental onboarding site | Communication Site |
|
SharePoint Online Admin | |
Workplace Transformation site | Communication Site |
|
SharePoint Online Admin | |
New employee pre-onboarding site | Communication Site |
|
SharePoint Online Admin | |
New employee corporate onboarding site | Communication Site |
|
SharePoint Online Admin | |
Microsoft 365 freelance communications site | Communication Site |
|
SharePoint Online Admin | |
SharePoint Success Site | Communication Site |
|
SharePoint Online Admin, App Catalog | |
Schools | School home page | Communication Site |
|
Regular user |
Staff home page | Team Site |
|
Regular user | |
Class home page | Team Site |
|
Regular user |
Here follows a brief guidance about the parameters:
- SiteTitle: is the title that is provisioned on the target site.
- SiteUrl: is the server-relative URL of the site provisioned by the template. It can be something like: /sites/name-of-the-site.
- RetailOperationsSiteTitle: is the title of the Communication Site provisioned on the target tenant for the Global Sales Hub template.
- RetailOperationsSiteUrl: is the server-relative URL of the Retail Operations Communication Site provisioned by the template Global Sales Hub. It can be something like: /sites/name-of-the-site.
- ConsumerRetailSiteTitle: is the title of the Retail Operations Communication Site provisioned on the target tenant for the Global Sales Hub template.
- ConsumerRetailSiteUrl: is the server-relative URL of the Consumer Retail Communication Site provisioned by the template Global Sales Hub. It can be something like: /sites/name-of-the-site.
- CommunicationSiteTitle: is the title of the Consumer Retail Communication Site provisioned on the target tenant for the Global Marketing Hub template.
- CommunicationSiteUrl: is the server-relative URL of the Communication Site provisioned by the template Global Marketing Hub. It can be something like: /sites/name-of-the-site.
- BenefitsSiteTitle: is the title of the Communication Site provisioned by the Human Resources Hub template.
- BenefitsSiteUrl: is the server-relative URL of the Communication Site provisioned by the Human Resources Hub template. It can be something like: /sites/name-of-the-site.
Here follows a brief guidance about the meaning of the prerequisites:
- SharePoint Online Admin: you need to execute the provisioning using a user who is member of the SharePoint Online Administrators group.
- App Catalog: you need to have a fully functional tenant-wide App Catalog in your target tenant, and you need to execute the provisioning using a user who has admin access to the App Catalog site.
- Regular user: you can execute the provisioning with a regular user of SharePoint Online.
Note: If you don't have the App Catalog configured in your tenant, and the template that you are willing to provision requires the App Catalog, you can follow the instructions provided in this online document.
Provisioning a template
In order to execute the actual provisioning, you need to execute a PowerShell cmdlet provided by the PnP PowerShell extensions.
Provisioning templates that require a SharePoint Online Admin
Download the .PNP
template file that you want to provision, save it in a local folder, and run the following PowerShell command:
Connect-PnPOnline https://<tenant>.sharepoint.com/sites/<URL-of-your-target-site> -Interactive
Invoke-PnPTenantTemplate -Path .\your-template-file.pnp -Parameters @{"SiteTitle"="<Title-of-your-target-site>";"SiteUrl"="/sites/<URL-of-your-target-site>"}
Replace <tenant> with the actual name of your SharePoint Online tenant in Microsoft 365. Remember to provide a value for all the parameters declared in the above table.
Important: The very first time that you will connect to your target environment using the
Connect-PnPOnline
command let, you will have to grant a set of permissions to the PnP Management Shell application.
Provisioning templates that require a Regular User
Download the .PNP
template file that you want to provision, save it in a local folder, and run the following PowerShell command:
Connect-PnPOnline https://<tenant>.sharepoint.com/sites/<URL-of-your-target-site> -Interactive
Invoke-PnPSiteTemplate -Path .\your-template-file.pnp -Parameters @{"SiteTitle"="<Title-of-your-target-site>";"SiteUrl"="/sites/<URL-of-your-target-site>"}
Replace <tenant> with the actual name of your SharePoint Online tenant in Microsoft 365. Remember to provide a value for all the parameters declared in the above table.
Example script for applying Learning Pathways solution
This is how the PowerShell script would look for applying the Learning Pathways solution, which only has the SiteUrl
parameter and the pnp file for the Learning Pathways is located in the c:\temp folder and you want to target to a previously created site with URL of /sites/M365LP.
Connect-PnPOnline https://<tenant>.sharepoint.com/sites/<URL-of-your-target-site>
Invoke-PnPSiteTemplate -Path c:\temp\M365LP.pnp -Parameters @{"SiteUrl"="/sites/M365LP"}
Next Steps
Now that the look book template is provisioned on your tenant, feel free to browse to the site URL that you selected and play with the new site.
If there's any issue, don't hesitate to file an issue in the PnP Provisioning Service repository on GitHub.