Creating custom list templates

As a SharePoint Administrator and above in Microsoft 365, you can provide custom list templates for users in your organization. When users create new lists, they can select from these templates alongside the built-in templates from Microsoft. This feature enables your organization to create repeatable list solutions (in SharePoint, Teams, and within the Lists app itself).

Custom list templates are only available in targeted release.

You can create and manage custom list templates using Microsoft PowerShell:

Note If you installed a previous version of the SharePoint Online Management Shell, go to Add or remove programs and uninstall "SharePoint Online Management Shell."

Add a custom template

Follow these steps to create a custom list template.

    Run the following command to extract the site script output from an existing list and write it to a variable:

$extracted = Get-SPOSiteScriptFromList -ListUrl "https://contoso.sharepoint.com/sites/strategy/customer-contacts" 
Add-SPOSiteScript -Title "Contoso Customer Tracker" -Description "This creates a customer contact list" -Content $extracted 
Add-SPOListDesign -Title "Contoso customer tracking" -Description "Tracks key customer data in a list" -SiteScripts "" -ListColor Orange -ListIcon BullseyeTarget -Thumbnail "https://contoso.sharepoint.com/SiteAssets/site-thumbnail.png" 

When users in your organization create a list (in SharePoint, Teams, or the Lists app), they see the template on the "From your organization" tab.

The Create a list dialog box." />

List templates can't be updated after you add them. Instead, remove the existing template and add the updated version.

Scope the permissions to a custom template

By default, the custom list template is available to everyone in your organization. If you want, you can limit access to specific users or a security group. The following example shows how to grant an individual user view rights to a template.

Grant-SPOSiteDesignRights -Identity -Principals "nestorw@contoso.onmicrosoft.com" -Rights View 

Get templates

The following example retrieves all custom list templates.

Get-SPOListDesign

Remove a custom template

The following example shows how to remove a custom list template so that it's no longer available to users when they create lists.

Remove-SPOListDesign

You can also remove the associated site scripts that the list design is referencing using:

Remove-SPOSiteScript