A group of Microsoft Products and technologies used for sharing and managing content, knowledge, and applications.
Dear @Daniel Kaliel,
Thank you for posting your question in the Microsoft Q&A forum.
I understand how important it is for you to make your custom SharePoint template available in the From your organization section so that your admins can apply it.
I would like to clarify that the XML file you generated is a PnP Provisioning template. This format is not what SharePoint displays in the From your organization gallery. That gallery only surfaces modern SharePoint site templates, previously known as site designs, which are created from site scripts in JSON format and registered at the tenant level. Because of this, the PnP XML cannot be uploaded directly into that interface.
The From your organization tab is powered entirely by the site templates and site scripts that you publish to the tenant. These are created and managed through SharePoint Online PowerShell using commands such as Add-SPOSiteScript and Add-SPOSiteDesign. The PnP provisioning engine is separate and does not automatically integrate with that gallery.
To make your template appear in the From your organization tab, you can follow the process below:
Publish the template as a tenant site template:
This method converts the site into a site script (JSON) and registers it so it is visible in the gallery.
- Step 1: Extract a site script from your existing site
Open SharePoint Online Management Shell.
Connect to your tenant:
Connect-SPOService -Url https://<tenant>-admin.sharepoint.com
Extract the JSON script from the site you used as your template:
$extracted = Get-SPOSiteScriptFromWeb -WebUrl "https://<tenant>.sharepoint.com/sites/YourTemplateSite"
-IncludeBranding `
-IncludeTheme `
-IncludeRegionalSettings `
-IncludeSiteExternalSharingCapability `
-IncludeLinksToExportedItems `
-IncludedLists ("Site Pages", "Shared Documents")
This produces the JSON content that SharePoint can use as a site script.
- Step 2: Upload the site script to the tenant
Register the extracted JSON as a site script:
$script = Add-SPOSiteScript -Title "Contoso Project Site Script" -Content $extracted
This makes the script available for reuse across your tenant.
- Step 3: Create the site template
Create the site template and link it to the site script:
$design = Add-SPOSiteDesign -Title "Contoso Project Site" -WebTemplate "64" `
-SiteScripts $script.Id `
-Description "Standard project site with lists, theme, and settings" `
-ThumbnailUrl https://<tenant>.sharepoint.com/sites/assets/project.png
Note: Use "64" for Team sites and "68" for Communication sites.
This step publishes the template so it becomes visible under Settings > Apply a site template > From your organization on eligible sites.
- Step 4: (Optional) Limit who can view the template
If you want only certain admins or groups to see the template:
Grant-SPOSiteDesignRights -Identity $design.Id -Principals "******@contoso.com" -Rights View
This allows you to control access to the new template.
Additional information is available in the following resources:
SharePoint site template and site script overview | Microsoft Learn
Apply and customize SharePoint site templates - Microsoft Support
SharePoint site design - PowerShell cmdlets | Microsoft Learn
Introducing the PnP provisioning engine | Microsoft Learn
Get-SPOSiteScriptFromWeb (Microsoft.Online.SharePoint.PowerShell) | Microsoft Learn
Add-SPOSiteScript (Microsoft.Online.SharePoint.PowerShell) | Microsoft Learn
Add-SPOSiteDesign (Microsoft.Online.SharePoint.PowerShell) | Microsoft Learn
Grant-SPOSiteDesignRights (Microsoft.Online.SharePoint.PowerShell) | Microsoft Learn
As community moderators, we kindly ask for your understanding that our access to internal development details is limited. We also don't have the ability to provide direct remote support. Our primary role is to guide users toward the appropriate resources and support channels. While we may not have visibility into performing deeper backend analysis, we’ll continue doing our best to support you within the scope of our responsibilities.
I hope this information is helpful. If you have any questions or need further support, please don’t hesitate to reach out at any time.
Thank you for your patience and understanding.
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have any extra questions about this answer, please click "Comment".
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.