Compartilhar via


Como criar ações personalizadas no Power Automate para desktop

Aumente a produtividade, a capacidade de reutilização e a extensibilidade com ações personalizadas do Power Automate para desktop. Este artigo discute como ações personalizadas no Power Automate para desktop podem ajudar os criadores a criar suas próprias ações reutilizáveis que podem ser usadas em vários fluxos. Os criadores criam ações personalizadas compondo uma sequência de etapas ou funções em uma nova ação. As ações personalizadas são criadas usando o SDK de ações do Power Automate para desktop, que fornece um conjunto de APIs que permitem aos criadores criar ações personalizadas usando a linguagem .NET C#. As ações personalizadas também podem ser compartilhadas com outros usuários por meio da seção de ações personalizadas no Power Automate (make.powerautomate.com). Neste artigo, encontre orientações detalhadas sobre como criar, compilar, implantar, usar e atualizar ações personalizadas.

Importante

Embora os recursos essenciais utilizados na criação de ações personalizadas sejam suportados, as soluções, os ativos e os scripts de amostra fornecidos mencionados aqui servem como um exemplo de implementação desses recursos e não incluem suporte.

Visão geral

Capacidade de ações personalizadas no Power Automate para desktop permite que você crie suas próprias ações reutilizáveis que podem ser usadas em vários fluxos da área de trabalho. As ações personalizadas economizam tempo e esforço, permitindo reutilizar ações complexas ou usadas com frequência sem precisar recriá-las sempre que você cria um novo fluxo. Os criadores podem aplicar suas habilidades e conhecimentos existentes para criar ações personalizadas que se integram a outros sistemas e serviços. Além disso, os desenvolvedores profissionais podem agrupar as funções ou bibliotecas de código existentes para criar uma nova ação personalizada que resulte em maior capacidade de reutilização dos ativos organizacionais.

Você cria ações personalizadas compondo uma sequência de métodos ou funções em uma nova ação. Depois de criar uma ação personalizada, use-a em qualquer fluxo da área de trabalho arrastando-a e soltando-a na tela de designer do Power Automate para desktop.

As ações personalizadas podem ser compartilhadas com outros usuários por meio da seção de ações personalizadas no Power Automate, que fornece um repositório central para compartilhar e descobrir ações personalizadas. Isso significa que os usuários podem se beneficiar da experiência e do conhecimento de outras pessoas na organização e podem facilmente encontrar e usar ações personalizadas criadas por outros criadores.

No geral, as ações personalizadas no Power Automate para desktop fornecem uma maneira avançada de ampliar a funcionalidade do produto, agilizar o processo de criação de fluxo e promover a colaboração e a inovação dentro da organização.

Pré-requisitos

Criar sua própria ação personalizada

  1. Abra o Visual Studio para criar um novo projeto usando o modelo da Biblioteca de classes (.NET Framework). Captura de tela da caixa de diálogo Criar projeto C#.

  2. Configure seu novo projeto com um nome de projeto, local de arquivo e defina o Framework como .NET Framework 4.7.2.

    Observação

    Certifique-se de seguir as convenções de nomenclatura. Mais informações: Convenções de nomes de módulos personalizados

    Captura de tela dos detalhes da criação da biblioteca de classes C#.

  3. No Visual Studio, selecione Ferramentas>Gerenciador de Pacotes NuGet>Console do Gerenciador de Pacotes.

    Captura de tela do Gerenciador de Pacotes .NET.

  4. Abra uma janela do PowerShell e instale o pacote do NuGet PowerAutomate.Desktop.Actions.SDK usando este comando do PowerShell.

    Find-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
    NuGet\Install-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
    
  5. Siga as etapas em Criar ações personalizadas para criar o arquivo de Classe para sua ação personalizada.

Informações que você pode usar como referência para sua ação

Arquivo de solução de referência: Solução de Módulo .NET

Ação: gravar uma mensagem em um arquivo local.

Parâmetros de entrada: nome do arquivo, mensagem a ser gravada no arquivo.

Parâmetros de saída: código de status, verdadeiro se for bem-sucedido e falso se não for bem-sucedido.

Definição 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);
            }
        }
    }
}

Recursos

Esta tabela lista as descrições e os nomes amigáveis dos parâmetros em um arquivo Resources.resx.

Name Valor Comment
LogEventToFile_Description Ação personalizada para registrar mensagens no arquivo fornecido Descrição da ação
LogEventToFile_FriendlyName LogEventToFile Nome da ação
LogEventToFile_LogFileName_Description O parâmetro de entrada do tipo de texto Descrição de entrada da ação
LogEventToFile_LogFileName_FriendlyName LogFileName Nome da entrada da ação
LogEventToFile_LogMessage_Description O parâmetro de entrada do tipo de texto Descrição de entrada da ação
LogEventToFile_LogMessage_FriendlyName LogMessage Nome da entrada da ação
LogEventToFile_StatusCode_Description Parâmetro de saída do tipo booliano Descrição de saída da ação
LogEventToFile_StatusCode_FriendlyName LogMessage Nome de saída da ação
ModulesLogEvent_Description Módulo para gerenciar eventos de log Descrição do módulo
ModulesLogEvent_FriendlyName LogEvent Nome do módulo

Crie o pacote e implante sua ação personalizada

Crie o pacote e implante no Power Automate.

  1. Adquira o certificado digital para que o arquivo DLL de ação personalizada possa ser assinado.

    Importante

    Os certificados autoassinados são apenas para fins de teste e não são recomendados para uso em produção. Para implantação organizacional de ações personalizadas em seu ambiente, recomendamos que você use um certificado digital confiável que siga suas diretrizes organizacionais.

    Dica

    Para agilizar o processo de desenvolvimento e uso de ações personalizadas para o Power Automate para desktop em toda a sua organização, você pode agrupar um certificado digital confiável com o instalador o Power Automate para desktop que é distribuído pelo SCCM/Appstore. > Isso permitirá que o certificado seja instalado automaticamente tanto nos criadores quanto nos computadores de runtime não assistidos que exigem o Power Automate para desktop, sem qualquer necessidade de ações adicionais.

    Para este exemplo, um certificado autoassinado é usado.

    1. Crie um certificado autoassinado usando este 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. Importe o certificado para o repositório de certificados usando este comando.

      ##Import certificate
      Import-Certificate -CertStoreLocation $certStoreLocation -FilePath $certCERFile
      
    3. Valide se o certificado importado aparece em Autoridades de Certificação Confiáveis>Certificados no snap-in Certificados do Microsoft Manager Console (MMC).

  2. Finalize o módulo personalizado criado assinando o arquivo DLL usando um certificado confiável. Use o prompt de comando do desenvolvedor do Visual Studio para usar o Signtool para esta atividade.

    Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/Modules.LogEvent.dll"
    
  3. Para implantar a ação personalizada, crie o conteúdo do pacote em um arquivo de gabinete (.cab) usando este script do PowerShell.

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

    Acesse o arquivo de script de amostra BuildCAB.ps1

  4. Assine o arquivo de gabinete gerado usando Signtool.

    Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/PADCustomActionEventLog.cab"
    
  5. Vá para a seção de ação personalizada do Power Automate para carregar a ação personalizada que você criou. Forneça o nome, a descrição e o arquivo de gabinete e selecione Carregar.

    Captura de tela da importação do pacote de ações personalizado (arquivo CAB) no portal do Power Automate

    Você receberá uma notificação quando a ação for carregada com sucesso.

Seguindo essas etapas, o módulo de ação personalizado é empacotado em um arquivo de gabinete e assinado com um certificado confiável. Além disso, o arquivo de gabinete de ações personalizadas é carregado na biblioteca de ações personalizadas no Power Automate.

Mais informações: Carregar ações personalizadas

Use sua atividade de ação personalizada no fluxo da área de trabalho usando o Power Automate para desktop

  1. Crie um fluxo da área de trabalho e selecione a Biblioteca de Ativos no designer.

    Captura de tela de Navegar até a Biblioteca de Ativos no Power Automate para desktop

  2. Inspecione a ação personalizada disponível na biblioteca de ativos. Observe a ação criada anteriormente e carregada para a seção de ações personalizadas do Power Automate.

    Selecione Adicionar para adicionar esta ação personalizada à seção Ações do designer.

    Captura de tela de Adicionar ação personalizada da Biblioteca de Ativos

  3. Valide se a ação personalizada foi adicionada com sucesso. Pesquise-a na barra de pesquisa Ações no designer do Power Automate for desktop.

    Captura de tela da ação personalizada Pesquisar no Power Automate para desktop

  4. Arraste a ação personalizada ou clique duas vezes nela para adicionar ao fluxo da área de trabalho.

  5. Forneça os parâmetros de entrada e etapas adicionais para testar a ação personalizada.

    Captura de tela dos parâmetros de entrada para ação personalizada

    Exemplo de fluxo da área de trabalho usando a ação personalizada.

    Captura de tela de Uso de ação personalizada no fluxo da área de trabalho

  6. Teste o fluxo para ver a ação personalizada funcionando em tempo real.

    Testar ação personalizada no fluxo da área de trabalho

Observação

Importe o certificado usado para assinar o arquivo de gabinete para a máquina usada para criar fluxos da área de trabalho com ações personalizadas e para cada uma das máquinas de runtime que executarão os fluxos da área de trabalho.

Seguindo essas etapas, uma ação personalizada foi criada, o módulo empacotado em um arquivo de gabinete, assinado com um certificado confiável, carregado na biblioteca de ações personalizadas no Power Automate, um fluxo de área de trabalho para usar a ação personalizada criada e testada para uma execução bem-sucedida.

Atualizar e reimplantar a ação personalizada

Atualize a funcionalidade da ação personalizada para refletir a capacidade atualizada seguindo estas etapas.

  1. Atualize o arquivo de classe na solução do Visual Studio com nova a funcionalidade de ação. Mais informações: Atualizar solução do Módulo .NET

    Modificada a assinatura do arquivo de classe para receber um terceiro parâmetro de entrada, conforme mostrado.

    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. Use etapas semelhantes descritas anteriormente, onde você assina o arquivo DLL, cria o arquivo de gabinete, assina o arquivo de gabinete e carrega o arquivo de gabinete para a seção de ações personalizadas no Power Automate. Mais informações: Compilar o pacote e implantar sua ação personalizada

    Observação

    Antes de carregar o arquivo de gabinete de ação personalizado atualizado, analise o impacto dessa alteração, pois os fluxos da área de trabalho com essa ação serão atualizados com novos recursos.

    Captura de tela da atualização da ação personalizada no portal do Power Automate

  3. Atualize o fluxo da área de trabalho conforme necessário.

    Para validar a capacidade de atualização, adicionamos um terceiro parâmetro de entrada à ação personalizada. Observe que a atividade de ação personalizada está marcada como Erro no designer e precisa ser atualizada com o novo parâmetro de entrada.

    Captura de tela de refatoração de fluxo da área de trabalho

    Captura de tela da ação personalizada atualizada com parâmetros de entrada adicionais

  4. Teste o fluxo para ver a ação personalizada atualizada funcionando em tempo real.

    Teste novamente a ação personalizada atualizada no fluxo da área de trabalho

Nesta seção, você atualizou a funcionalidade subjacente da ação personalizada, criou o pacote, implantou no Power Automate, refatorou o fluxo da área de trabalho e validou a funcionalidade executando o fluxo da área de trabalho com recursos atualizados da ação personalizada em no Power Automate para desktop.