A group of Microsoft Products and technologies used for sharing and managing content, knowledge, and applications.
Dear @Prathap Reddy Pidintla,
Thank you for providing such a clear breakdown of your requirements! Based on your scenarios, I have compiled Microsoft’s supported methodologies, configurations, and architectural limitations to help you decide on the best roadmap for your Tender management sites.
Because I am assisting you through the community forum, I don't have a live sandbox environment to physically test or run these scripts for your specific tenant. However, based on official Microsoft architecture guidelines, here is the complete information you need to move forward.
Scenario 1: Team Site Template
Implementing an organizational template at the site level is Microsoft's recommended path for your requirement.
- Is it possible? Yes. You can create a custom Team Site template that appears under the "From your organization" tab when users create a new site.
- Default vs. Custom Libraries: You can target both. The template can create folders inside the default "Documents" library or provision a brand-new custom document library populated with your 5 mandatory folders (
Awards,Clarification,Pricing,RFT Docs,Submission). - The Technology: This is achieved using Site Scripts (JSON) and Site Templates/Designs.
Please refer to this document: Get started creating SharePoint site templates and site scripts | Microsoft Learn
The recommended process
- Write the Site Script: Construct a JSON file using the
createSPListverb (settemplateTypeto101for a Document Library) and nestcreateSPFoldersubactions inside it to generate your folders. - Upload via PowerShell: Use the SharePoint Online Management Shell to register the script using
Add-SPOSiteScript. - Publish the Template: Tie that script to a template using
Add-SPOSiteDesignso it becomes visible to your users.
Please note:
- Action Limits: Scripts applied via the browser UI are limited to 300 total actions, while scripts invoked via the
Invoke-SPOSiteDesignPowerShell cmdlet are limited to 30 actions. Please refer information from techcommunity forum: Site Script Action Limit | Microsoft Community Hub - Complexity: Site scripts are intended for structural layout (lists, columns, content types). They cannot natively handle advanced configurations like unique folder-level permissions or complex metadata defaults.
Scenario 2: Document Library Template
If you are looking for a solution where a user clicks New > Document Library inside an existing site and gets pre-populated folders, this is not natively supported.
- The Limitation: While SharePoint Online allows you to publish custom library templates to sync columns and views across the tenant, Microsoft's template schema does not package or provision folders.
- Alternative Recommendations: If you must standardize at the library level rather than the site level, Microsoft recommends:
- Power Automate: Build a cloud flow triggered by the "When a new list or library is created" event. If the library matches your Tender criteria, the flow automatically creates the 5 required folders.
- PnP Provisioning: For IT-driven deployments, use PnP PowerShell templates, which easily handle complex folder hierarchies and security inheritances.
For detail, please refer to this document:
Site template JSON schema | Microsoft Learn
SharePoint site template and site script overview | Microsoft Learn
SharePoint site design - PnP PowerShell cmdlets | Microsoft Learn
To ensure global consistency across your Tender management space, Scenario 1 (Site Templates + Site Scripts) is your best approach. It provides a seamless, self-service experience for your users right at the moment of site creation.
Please try drafting your JSON web page script based on these instructions. If you encounter any deployment errors, script validation errors, or syntax difficulties when configuring in your environment, please respond with error logs and I will gladly help explain the issue or direct you to the support team for further assistance.
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have 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.