Home Blog

SharePoint Site Templates: Extend your SharePoint sites


SharePoint offers a flexible platform for collaboration and information management, and customizing SharePoint sites to meet specific organizational needs can significantly enhance productivity and user experience. In this article, we’ll explore how to create, edit, and implement custom SharePoint site templates using modern tools and practices.

Template Creation

Step 1: Creating a Base SharePoint Site

The journey to a custom SharePoint site template is easier by going through creation of a SharePoint site that serves as your template baseline. This site should be configured with the desired structure, content, settings, and components that you wish to replicate across future sites.

Step 2: Extracting the Template Code

Once your SharePoint site is configured, the next step is to extract the site template code. This is done using PowerShell with the help of the PnP PowerShell library, which is a powerful toolset that simplifies many SharePoint management tasks. The specific cmdlet used for this purpose is Get-PnPProvisioningTemplate. This cmdlet helps you to generate an XML or JSON provisioning template that captures the configuration of your site.

powershellCopy code# Connect to your SharePoint Online
Connect-PnPOnline -Url https://yourtenant.sharepoint.com/sites/yoursite -UseWebLogin

# Generate the provisioning template
Get-PnPProvisioningTemplate -Out "path/to/your/template.xml"

Edit the Template Easily

Step 3: Editing the Template

Modifying a SharePoint site template directly in XML or JSON format can be challenging and error-prone. To simplify this process, you can use a visual editor like Site Designer. This tool provides a user-friendly interface to visually design or edit your SharePoint site templates. You can paste the JSON code of your template into the tool and make changes through its graphical interface, which is less prone to errors and more intuitive than direct code edits.

Create the Template

Step 4: Creating the Site Template

After editing your template, the final step is to create a deployable SharePoint site template. This can be accomplished by following Microsoft’s guide on creating site designs and site scripts. Site designs allow you to apply a set of actions like creating lists or setting themes, which are defined in a JSON script.

  "$schema": "schema.json",
  "actions": [
      "verb": "applyTheme",
      "themeName": "Contoso Theme"
      "verb": "createSPList",
      "listName": "Project Documents",
      "templateType": 101
  "bindata": {},
  "version": 1

Extending Capabilities with Power Automate

Beyond static site features, SharePoint templates can be enhanced with automation using Power Automate. This allows for dynamic behaviors such as auto-archiving documents, sending notifications when new content is added, or even integrating with external APIs for enhanced data processing or workflow management.

Use Case 1: Automated Document Management

Scenario: Whenever a new project site is created, automatically set up a document library with custom metadata and start a flow that archives documents when they reach a certain age.

Solution: Configure a site design that includes a site script for creating a document library. Then, trigger a Power Automate flow to apply retention policies and archive old documents.

Use Case 2: Dynamic Onboarding Process

Scenario: On creation of a new department site, initiate an onboarding process where new team members receive personalized emails with resources and setup tasks are automatically tracked in a SharePoint list.

Solution: Use a site design to create a specific list to track onboarding tasks. A Power Automate flow can then be initiated to send out welcome emails to new team members and update the list as they complete each onboarding step.

Use Case 3: Real-time Data Integration

Scenario: For each new sales site, integrate real-time sales data from external CRM systems into a SharePoint list to keep track of client interactions and sales figures.

Solution: Implement a site design to create a sales data list. Set up a Power Automate flow to pull data periodically from the CRM system and populate the SharePoint list with the latest figures.

Example of code

Deployment and Reuse

Once created, these templates can be managed and deployed across your organization to ensure consistency and compliance in site creation. They can be used by thirdparty tool that provision sites for end user like AvePoint Cloud Governance.

AvePoint Cloud Governance is self-service user application that will allow you to define approval flow (or not) to create Teams, SharePoint, Guest users.

Through permission / purpose renewal, you guarantee that a workspace is still useful and that helps Microsoft 365 Copilot good deployment.


Custom SharePoint site templates are a powerful way to standardize site deployments, ensure compliance, and enhance productivity across your organization. By using tools like PowerShell, Site Designer (online), and Power Automate, you can create customized sites template that meet the unique needs of your organization.

🛡️ Sécurisez la Collaboration pour Microsoft 365 🛡️

  • Aujourd’hui le sujet est plus sensible avec l’arrivée de Copilot pour M365 en entreprise, qui se base sur les contenus dont vous avez accès pour générer du contenu, des documents.
  • Le sujet avait déjà son importance dans Microsoft 365, car avec les moteurs de recherches, vous pouvez déjà trouver ces informations (tapez “*” dans la barre de recherche sur www.microsoft365.com pour voir)

🚀Exemples de fuite de données ?

  • Avec un simple prompt dans Copilot, un utilisateur peut identifier les documents contenant des informations salariales contenus dans un OneDrive dont les droits d’accès sont incorrects.
  • Vous entendrez, dans votre entourage, que quelqu’un a mis la main sur la feuille de salaire d’un collègue ou de son chef, résultat de la mise en lumière très facile des informations avec Copilot.

Comment prévenir de ces fuites de données ?

  • Microsoft Purview permet de protéger, sécuriser l’information, ce n’est pas l’objet de l’article. Je vous liste ici les moyens de sécuriser les portes (revue des accès), avant de mettre un coffre fort sur une information (Microsoft Purview)
  • Engagez les employés, engagez la DSI, dans ce travail de revue des droits d’accès, que je suggère de faire tous les 3 mois.

Actions par les employés 👨‍💼👩‍💼

OneDrive ðŸ“‚

  • Onglet partagé par moi : Prenez l’habitude de nettoyer régulièrement les partages en cours. Cela garantit que seules les personnes appropriées ont accès à vos fichiers.

Teams ðŸ’¬

  • Mise à jour des accès : En tant que propriétaire, vérifiez les autorisations sur :
  • Équipes
  • Canaux privés
  • Canaux partagés

SharePoint ðŸŒ

  • Révisez les accès : Si vous avez partagé directement un document, assurez-vous que les autorisations sont à jour.
  • Nettoyez les contenus inutiles ðŸ—‘️ : Évitez les doublons dans OneNote et les fichiers. Un espace de travail propre est un espace sécurisé.

Actions par la DSI / Responsables délégués à la sécurité 🔒

  • Identifiez et vérifiez les données sensibles (Purview peut y aider) ðŸ” :
    • Numéros de carte bancaire (CB)
    • IBAN
    • Documents personnels
    • etc
  • Teams ðŸ’¼
    • Équipes publiques : Passez en revue les équipes publiques et assurez-vous qu’elles sont appropriées.
    • Équipes sans propriétaires : Corrigez les problèmes et demandez aux propriétaires de faire la revue.
    • Partages sensibles sur SharePoint : Identifiez et nettoyez.
  • Identifiez et nettoyez les partages ðŸ§¹ :
    • SharePoint, Teams, OneDrive :
      1. Partagés à tous (y compris les liens anonymes)
      2. Partagés avec un grand nombre de personnes
      3. Partagés avec des externes
  • Expiration des liens partagés â° : Assurez-vous que les liens partagés sont valides et expirez ceux qui ne sont plus nécessaires.

En suivant ces mesures, vous contribuez à la sécurité de vos données d’entreprise en réduisant les risques d’une fuite de donnée.

👉 Voyez-vous d’autres droits d’accès à revoir ?

Les éléments avec un drapeau sur le mindmap, indique qu’il est compliqué de faire ce type de revue sans outillage tierce. Découvrez comment AvePoint Insights peut vous aider à faire cette revue des droits d’accès

Protection et gouvernance pour la Power Platform


J’ai eu l’opportunité de pouvoir être conférencier à l’IAMCP (International Association of Microsoft Channel Partners) le 08 Juin 2023

Voici un résumé de la présentation et les slides sont en fin d’article. N’hésitez pas à donner votre avis dans les commentaires.

Quelques statistiques

La croissance des applications low-code dans les entreprises est exponentielle. Plusieurs cabinets prévoient une croissance des applications low code allant jusqu’à 500 millions d’ici fin 2023.

Il y aura 4 fois plus de makers que de développeurs.

Les plateformes low-code accélèrent le développement des projets informatiques entre 50% et 90% !

Mettre en place une démarche d’accompagnement des créateurs de ces automatisations / applications (qu’on appelle plus communément les makers / citizen developer) permet de digitaliser plus rapidement les processus des entreprises.

Comment les entreprises accompagnent leurs employés (makers) ?

Les entreprises mettent en place des COE (Centre d’Excellence, Center of Excellence, Center of Enablement) pour accompagner et cadrer leur stratégie du déploiement du Low Code et No Code en entreprise

Les enjeux autours de la protection pour les makers

Ils souhaitent pouvoir annuler une erreur de manipulation ou de suppression d’un Power Apps ou d’un Power Automate, d’un Power BI.

Une erreur de calcul dans un rapport ? Comment revenir sur la précédente version du Power BI ou d’un Power Automate ?

Les makers souhaitent “que ça fonctionne”, sauvegarder leur travail avant d’éditer peut être facilement oublié, ils souhaitent travailler dans un contexte protégé et sécurisé.

Enfin les environnements Teams et d’essais sont supprimés après une période d’inactivité. L’administrateur sera prévenu mais le risque existe.

Comment restaurer une Power Apps ou Power Automate via Microsoft 365 ?

Dans certains cas (la suppression par erreur), il faudra demander à un administrateur de restaurer via PowerShell ou via l’administration Power BI, dans une limite d’environment 20-28 jours.

A ce jour, il n’existe pas d’historique des versions d’un Power Automate

Que propose AvePoint pour la protection ?

Cloud Backup est la solution SAAS d’AvePoint protégeant Microsoft 365, Dynamics 365 et désormais la Power Platform.

Les enjeux autours de la gouvernance

  • Garder une plateforme nettoyée des applications tests ou inutiles (chaque application peut présenter un risque au niveau de la sécurité)
  • Les makers souhaitent une vue sur ce qui les intéressent (et non pas une vue sur des applications inutiles)
  • Les services informatiques souhaitent éviter les fuites d’informations (des emails qui se retrouvent sur Twitter ?)
  • Ils souhaitent ne pas dupliquer les initiatives s’il existe des outils groupes
  • Déployer la Power Platform dans un cadre

Quels critères de décisions pour appliquer une gouvernance de la Power Platform

Inspiré de Gartner je vous propose une matrice permettant d’appliquer une gouvernance selon la criticité d’une application.

Cette criticité est représentée par l’audience de l’application VS la complexité (technique ou selon la confidentialité des données).

Plus une application se retrouve en haut à droite dans ce cadrant, plus il faudra y accorder une attention particulière.

Par exemple :

Les applications / automatisations concernant la productivité individuelle de l’employé (ex: je sauvegarde chaque PJ d’email dans mon OneDrive) ne vont presque pas demander de gouvernance, ne serait-ce que de demander au maker s’il a toujours besoin de cette création.

Dans ce cas, considérez la suppression ou sa désactivation (on pense aux applications de tests ou devenues inutiles dans le temps) ?

Une application dans “l’orange” demandera une attention plus particulière de la part de l’équipe Centre d’Excellence Low Code. Cette équipe pourra demander (manuellement ou automatiquement) la raison de cette création, la population cible, les processus métiers couverts par cette application.

Ces types d’applications devraient être dans un environnement Power Platform dédié avec des DLP (Data Loss Prevention), permettant de cadrer les possibilités futures de l’application Power Platform. Idéalement, ne pas bloquer ces connecteurs mais simplement être prévenu afin de ne pas freiner les brillantes idées des makers mais tout en permettant un suivi par les équipe Centre d’Excellence Low Code des entreprises.

Enfin, une application tombant dans la catégorie “noir” devrait être par la suite reprise par la DSI pour garantir les bonnes pratiques de développement, le support adéquat (selon les SLA) associé de cette application.

Que propose AvePoint pour la gestion de la Power Platform ?

AvePoint propose la plateforme “Entrust for Power Platform” pour faciliter la gouvernance, administration, délégation des tâches d’administration de Power Platform.


  • Visibilité sur l’adoption (voir la liste des environnements et leurs DLP associées, des Power Apps, des Power Automate, des Power Bi, des connecteurs et leurs utilisations).
  • Réduire les risques de qualité : voir les applications orphelines (le propriétaire a quitté l’entreprise)
  • Demander le pourquoi d’une création à un maker, afin d’appliquer la bonne gouvernance (voir diagramme de décision ci-dessus)
  • Administrer facilement au quotidien (vérifier les permissions, configurer les droits d’accès rapidement pour plusieurs utilisateurs)
  • Automatiser des tâches manuelles (être prévenu de l’utilisation du connecteur Twitter ? etc)
  • Surveiller la bonne application des règles (des DLP, des groupes de sécurité)
  • Etre prévenu de l’utilisation d’un connecteur que vous avez défini dangereux, sans pour autant le bloquer coté administration des DLP Microsoft 365
  • Déplacer les Power Apps / Automate d’environnement à environnements, afin de par exemple nettoyer l’environnement par Défaut

Et le COE Starter Kit dans tout ça ?

Cela fera l’objet d’un prochain article

Dans les grandes lignes voici quelques différences :

  • Entrust permet nativement la gestion de multi tenant Microsoft 365
  • Entrust est rapide d’installation et se met à jour de manière autonome, requiert moins de maintenance
  • Entrust permet l’inventaire des Power BI
  • COE Starter kit permet l’inventaire des Virtual Agent
  • COE Starter kit est une démarche Open Source

La gouvernance et la protection permettent la satisfaction des utilisateurs et des DSI

Si on fait l’analogie avec un parking d’un centre commercial, les utilisateurs de la Power Platform seraient les conducteurs de voitures allant au centre commercial.

Sans règles, processus, opérations, assurances, les conducteurs et propriétaires des centres commerciaux seraient insatisfaits

Travailler au quotidien dans un environnement où l’utilisateur sait quelle application ouvrir selon son besoin, facilite la productivité.

Garantir le bon fonctionnement des applications grâce à une DSI qui arrive à suivre les initiatives terrains, contribuent au bon fonctionnement du système d’information


Limit who can create Microsoft Teams – Quick tutorial


For governance reason you need to configure who can create Office 365 Groups in Outlook, Teams or SharePoint Site ?

There are no out of the box way to disable in two click. For SharePoint Sites, it is possible to disable the creation by everybody from the SharePoint admin.

But why disabling Teams Creation for everybody ?

If not, you could end up with so many Teams without business context, way to know when to archive them and without knowing who is the main responsible for this workplace. Some companies want this to test out the product but once you want to ensure two groups doesn’t serve the same purpose : Office 365 Admin needs to block the creation authorization that every users have by default.

So below is a procedure for the Office 365 Admin, to restrict who can create Office 365 Groups.

This is a summary of this microsoft article

To go further, Chris Obrien has created a tutorial to allow users to request Office 365 Groups using SharePoint list and Flow

Tutorial objective

Limit who can create Office 365 Groups. Groups are created when you create a new TEAM / Planner / Outlook Group / SharePoint Site

Pre requisite

  • Global admin access
  • Office 365 Admin center access
  • PowerShell


For info, you will need to add users to a security group, to allow only certain people to add office 365 Groups

Step Detail
Install PowershellGet Install-Module -Name PowerShellGet -Force
Install or re install azureADPreview Uninstall-Module AzureADPreview

Install-Module -Name PowerShellGet -Force

Create security group, https://admin.microsoft.com/AdminPortal/Home#/groups

New > Security Group

Add inside the group who can create office 365 Groups Filter security groups only

Click the group, click edit

  Import-Module AzureADPreview


Run those commands


If you get an error in last command, ignore it

Get-AzureADGroup -SearchString “Office 365 Groups Admins”

$Template = Get-AzureADDirectorySettingTemplate | where {$_.DisplayName -eq ‘Group.Unified’}

$Setting = $Template.CreateDirectorySetting()

New-AzureADDirectorySetting -DirectorySetting $Setting

  $Setting = Get-AzureADDirectorySetting -Id (Get-AzureADDirectorySetting | where -Property DisplayName -Value “Group.Unified” -EQ).id
  $Setting[“GroupCreationAllowedGroupId”] = (Get-AzureADGroup -SearchString “Office 365 Groups Admins”).objectid

Set-AzureADDirectorySetting -Id (Get-AzureADDirectorySetting | where -Property DisplayName -Value “Group.Unified” -EQ).id -DirectorySetting $Setting

Verify that your group can create Office 365 Groups

It shows the id of your group

If you want to cancel this configuration, run this command $SettingId = Get-AzureADDirectorySetting -All $True | where-object {$_.DisplayName -eq “Group.Unified”}

Remove-AzureADDirectorySetting –Id $SettingId.Id

Verify by trying to create a team or planner, with a non admin account

Wrap up

Disabling Teams Creation for everybody is the pre-requisite for Digital Workplace Team to implement a request system for Teams, Office 365 Groups.

SharePoint List and Microsoft List 💥 Form 💥 Formatting


This is a summary of the GitHub repository to format Microsoft List Forms in SharePoint Online or to format Microsoft List in Microsoft Teams.

This is the list as per 18/03/2023. I’ll update it regularly.

Getting started with : wrapped-body


Wrapped Form Body

By default, uncustomized list forms display the fields in a single column. This is generally fine, but sometimes you may want to use more horizontal space and have your fields wrap. This is not technically a format but rather a body layout. No columns or sections are specified meaning that this can be applied to any form and it won’t change the order of display or what columns are visible it simply adds the wrapping.

screenshot of the sample

Wave header and footer

This sample demonstrates how to display waves in the header and footer of a form. Waves are displayed using SVG.

screenshot of the sample

Status Header and Footer

This sample shows a customized header and footer for a form with a Status column with possible values ‘Thinking about it’, ‘Working on it’, ‘Done’, and ‘Nevermind’.

This format is intended for the Header Format and Footer Format of the form body in the Configure Layout panel. Depending on the value of the Status column, a corresponding icon and colour scheme are used.

This sample shows a customized header and footer for a form with a Status column with possible values ‘Thinking about it’, ‘Working on it’, ‘Done’, and ‘Nevermind’.

This format is intended for the Header Format and Footer Format of the form body in the Configure Layout panel. Depending on the value of the Status column, a corresponding icon and colour scheme are used.

screenshot of the sample

Ribbon Header

This sample demonstrates displaying a ribbon in the header. The values of the Title column are displayed in the ribbon.

screenshot of the sample

Event Itinerary Header

This sample shows a customized header for the item form used in the “Event itinerary” list template.

screenshot of the sample

This format is intended for the Header Format of the form body in the Configure Layout panel. The body layout shown in the screenshot can be obtained by configuring sections within the Body panel (not included in this format).

Dashed Line Header

This sample displays the Title and Description values in the heading and decorates them with dashed lines. If the Description value is empty, it will be hidden.


Blank header


Configure EDGE to support your intranet


You’ve deployed an Intranet and you wish to support the promotion to the end user : the web browser is THE entry point for that. Assuming your company uses EDGE, let’s see which configurations you can push to end users by GPO or Intune.

What you can configure via GPO for Edge

  • 1 : Show / Hide the Home button, and configure the link behind
  • 2 : Add up to 3 Shortcut, including your intranet
  • 3 : Enable or Disable Microsoft News

I guess Intune can also be used to configure EDGE for every users

How to configure Edge Home button via GPO

Configure the link behind the home icon


🇬🇧 Activate the GPO : Show Home button on toolbar (description)

🇫🇷 Activer la gpo : Afficher le bouton Accueil sur la barre d’outils


🇬🇧 Disable the GPO : Set the new tab page as the home page (description)

🇫🇷 Désactiver la GPO : Définir la page Nouvel onglet comme page d’accueil


🇬🇧 Activate and configure the GPO : Configure the home page URL , configure the link to the intranet !

🇫🇷 Activer et configurer la GPO : Configurer l’URL de la page d’accueil, définir l’adresse de votre intranet

How to configure Edge icons on the personalized page via GPO

Configure pinned apps on edge

🇬🇧 Activate the GPO : Set new tab page quick links (description)

🇫🇷 Activer la GPO : Définir les liens rapides du nouvel onglet

Configure the value as following, set pinned to true to avoid user to remove the link. You can configure up to three links

One Link :

[{"url":"https://intranetLink.com","title":"Intranet Name","pinned":true}]

3 links :

[{"url":"https://intranetLink1.com","title":"Intranet Name","pinned":true}, {"url":"https://intranetLink2.com","title":"Intranet2 Name","pinned":true}, {"url":"https://intranetLink3.com","title":"Intranet3 Name","pinned":true} ] 

How to disable Edge News on the personalized page via GPO

How to disable Microsoft News in Edge ?

🇬🇧 Disable the GPO : Allow web content on New Tab page (description)

🇫🇷 Désactiver la GPO : Autoriser le contenu de Microsoft News sur la page nouvel onglet

Wrap up

We have seen how to configure Edge to support your Intranet Promotion. Thank to my colleague Yves for his input 🙂

Model Driven ou Canvas Apps ?


Suite à la conférence Modern Workplace Conference 2021 à Paris, voici le support de présentation de ma session où je vous éclaire sur le choix des Canvas Apps ou Model Driven Apps.

Tout d’abord regardons les licences nécessaires puis les usages / fonctionnalités de chaque application

J’espère que cette comparaison entre les Model Driven et Canvas apps vous permettra de choisir la bonne technologie.

Sachez que depuis 2021 il est possible d’ajouter une CANVAS Apps dans une model driven sur toute la page

SharePoint Online Connected Webpart – Dynamic Filtering



Back in SharePoint On Premise it was possible by programming to connect two webpart that will refresh depending on the other one.

What is it ?

The feature is out of the box since July 2020 for SharePoint Online. It allows to build a more user friendly page than showing plain list. You can dynamically show data based on an other list

It can filter with Title column, lookup column, managed metadata column.

You can also use it for a file viewing experience

Sample L. Rogers : https://wonderlaura.com/2021/10/22/connect-modern-sharepoint-web-parts/


The column must be displayed inside the view to function

Learn more how to set it up and other use cases

Power Automate Meeting Reminder


Problématique :

Je rate parfois les rappels d’une réunion Teams. Notification perdue parmi toutes les notifications Windows.

Solution :

Un automatisme Power Automate qui m’envoie un message dans Teams 5min avant une réunion. Cela permet, de mon téléphone ou PC, de voir le rappel sans avoir Outlook ouvert.

Je suis notifié avant une réunion

Recette :

  1. Un Power Automate qui se déclenche toutes les 5 minutes
  2. Il récupère les meeting de ma journée
  3. Compare l’heure actuelle à l’heure de début de chaque réunion
    • Si l’heure de début est dans moins de 5min, alors envoie de message via Teams à l’utilisateur

Télécharger la solution

Télécharger la recette Power Automate

Comment l’installer ?

  • Aller sur Power Automate (via www.office.com)
  • Importer le Power Automate (importer le zip précédemment téléchargé)
  • Éditer le Power automate et configurer votre Email

Vérifier que votre calendrier est sélectionné :

  • Sauvegarder
  • Activer le power automate

C’est tout bon !

Laissez vos suggestions dans les commentaires pour améliorer le Power automate !

Qu’en pensez-vous ?

SharePoint mobile application shows outdated navigation links



You’ve configured a hub site with global navigation and the home site


In the SharePoint mobile application, the navigation links shows outdated navigation links

How to resolve ?

To solve this issue, edit and remove the links in the classic quick link navigation of the SharePoint Home Site