Have you noticed that the SharePoint connector in Microsoft Flow was extended with a number of action helping you to manage hub sites? Getting it all hooked up is easy with Microsoft Flow.

SharePoint hub site actions in Power Automate

There are now the following actions available:

  • Approve hub site join request
  • Cancel hub site join request
  • Join hub site
  • Set hub site join status to pending

It is a bit disappointing that there aren’t any triggers on the creation of a site in SharePoint. I could imagine that it would be nice to have a process that kicks off a hub site join process when a site is created. Having said that I could also simply extend my Provision your sites without any code a bit and make the process hookup the site created with the correct the hub site.

Before I start looking at the above actions I’ve first created two modern sites. One modern team site and one modern communication site.

  • Intranet
  • Extranet

Then I turned both of these sites into hub sites by following the Create a hub site in SharePoint Online article and I created a few test sites and I configured my hub site to have a navigation that includes the links to by sites.

Time to start playing with Flow. I created a simple flow that join a site to a hub site.

Join hub site

Huh, what is that GUID?

By running the Get-SPOHubSite Cmdlet you can get the GUID of your hub site.

Power Shell using Get-SPOHubSite

Ok, this is still a bit ugly and I really hope that the hub sites will be listed as available options within the Join hub site action soon

Join hub site triggered by Flow

But it all worked! and that is the most important thing of course. My IT site now shows up with the hub site navigation.

Hubsite created in SharePoint

Ok, there is more!

There are 3 actions related to approval of hub sites.

  • Approve hub site join request
  • Cancel hub site join request
  • Set hub site join status to pending

This is where the complicated stuff starts. Earlier we saw that it is easy to join a hub site, but what if you don’t have permissions to join that site.

I created a flow with my test user account. This user isn’t a manager of the hub sites. Somehow my test user managed to get the GUID for the hub site, but when flow tried to connect you will now see a Forbidden warning and the error details show

Access denied. You do not have permission to perform this action or access this resource.

Well this is clear enough. Personally I’m not sure why a user without permissions to a hub site would possibly want to add a site to a hub site, but I’m sure that over time there may be some use cases for that.

Join hub site reporting Forbidden

Time to try the Set hub site join status to pending

Set hub site join status to pending

The above action feels a bit strange. I’m requesting to join a hub site, but I’m not being asked what I would like to join. A bit like walking into a shop asking for a product but not know what product you would want to buy.

Set hub site join status to pending Forbidden message

This looks like the same error as earlier but it is not! You get this error when you try to join a hub site where you aren’t the site collection administrator. The next step is to create a new team site as my test user and run my flow again

Successful Set hub site join status to pending

Ok, this now worked. But what happened?

All the above action did was queuing the request

Now I can use the Approval system in flow to ensure that the request is actually approved or rejected. Note that this needs to be run by the owner of the hub site again.

Approve join request

What another GUID needed??

I used PnP PowerShell this time to get my site GUID.

Connect-PNPOnline https://pieterveenstramvp.sharepoint.com/sites/Client3

$site = Get-PnPSite

$ctx = Get-PnPContext

$ctx.Load($site)

$ctx.ExecuteQuery()

$site.Id

And now I’ve got my site Id and when I run my flow

Hub Site join approved

I now got my ApprovalToken which can be used in the Join hub site

Include a requesting Site Address

My Conclusions

It is great to see that hub sites can be joined using Flow. However I would be surprised to see if many organisations will be able to get this to work even after reading this post. The need to collect GUIDs for each site almost forces the need for a site request flow as described in my earlier mentioned post. Just so that the GUIDs can be collected as the sites are created. This makes it potentially complicated to use these new hub site related actions.

Having said all of that I can very much see the potential for these actions and with a little bit more work done to them it will be a lot easier to manage your hub sites using Flow.

By Pieter Veenstra

Business Applications and Office Apps & Services Microsoft MVP working as a Microsoft Productivity Principal Consultant at HybrIT Services. You can contact me using contact@veenstra.me.uk.

Leave a Reply

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

%d bloggers like this: