Is there a need to give end-users the power to create a team/communication site on SharePoint? Keep everything under control with PowerApps and Flow. In this blog, I will work out a simple example, feel free to make this even more challenging by trying the extras that will be at the bottom of the page.

In order to work out this example, we need 3 technologies:
– PowerApps (as the central entry point for the variable data)
– Flow (creating the site + securing a widget growth of sites)
– SharePoint (site creation)


Go to and log in with your account. Then choose the option “Canvas App from Blank”. We choose this option because we are not going to use any data sources in this solution. Also, we will only use one page, with only a few elements. Automatically generating 3 pages would be a waste of time.

In PowerApps we make a simple PowerApp with a title, 3 labels, and 3 TextInputs. These will then give the end-users the possibility to enter the variables to feed the Flow.

Little tip:
Change the property “Mode” to MultiLine. This allows end-users to enter the description of the site easily and conveniently.


Before we can finish the PowerApp, we first have to assemble our Flow. To do this we go to Here we choose “Instant – from blank”, then we select the PowerApps trigger.

The steps

In the first step of our flow, we will start an approval. This approval will allow us to get an overview of the requests to create a site in SharePoint. The approval will warn us if the end-user wants to create a site. Then we can give our consent if the site can be created, or not. Approval also gives us the opportunity to give comments to the end-user, informing him why we don’t want to create the site.

The next step will be waiting for our answer. Since our response can be positive or negative, we’re going to put our response in a condition.

If we accept/refuse the request, we can keep the end-user informed by email.

As the last step in our flow, we are going to create a site. This is possible if you enter the parameters as shown in the image below.


Last but not least, we’ll stop one more action behind our button. We go to the “OnSelect” property of the button. Here we will feed our flow with the input fields of our PowerApp.

Once we have selected our flow in PowerApps, we can supplement it with our input fields. The fields that flow needs are the following:

  • ApproverToEmail: “”
  • ResultFollowUpToEmail: User().Email => This formula will put in the email of the user who is signed in
  • Startanapproval_Title: TextInputSite.Text
  • Startanapproval_Details: TextInputDescription.Text
  • CreateSite_Body: TextInputAlias.Text

The end

I hope this blog was helpful to you. The extra “challenges” I mentioned in the beginning I will list below:

  • A challenge can be to make PowerApp visually more attractive.
  • In addition, you can also look to do extra things with Flow. For example: expand the mail with extra information, add extra things to the SharePoint site via Flow (Document Libraries, Folders,…). There will certainly be posts about this on this blog.

Thanks for reading this blog, see you at the next post!