How many times have you had a need to provision sites? Project sites, Teams sites and whatever kind of other sites. So many times I hear people say that Microsoft Flow is only there for small processes.
To implement a provisioning process you will most likely have created a site requests list, where users can add a list item and then a web service kicks in and handles these site requests and sites get provisioned like magic.
Recently I created a solutions where my aim was to :
- To provision sites without any code, or if needed as little as possible
- Have an option to manage my site templates
- Update sites using the template as templates change
I started by creating a few SharePoint lists in my modern team site that I use to manage my provisioning process.
- Site Requests – this is where users can provide the details of a site request
- Sites – this list displays contains the active sites
- Site Templates – this list contains the details for each type of site
With the column formatting options in the modern look-and-feel you can even make these lists look great within no time.
Then as site requests are added to the Site Request list an approval flow is started within Microsoft Flow and on approval the site is provisioned according to the definition in the template site. I had a use some HTTP requests to add lists and web parts to the sites. But that was possible using Microsoft Flow’s Send an HTTP request to SharePoint.
In my case the Team Sites that were created were close to the out of the box team sites and only a few additional lists needed to be added to the standard template.
The details of each element of the template is specified in a 4th list, Site Elements
This is where each additional element (compared to the out of the box site site), can be specified. I’m using list item attachments when I want to upload files to SharePoint and the details field to specify the details of lists, web parts and any other elements. To make it easy for myself I’m using the data in the same format as I would need in the REST API calls that the Flow process will need to make.
Are you interested in using the above process in your environment? Then please leave a comment below and then we can work together to implement a similar process as the above in your organisation.
Thanks for the post Pieter. Really looking to learn how would you implement something like this.
In my post I’ve given a few starting points. Once you know what you exactly need, I would start by setting up the data layer (lists etc). Then think about how you want users to create requests. This could even be done by an app in PowerApps.
Then after that it’s a matter of configuring the flow that is triggered by the request list. This flow will need to create the elements as specified within the Templates list. I could even imagine creating a system where I would use PnP PowerShell in an Azure function to do all the hard work for the site creation and template application.
The first part is clear. For me the tricky one comes when you need to implement the azure functions: “This flow will need to create the elements as specified within the Templates list. I could even imagine creating a system where I would use PnP PowerShell in an Azure function to do all the hard work for the site creation and template application”.
No experience in that field.
Which part of the world do you live? I can try and see if I can find a local Flow expert for you to help you setup something like this. With Flow the initial work can be tricky. I’m happy to get you in touch with a local expert.
Bogota, Colombia, South America, Pieter. Thnx
You could try Fausti
https://faustocapellan.com/about/