Partager via


Comment créer des actions personnalisées dans Power Automate pour le bureau

Améliorez la productivité, la réutilisabilité et l’extensibilité avec des actions personnalisées dans Power Automate pour le bureau. Cet article explique comment les actions personnalisées dans Power Automate pour le bureau peuvent aider les créateurs à créer leurs propres actions réutilisables qui peuvent être utilisées dans plusieurs flux. Les créateurs créent des actions personnalisées en composant une séquence d’étapes ou de fonctions dans une nouvelle action. Les actions personnalisées sont créées à l’aide du SDK des actions Power Automate pour le bureau, qui fournit un ensemble d’API permettant aux créateurs de créer des actions personnalisées à l’aide du langage .NET C#. Les actions personnalisées peuvent également être partagées avec d’autres utilisateurs via la section des actions personnalisées dans Power Automate (make.powerautomate.com). Dans cet article, vous trouverez des procédures détaillées sur la façon de créer, générer, déployer, utiliser et mettre à jour des actions personnalisées.

Important

Bien que les fonctionnalités essentielles utilisées pour créer des actions personnalisées soient prises en charge, les solutions, les actifs et les exemples de scripts fournis mentionnés ici servent d’exemple d’implémentation de ces fonctionnalités et n’incluent pas de prise en charge.

Résumé

La capacité des actions personnalisées dans Power Automate pour le bureau vous permet de créer vos propres actions réutilisables qui peuvent être utilisées dans plusieurs flux de bureau. Les actions personnalisées vous font gagner du temps et des efforts en vous permettant de réutiliser des actions complexes ou fréquemment utilisées sans avoir à les recréer à chaque fois que vous créez un nouveau flux. Les créateurs peuvent appliquer leurs compétences et connaissances existantes pour créer des actions personnalisées qui s’intègrent à d’autres systèmes et services. De plus, les développeurs professionnels peuvent encapsuler les fonctions ou les bibliothèques de codes existantes pour créer une nouvelle action personnalisée qui se traduit par une réutilisation accrue des actifs de l’organisation.

Vous créez des actions personnalisées en composant une séquence de méthodes ou de fonctions dans une nouvelle action. Une fois que vous avez créé une action personnalisée, utilisez-la dans n’importe quel flux de bureau en la faisant glisser-déplacer dans le canevas du concepteur Power Automate pour le bureau.

Les actions personnalisées peuvent être partagées avec d’autres utilisateurs via la section des actions personnalisées dans Power Automate, qui fournit un référentiel central pour partager et découvrir des actions personnalisées. Cela signifie que les utilisateurs peuvent bénéficier de l’expertise et des connaissances des autres membres de l’organisation et peuvent facilement trouver et utiliser des actions personnalisées créées par d’autres créateurs.

Dans l’ensemble, les actions personnalisées dans Power Automate pour le bureau offrent un moyen efficace d’étendre la fonctionnalité du produit, de simplifier le processus de création de flux et de favoriser la collaboration et l’innovation au sein de l’organisation.

Conditions préalables

Créer votre propre action personnalisée

  1. Ouvrez Visual Studio pour créer un projet à l’aide du modèle de Bibliothèque de classes (.NET Framework). Capture d’écran de la boîte de dialogue Créer un projet C#.

  2. Configurez votre nouveau projet avec un nom de projet, un emplacement de fichier et définissez le Framework comme .NET Framework 4.7.2.

    Note

    Assurez-vous de suivre les conventions d’affectation de noms. Pour en savoir plus : Conventions de nom pour les modules personnalisés

    Capture d’écran des détails de la création de la bibliothèque de classes C#.

  3. Dans Visual Studio, sélectionnez Outils>Gestionnaire de packages NuGet>Console du gestionnaire de packages.

    Capture d’écran du gestionnaire de packages .NET.

  4. Ouvrez une fenêtre PowerShell et installez le package NuGet PowerAutomate.Desktop.Actions.SDK à l’aide de cette commande PowerShell.

    Find-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
    NuGet\Install-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
    
  5. Suivez les étapes dans Créer des actions personnalisées pour créer le fichier de classe pour votre action personnalisée.

Informations que vous pouvez utiliser comme référence pour votre action

Archive de la solution de référence : Solution du module .NET

Action : Écrire un message dans un fichier local.

Paramètres d’entrée : nom du fichier, message à écrire dans le fichier.

Paramètres de sortie : Code d’état – vrai en cas de réussite et faux en cas d’échec.

Définition de classe :

using System;
using System.IO;
using Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK;
using Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK.Attributes;

namespace ModulesLogEvent
{
    [Action(Id = "LogEventToFile" , Order = 1, Category = "Logging")]
    [Throws("LogEventError")]
    public class LogEventToFile : ActionBase
    { 
        [InputArgument]
        public string LogFileName { get; set; }

        [InputArgument]
        public string LogMessage { get; set; }

        [OutputArgument]
        public bool StatusCode { get; set; }
    
        public override void Execute(ActionContext context)
        {
            try
            {           
                    // To append all of the text to the file
                    File.AppendAllText(LogFileName, LogMessage);
                    StatusCode = true;  
            }
            catch (Exception e)
            {
                if (e is ActionException) throw;

                throw new ActionException("LogEventError", e.Message, e.InnerException);
            }
        }
    }
}

Resources

Ce tableau répertorie les descriptions et les noms conviviaux des paramètres dans un fichier. Resources.resx

Nom  Valeur Commentaire
LogEventToFile_Description Action personnalisée pour enregistrer le message dans le fichier fourni Description de l’action
LogEventToFile_FriendlyName LogEventToFile Nom de l’action
LogEventToFile_LogFileName_Description Paramètre d’entrée du type de texte Description de l’entrée de l’action
LogEventToFile_LogFileName_FriendlyName LogFileName Nom de l’entrée de l’action
LogEventToFile_LogMessage_Description Paramètre d’entrée du type de texte Description de l’entrée de l’action
LogEventToFile_LogMessage_FriendlyName LogMessage Nom de l’entrée de l’action
LogEventToFile_StatusCode_Description Paramètre de sortie de type booléen Description de la sortie de l’action
LogEventToFile_StatusCode_FriendlyName LogMessage Nom de la sortie de l’action
ModulesLogEvent_Description Module pour gérer les événements du journal Description du module
ModulesLogEvent_FriendlyName LogEvent Nom du module

Créer le package et déployer votre action personnalisée

Créez le package et déployez-le dans Power Automate.

  1. Acquérez le certificat numérique afin que le fichier DLL de l’action personnalisée puisse être signé.

    Important

    Les certificats auto-signés ne sont utilisés qu’à des fins de test et ne sont pas recommandés pour une utilisation en production. Pour le déploiement organisationnel d’actions personnalisées dans votre environnement, nous vous recommandons d’utiliser un certificat numérique approuvé qui respecte les directives de votre organisation.

    Astuce

    Pour simplifier le processus de développement et d’utilisation d’actions personnalisées pour Power Automate pour le bureau dans votre organisation, vous pouvez regrouper un certificat numérique approuvé avec le programme d’installation de Power Automate pour le bureau qui est distribué via SCCM/Appstore. > Cela permettra au certificat d’être installé automatiquement sur les machines d’exécution des fabricants et de unattended qui nécessitent Power Automate Bureau, sans aucune action supplémentaire nécessaire.

    Pour cet exemple, un certificat auto-signé est utilisé.

    1. Créez un certificat auto-signé en utilisant ce script.

      $certPFXFileName="C:\PADCustomAction\PADCustomActionCert.pfx";
      $certCERFileName="C:\PADCustomAction\PADCustomActionCert.cer";
      $certStoreLocation="Cert:\LocalMachine\AuthRoot";
      $certname = "PADCustomActionSelfSignCert"
      ##Create certificate
      $cert = New-SelfSignedCertificate -CertStoreLocation Cert:\CurrentUser\My -Type CodeSigningCert  -Subject "CN=$certname" -KeyExportPolicy Exportable -KeySpec Signature -KeyLength 2048 -KeyAlgorithm RSA -HashAlgorithm SHA256
      $mypwd = ConvertTo-SecureString -String <YOUR CERT PASSWORD GOES HERE> -Force -AsPlainText
      ##Export certificate
      $certPFXFile = Export-PfxCertificate -Cert $cert -FilePath $certPFXFileName -Password $mypwd
      $certCERFile = Export-Certificate -Cert $cert -FilePath $certCERFileName -Type CERT -Verbose -Force
      
    2. Importez le certificat dans le magasin de certificats en utilisant cette commande.

      ##Import certificate
      Import-Certificate -CertStoreLocation $certStoreLocation -FilePath $certCERFile
      
    3. Vérifiez que le certificat importé apparaît sous Autorités de certification racines de confiance>Certificats dans le composant logiciel enfichable Certificats Microsoft Console du gestionnaire de certificats (MMC).

  2. Finalisez le module personnalisé créé en signant le fichier DLL avec un certificat approuvé. Utilisez l’invite de commande du développeur de Visual Studio pour utiliser Signtool pour cette activité.

    Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/Modules.LogEvent.dll"
    
  3. Pour déployer l’action personnalisée, créez le contenu du package dans un fichier CAB (.cab) en utilisant ce script PowerShell.

    .\BuildCAB.ps1 "C:/PADActions/PADCustomActionEventLog" "C:/PADActions/PADCustomActionEventLog" PADCustomActionEventLog.cab
    

    Accédez au fichier de script d’exemple BuildCAB.ps1

  4. Signez le fichier CAB généré à l’aide de Signtool.

    Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/PADCustomActionEventLog.cab"
    
  5. Accédez à la section des actions personnalisées de Power Automate pour charger l’action personnalisée que vous avez créée. Fournissez le nom, la description et le fichier CAB, puis sélectionnez Charger.

    Capture d’écran de l’importation du package d’actions personnalisées (fichier CAB) dans le portail Power Automate

    Vous recevez une notification quand l’action est correctement chargée.

Après ces étapes, le module d’action personnalisée est mis en package dans un fichier CAB et signé avec un certificat approuvé. De plus, le fichier CAB de l’action personnalisée est chargé dans la bibliothèque d’actions personnalisées dans Power Automate.

Pour en savoir plus : Charger des actions personnalisées

Utiliser votre activité d’action personnalisée dans le flux de bureau avec Power Automate pour le bureau

  1. Créez un nouveau flux de bureau, puis sélectionnez la Bibliothèque d’actifs dans le concepteur.

    Capture d’écran de la navigation vers la bibliothèque d’actifs dans Power Automate pour le bureau

  2. Inspectez l’action personnalisée disponible dans la bibliothèque d’actifs. Notez l’action précédemment créée et chargée dans la section des actions personnalisées de Power Automate.

    Sélectionnez Ajouter pour ajouter cette action personnalisée à la section Actions du concepteur.

    Capture d’écran de l’ajout d’une action personnalisée à partir de la bibliothèque d’actifs

  3. Vérifiez que l’action personnalisée est ajoutée correctement. Recherchez-la dans la barre de recherche Actions dans le concepteur de Power Automate pour le bureau.

    Capture d’écran de la recherche d’une action personnalisée dans Power Automate pour le bureau

  4. Faites glisser l’action personnalisée ou double-cliquez dessus pour l’ajouter au flux du bureau.

  5. Fournissez les paramètres d’entrée et les étapes supplémentaires pour tester l’action personnalisée.

    Capture d’écran des paramètres d’entrée pour l’action personnalisée

    Exemple de flux de bureau utilisant l’action personnalisée.

    Capture d’écran de l’utilisation de l’action personnalisée dans le flux de bureau

  6. Testez le flux pour voir l’action personnalisée fonctionner en temps réel.

    Tester l’action personnalisée dans le flux de bureau

Note

Importez le certificat utilisé pour signer le fichier CAB sur la machine utilisée pour créer des flux de bureau avec des actions personnalisées et sur chacune des machines d’exécution qui exécuteront les flux de bureau.

Après ces étapes, une action personnalisée a été créée, le module a été mis en package dans un fichier CAB, signé avec un certificat approuvé, chargé dans la bibliothèque d’actions personnalisées dans Power Automate et un flux de bureau pour utiliser l’action personnalisée a été créé et testé pour une exécution réussie.

Mettre à jour et redéployer l’action personnalisée

Mettez à jour la fonctionnalité de l’action personnalisée pour refléter la capacité mise à jour en procédant comme suit.

  1. Mettez à jour le fichier de classe dans la solution Visual Studio avec une nouvelle fonctionnalité d’action. Pour en savoir plus : Solution de module .NET mise à jour

    Modifiez la signature du fichier de classe pour accepter un troisième paramètre d’entrée, comme indiqué.

    using System;
    using System.IO;
    using Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK;
    using Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK.Attributes;
    
    namespace ModulesLogEvent
    {
     [Action(Id = "LogEventToFile" , Order = 1, Category = "Logging")]
     [Throws("LogEventError")]
     public class LogEventToFile : ActionBase
     { 
         [InputArgument]
         public string LogFileName { get; set; }
    
         [InputArgument]
         public string LogMessage { get; set; }
    
         [InputArgument]
         public string LogLevel { get; set; }
    
         [OutputArgument]
         public bool StatusCode { get; set; }
    
         public override void Execute(ActionContext context)
         {
             try
             {
                     // To append all of the text to the file
                     File.AppendAllText(LogFileName, LogLevel + ": " + LogMessage);
                     StatusCode = true;
             }
             catch (Exception e)
             {
                 if (e is ActionException) throw;
    
                 throw new ActionException("LogEventError", e.Message, e.InnerException);
             }
         }
      }
    }
    
  2. Utilisez les étapes similaires décrites précédemment pour signer le fichier DLL, créer le fichier CAB, signer le fichier CAB et charger le fichier CAB dans la section des actions personnalisées dans Power Automate. Pour en savoir plus : Créer le package et déployer votre action personnalisée

    Note

    Avant de charger le fichier CAB de l’action personnalisée mise à jour, assurez-vous d’analyser l’impact de cette modification, car les flux de bureau avec cette action seront mis à jour avec de nouvelles capacités.

    Capture d’écran de la mise à jour de l’action personnalisée dans le portail Power Automate

  3. Mettez à jour le flux de bureau si nécessaire.

    Pour valider la capacité de mise à jour, nous avons ajouté un troisième paramètre d’entrée à l’action personnalisée. Notez que l’activité d’action personnalisée est marquée comme une erreur dans le concepteur et elle doit être mise à jour avec un nouveau paramètre d’entrée.

    Capture d’écran de la refactorisation du flux de bureau

    Capture d’écran de l’action personnalisée mise à jour avec des paramètres d’entrée supplémentaires

  4. Testez le flux pour voir l’action personnalisée mise à jour fonctionner en temps réel.

    Tester à nouveau l’action personnalisée mise à jour dans le flux de bureau

Dans cette section, vous avez mis à jour la fonctionnalité sous-jacente de l’action personnalisée, créé le package, déployé dans Power Automate, refactorisé le flux de bureau et validé la fonctionnalité en exécutant le flux de bureau avec les capacités mises à jour de l’action personnalisée dans Power Automate pour le bureau.