Create Site Script for Organisation Library Template

How to create a site script which can be used in an Organisation Library template in a SharePoint Online tenant using a Power Automate flow.

URI

_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.CreateSiteScript(Title='Custom Site Script for Policies Library Template')

Headers

{
"Accept": "application/json;odata=verbose",
"Content-Type": "application/json;odata=verbose"
}

Body

{
"$schema": "https://developer.microsoft.com/json-schemas/sp/site-design-script-actions.schema.json",
"actions": [
{
"verb": "createSPList",
"listName": "Policies",
"templateType": 101,
"subactions": [
{
"verb": "setDescription",
"description": "Organisaton Policies Library Template"
},
{
"verb": "addSPView",
"name": "All Items",
"viewFields": [
"LinkTitle",
"ID"
],
"query": "",
"rowLimit": 30,
"isPaged": true,
"makeDefault": true,
"formatterJSON": "",
"replaceViewFields": true
}
]
}
],
"bindata": { },
"version": 1
}

Screenshot with example

Sample data
Site Address – https://contoso-admin.sharepoint.com (SharePoint Online Admin Centre URL)
Title – Custom Site Script for Policies Library Template
Site Script actions used: createSPList & addSPView

organisationlibrarytemplate_script

Copy/paste example

{"id":"5a5505ae-cabf-4f4e-89ca-4c3c13112e4f","brandColor":"#036C70","connectionReferences":{"shared_sharepointonline":{"connection":{"id":"/exp_sharedsharepointonline_e5efa"}}},"connectorDisplayName":"SharePoint","icon":"https://connectoricons-prod.azureedge.net/u/alexsp/sporelease/1.0.1682.3673/sharepointonline/icon.png","isTrigger":false,"operationName":"Send_an_HTTP_request_to_SharePoint","operationDefinition":{"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_sharepointonline","operationId":"HttpRequest","apiId":"/providers/Microsoft.PowerApps/apis/shared_sharepointonline"},"parameters":{"dataset":"@parameters('SPO_AdminCentre_Url (ubs_SPO_AdminCentre_Url)')","parameters/method":"POST","parameters/uri":"_api/Microsoft.SharePoint.Utilities.WebTemplateExtensions.SiteScriptUtility.CreateSiteScript(Title='Custom Site Script for Policies Library Template')","parameters/headers":{"Accept":"application/json;odata=verbose","Content-Type":"application/json;odata=verbose"},"parameters/body":"{\n\"$schema\": \"https://developer.microsoft.com/json-schemas/sp/site-design-script-actions.schema.json\",\n\"actions\": [\n{\n \"verb\": \"createSPList\",\n \"listName\": \"Policies\",\n \"templateType\": 101,\n \"subactions\": [\n {\n \"verb\": \"setDescription\",\n \"description\": \"Organisaton Policies Library Template\"\n },\n {\n \"verb\": \"addSPView\",\n \"name\": \"All Items\",\n \"viewFields\": [\n \"LinkTitle\",\n \"ID\"\n ],\n \"query\": \"\",\n \"rowLimit\": 30,\n \"isPaged\": true,\n \"makeDefault\": true,\n \"formatterJSON\": \"\",\n \"replaceViewFields\": true\n }\n ]\n}\n],\n\"bindata\": { },\n\"version\": 1\n}"},"authentication":{"type":"Raw","value":"@json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']))['$ConnectionKey']"}},"runAfter":{},"metadata":{"operationMetadataId":"a352b36e-bdad-4aa1-9154-f09286722f90"}}}

Resources

Site design and site script REST API

That’s it, Happy testing!

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.