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
- La version la plus récente de Power Automate pour le bureau – Installer Power Automate
- Outil de création C# tel que Visual Studio Community/Professional/Enterprise 2022 avec la charge de travail de développement .NET Desktop
- Actions personnalisées SDK – NuGet Galerie | Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
- Certificat numérique :
- Générez un certificat auto-signé – Vue d’ensemble de la génération de certificats auto-signés – .NET
- Déploiement en entreprise – Certificat approuvé de votre organisation par l’autorité de certification – Signatures et certificats numériques – Support Office
- SignTool :
- Script Windows PowerShell (.ps1) – Créer des actions personnalisées – Power Automate
Créer votre propre action personnalisée
Ouvrez Visual Studio pour créer un projet à l’aide du modèle de Bibliothèque de classes (.NET Framework).
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
Dans Visual Studio, sélectionnez Outils>Gestionnaire de packages NuGet>Console du gestionnaire de packages.
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
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.
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é.
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
Importez le certificat dans le magasin de certificats en utilisant cette commande.
##Import certificate Import-Certificate -CertStoreLocation $certStoreLocation -FilePath $certCERFile
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).
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"
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
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"
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.
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
Créez un nouveau flux de bureau, puis sélectionnez la Bibliothèque d’actifs dans le concepteur.
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.
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.
Faites glisser l’action personnalisée ou double-cliquez dessus pour l’ajouter au flux du bureau.
Fournissez les paramètres d’entrée et les étapes supplémentaires pour tester l’action personnalisée.
Exemple de flux de bureau utilisant l’action personnalisée.
Testez le flux pour voir l’action personnalisée fonctionner en temps réel.
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.
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); } } } }
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.
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.
Testez le flux pour voir l’action personnalisée mise à jour fonctionner en temps réel.
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.