Microsoft Flow – Provision your SharePoint Online sites without any code

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

Site Requests and Sites overview

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.A new site request was submitted approval dialog

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.

List of Site Templates in SharePoint

The details of each element of the template is specified in a 4th list, Site Elements

List of 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.



Categories:Flow, Microsoft Flow, Office 365

Tags: ,

6 replies

  1. Thanks for the post Pieter. Really looking to learn how would you implement something like this.


  2. 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.


Please leave a comment or feedback

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

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

%d bloggers like this: