SharePoint : repasser une actualité en page avec Power Automate

Pour ce premier article, merci à Christophe l’idée part d’un problème très concret : la nécessité de modifier l’état promu d’une actualité SharePoint publiée par erreur.

TL;DR (résumé en 20 secondes)

  • Une “Actualité” SharePoint est une page avec un attribut interne : PromotedState
  • Normalement, PromotedState est en lecture seule dans l’UI : une news publiée ne “redescend” pas en page
  • Le contournement communautaire “Demote” via formatting de colonnes a cessé de fonctionner à partir de janvier à mars 2026
  • Solution alternative : un flow Power Automate, lançable depuis SharePoint, qui force PromotedState = 0 puis republie la page via HTTP SharePoint
  • Cette solution ne nécessite pas de licence Power Automate payante

Contexte : Pourquoi une actualité SharePoint ne redevient pas une page ?

Fonctionnement des actualités : L’état promu d’une page sharePoint

A la base, les pages d’actualités sont des pages SharePoint comme les autres, mais elles se distinguent par :

  • Un attribut “État promu” / PromotedState
  • une date de première publication (utile pour le tri dans la webpart “Actualités”).

L’état promu peut prendre les valeurs suivantes :

  • 0 : Page standard
  • 1 : Page d’actualité non publiée
  • 2 : page d’actualité publiée

La propriété « Etat Promu » est normalement en lecture seule : si vous avez par erreur publié une actualité, la dépublier ou en créer une copie maintiendra l’état promu à 2, et elle sera forcément republiée en actualité.

Mais ça, c’est « normalement ».

Le premier contournement… et pourquoi il ne suffit plus

Comme souvent, la communauté a fini par trouver un moyen de contourner cette règle, et une personne a généreusement proposé une solution basée sur le formatage avancé de colonnes, qui permet de « demote » une page d’actualité, en repassant son état promu à 0.

Un clic sur « … », un clic sur demote, republication de page, et le tour est joué.

Mais entre mi janvier et mars 2026, conséquence d’un bug, le clic sur Demote restait sans effet.

2 choix se présentaient donc :

  • Attendre la résolution du bug (mais la solution d’origine n’étant pas officielle, cela aurait pu prendre du temps). Sachant que le bug peut potentiellement se reproduire ultérieurement.
  • Trouver une alternative plus contrôlée

Vous vous doutez bien qu’aujourd’hui nous allons parler de l’alternative 🙂

L’alternative : un flow Power Automate lançable depuis SharePoint

La solution se présente sous la forme d’un flow PowerAutomate exécutable depuis votre site et qui mettra à jour la métadonnée « état promu » pour une page SharePoint choisie.

Pour être exécutable depuis SharePoint, le déclencheur du flux doit contenir l’URL du site et l’identifiant de la bibliothèque de pages du site, sans quoi il ne sera pas visible dans le menu « automatisation » de SharePoint. Nous allons donc utiliser quelques variables, pour que le flux soit assez facilement duplicable, pour le cas ou vos utilisateurs publient des news sur plusieurs sites.

1. Prérequis

Côté Power automate, pas de licence spécifique nécessaire, et côté DLP, seul le connecteur SharePoint est nécessaire. L’article étant déjà assez long, je ne vais pas entrer ici dans l’ensemble des bonnes pratiques Power Platform, notamment la création d’un compte de service et la limitation de son périmètre.

Les informations suivantes sont nécessaires :

Adresse du site sur lequel on veut pouvoir modifier les actualités

Vous pouvez directement la copier depuis votre navigateur

Identifiant de la bibliothèque « Pages du site »

Pour celui-ci, il faudra cliquer sur l’engrenage, se rendre sur « Contenu du site », puis cliquer sur les « … » à côté du lien vers la bibliothèque « Pages du site », tout en bas, et enfin sur « Paramètres ».

Vous pouvez à présent récupérer l’identifiant de la bibliothèque « Pages du site », depuis la barre d’adresse :

2. Création de la solution, de la référence, et des variables d’environnement

2.1. Solution et référence de connexion

Muni de ces informations, rendez-vous dans l’interface Power Platform et créez une solution, qui vous permettra d’utiliser certaines fonctionnalités, mais également d’exporter les composants si besoin de les livrer sur un environnement de production par la suite

Vous pouvez ensuite créer une référence de connexion, soit à une connexion existante, soit à une nouvelle connexion :

Il reste à créer 2 variables d’environnement :

2.2. Variables d’environnement

  • 1 variable contiendra l’adresse du site (le type « source de données » permet de le sélectionner dans une liste 🙂 )
  • L’autre, vous l’avez deviné, l’identifiant de la bibliothèque « Pages du site » : (copié depuis l’adresse du site)

Il est important que ces valeurs correspondent exactement à celles du site, sans quoi le flux ne sera pas accessible depuis la bibliothèque pages du site

Vous allez maintenant procéder à la création du flux.

3. Flux

3.1. Déclencheur

Tout d’abord le déclencheur : vous devez sélectionner le type « Pour un fichier Sélectionné« , et mettre comme paramètres les variables d’environnement créées précédemment.
Pour chacune d’elles, cliquez sur le champ et sélectionnez « Entrer une valeur personnalisée ». Et si l’éclair est presque invisible comme sur ma capture, tapez « / » dans la zone et sélectionnez « Insérer du contenu dynamique ». De même si vous ne voyez pas vos variables d’environnement sur la liste, cliquez sur « Afficher plus » (qui devient « Afficher moins »).

Enfin, si elle n’est pas déjà sélectionnée, n’oubliez pas de sélectionner la référence de connexion qu’on a créée quelques étapes auparavant.

3.2 Variables

Il faudra ensuite ajouter 2 variables dans lesquelles vous remettrez les variables d’environnement. Cela permettra de limiter les actions à réaliser quand vous voudrez dupliquer ce flux pour d’autres sites 🙂

3.3 Propriétés et condition

Une fois ces variables créées, ajoutez une action « Obtenir les propriétés du fichier », afin de récupérer la valeur de l’état promu de la page d’actualité, qui nous servira juste après, et n’est pas disponible dans les variables collectées par le déclencheur.

Attention, j'ai rencontré une erreur lors de la mise en place de ce flux :
la valeur ID du déclencheur était vide, et j'ai du prendre la variable Entity ID à la place.

Pour le reste, vous l’aurez compris, vous utiliserez les variables à partir de maintenant !

Vous pourrez ensuite créer une condition qui vérifiera si la valeur de l’état promu est à 2, et qui terminera le traitement avec le statut « annulé » sinon. La surveillance des exécution en sera simplifiée, et cela limitera les actions sur les pages qui ne sont pas des news publiées.

Si la condition est vérifiée (état promu à 2 pour ceux qui n’ont pas suivi dans le fond), vous pourrez procéder à la mise à jour de la page SharePoint d’une part, et à la republication de cette page de l’autre.

Les deux se font au moyen d’une action HTTP SharePoint.

3.4 Mise à jour de l’état promu de la page SharePoint

<strong>Adresse du site </strong>: Utiliser la variable
<strong>Méthode </strong>: POST
<strong>URI :</strong> _api/web/lists/getbytitle('Site Pages')/items(@{triggerBody()?['entity']['ID']})/ValidateUpdateListItem
<strong>Entêtes </strong>: 
Accept : application/json;odata=verbose
Content-Type :  application/json;odata=verbose
<strong>Corps </strong>: 
{
  "formValues": [
    {
      "FieldName": "PromotedState",
      "FieldValue": "0"
    }
  ]
}Langage du code : HTML, XML (xml)

Attention : respectez le contenu de chaque champ, les erreurs de syntaxe ne sont pas tolérées !
N’oubliez pas non plus de sélectionner la référence de connexion.

Vous pouvez également dans l’onglet paramètres définir le nombre de tentatives et le délai entre de tentatives, en cas d’erreur. Dans mon cas je retente une seule fois, au bout de 10 secondes.

3.5 Publication de la page

<strong>Adresse du site </strong>: Utiliser la variable
<strong>Méthode </strong>: POST
<strong>URI :</strong> _api/sitepages/pages(@{triggerBody()?['entity']['ID']})/PublishLangage du code : HTML, XML (xml)

Et voilà, votre flux est terminé, vous pouvez le publier !

Utilisation

Si tout c’est bien passé, rendez-vous dans votre bibliothèque pages du site, et sélectionnez une page. Le flux devrait apparaître dans les options d’automatisation proposées. Lors de la première exécution, la connexion à utiliser vous sera demandée, et les fois suivantes, vous pourrez cliquer directement sur « Exécuter le flux » : L’état promu de votre page SharePoint doit normalement être mise à jour et être republiée

Les plus observateurs d’entre vous auront noté que la date de première publication n’a pas été effacée. Cela n’a pas un grand impact car :

  • Cette métadonnée n’est pas utilisée pour les pages standard, elle ne sert qu’à trier les actualités dans les webparts d’actualités
  • Elle sera mise à jour si vous décidez de republier la page en tant qu’actualité

Réutilisation

Comme évoqué en début d’article, ce flux est lié à une bibliothèque. Pour pouvoir l’utiliser sur d’autres bibliothèques, il suffit de

  • Récupérer l’adresse et l’ID de bibliothèque du nouveau site (CF Prérequis)
  • Créer les nouvelles variables d’environnement (CF 2.2 Variables d’environnement)
  • Copier le flux initial en utilisant la fonctionnalité enregistrer sous (penser à l’ajouter à la solution et l’activer)
  • Remplacer les variables d’environnement dans le déclencheur et l’initialisation de variables du nouveau flux (CF 3.1 Déclencheur et 3.2 Variables)
  • Publier le nouveau flux

C’est tout !

Et si vous utilisez des environnements de développement / production séparés, la simple mise à jour des variables d’environnement et de la collection suffira pour l’importer dans un autre environnement. 🙂

Conclusion

Ce contournement ne remplace pas une fonctionnalité native, mais il résout un blocage éditorial courant en conservant un chemin “propre” (solution, variables d’environnement, réutilisation).

Bonus : bouton “Demote” dans la bibliothèque Pages du site

Merci à tous ceux et celles qui ont pu tenir jusqu’ici ! Pour vous remercier, je vous propose un bouton qui vous permettra de lancer le flux très simplement.

Pour cela, il suffit de :

Récupérer l’identificateur de flux dans Power Automate

Remplacer l’ID dans l’extrait de code suivant :

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "div",
  "children": [
    {
      "elmType": "button",
      "style": {
        "display": "=if(@currentField == 2, 'inline-block', 'none')",
        "background-color": "#025CA6",
        "color": "white",
        "padding": "8px 16px",
        "border-radius": "12px",
        "border": "1px solid #025CA6",
        "cursor": "pointer",
        "font-size": "14px",
        "font-weight": "600",
        "box-shadow": "0 2px 6px rgba(0,0,0,0.15)",
        "transition": "all 0.2s ease-in-out"
      },
      "hoverStyle": {
        "background-color": "#036CC4",
        "border-color": "#036CC4",
        "box-shadow": "0 4px 10px rgba(0,0,0,0.25)"
      },
      "txtContent": "🔀 Demote",
      "customRowAction": {
        "action": "executeFlow",
        "actionParams": "{\"id\":\"<strong><VOTRE_ID_DOIT_SE_TROUVER_ICI></strong>\",\"header\":{},\"body\":{}}"
      }
    },
    {
      "elmType": "span",
      "style": {
        "display": "=if(@currentField != 2, 'inline-block', 'none')",
        "color": "#444",
        "font-size": "14px"
      },
      "txtContent": "@currentField"
    }
  ]
}
Langage du code : JSON / JSON avec commentaires (json)

Vous rendre dans la bibliothèque pages du site, afficher la colonne état promu si ce n’est déjà fait, et modifiez sa mise en forme :

Cliquez ensuite sur « Avancé« , remplacez le code par celui fourni ci-dessus, avec l’ID de flux mis à jour, et cliquez enfin sur sauvegarder.

C’est fini, vous disposez maintenant d’un bouton qui ne s’affiche que pour les articles déjà publiés, et lance le flux de demote pour les repasser en page standard.

A bientôt sur ce blog !

Articles liés