Utilizando variáveis em Power Automate

Na tecnologia, variáveis são um conceito bem conhecido que está presente basicamente em toda linguagem de programação. É uma ferramenta versátil que permite armazenar e manipular dados dinamicamente, de modo que a mesma variável pode ter valores diferentes atribuídos a ela de acordo com o contexto.

No Power Automate, você também pode usar variáveis, e neste artigo exploraremos o conceito de variáveis no Power Automate e descobriremos como elas podem aprimorar a eficiência e o dinamismo de nossos fluxos.

O que é uma variável?

Variáveis são estruturas que recebem dados e permitem a manipulação dinâmica e o armazenamento de informações. Do ponto de vista da ciência da computação, as variáveis servem como abstrações que capacitam os programadores a manipular e recuperar dados durante a execução do programa.

No Power Automate, as variáveis são contêineres usados para armazenar e manipular dados ao longo dos fluxos. Assim como nas linguagens de programação tradicionais, as variáveis no Power Automate funcionam como espaços onde a informação pode ser guardada temporariamente. Elas facilitam o não apenas o armazenamento, mas também a recuperação e a modificação de dados ao longo dos fluxos, proporcionando um ambiente flexível e dinâmico para suas tarefas de automação.

Com o auxílio de variáveis, o Power Automate permite realizar cálculos, iterar por listas, transformar dados e interagir com outras ações de um fluxo. Ao aproveitar o potencial das variáveis, seus fluxos se tornam mais inteligentes e adaptáveis, permitindo que você implemente processos que lidam efetivamente com dados e requisitos em constante mudança nos seus fluxos de automação.

Visão geral dos tipos de dados em Power Automate

Os tipos de dados (data types) desempenham um papel crucial na tecnologia, classificando o tipo de informação que uma variável pode armazenar. Embora haja vários tipos de dados possíveis em Tecnologia, alguns exemplos comuns incluem “texto” (string), “números inteiros” (integer), “listas” (lists/arrays), “data” (date) e “moeda” (currency).

No Power Automate, as variáveis estão vinculadas a tipos de dados específicos. Uma vez que uma variável é inicializada e seu tipo de dados é declarado (vamos explorar esse processo mais tarde neste post), ele não pode ser alterado durante a execução do fluxo. Embora você possa modificar o valor de uma variável, seu tipo de dados permanecerá sempre fixo. Por exemplo, você pode inicializar uma variável de texto com o valor “tenha um bom dia!” e alterá-la para “tenha uma boa noite!” dentro do fluxo. No entanto, você não poderá convertê-la para um número como 789 ou um valor lógico como “true”.

Os tipos de dados disponíveis em Power Automate são os seguintes:

  • Strings: Utilizados para armazenar e manipular textos, tais como nomes, endereços ou descrições. Exemplo: “pizza”.
  • Integers: Utilizados para armazenar números inteiros, não comportando casas decimais. São ideias para armazenar quantidades, contagens ou idades. Exemplo: 23.
  • Floats: Utilizados para armazenar números decimais ou valores que exijam precisão, tais como valores monetários ou porcentagens. Exemplo: 3.14.
  • Booleans: Utilizados para armazenar valores lógicos, sendo “verdadeiro” ou “falso. Booleans são comumente utilizados dentro de condições (Ifs). Exemplo: true.
  • Objects: Utilizados para armazenar entidades com propriedades descritas em pares de chave/valor (key-value pairs), permitindo que diferentes tipos de dados sejam organizados dentro de um mesmo objeto. Os objects são delimitados por chaves (“{}”). Exemplo: {“id”: 112, “name”: “Digital Mill”, “premium_member”: true}
  • Arrays: Utilizado para armazenar diversos valores em uma única variável. Trata-se basicamente de uma lista de valores, permitindo a combinação de diferentes tipos de dados. Os arrays são delimitados por colchetes (“[]”). Exemplo: [1, 2, 3, “pizza”, 5, 6.16, true].

Em geral, se você tentar atribuir a uma variável um valor diferente do seu tipo de dados, você receberá uma mensagem de erro e o fluxo falhará.

Criando variáveis em Power Automate

Para começar a usar variáveis no Power Automate, você deve inicializá-las usando a ação “Inicializar variável”. Esta ação requer que você forneça o nome da variável e o tipo de dado:

inicializando vairavel em power automate

Você pode optar por atribuir um valor inicial à variável ao inicializá-la, mas isso não é obrigatório. Inicializar uma variável vazia é perfeitamente aceitável no Power Automate:

atribuindo valor a variavel em power automate

Para atribuir um valor a uma variável durante a inicialização, basta inserir o valor desejado. Certifique-se de que o valor atribuído corresponda ao tipo de dados especificado para evitar falhas no fluxo:

valor adicionado a variavel em power automate

Tenha cuidado ao tentar atribuir um tipo de dados diferente a uma variável do que o declarado. Ao fazer isso, um erro poderá ocorrer o fluxo finalizar por falha. Por exemplo, mudar o tipo de dados de string para integer pode resultar em problemas:

erro ao inserir variavel em power automate

Ao atribuir um valor numérico como 12345 a uma variável de string no Power Automate, nenhum erro ocorrerá. Isso acontece porque a entrada é automaticamente convertida para texto. Embora possam parecer inicialmente iguais, o Power Automate não permitirá operações matemáticas em uma variável de tipo string, mesmo que um número seja armazenado nela.

Por exemplo, se atribuirmos 12345 a duas variáveis, uma como uma string e a outra como integer, e as compararmos em uma ação de Condição, o resultado será falso. Isso ocorre porque a representação de string de 12345 não é igual ao valor inteiro de 12345:

diferentes tipos de dados em variaveis em power automate

Como esperado, a condição retornará “false”, pois 12345 (string) não é idêntico a 12345 (integer):

condicao retornando valor falso em power automate

Ao examinar as entradas brutas (raw inputs) de cada variável, você pode notar uma pequena diferença (se você não souber como acessar a entrada/saída bruta de uma ação, verifique este artigo). A variável de tipo integer conterá o valor 12345, enquanto a variável de tipo string o terá entre aspas (“12345”). Essas aspas indicam que o valor é um texto (e não numérico), tornando as duas variáveis distintas:

raw outputs de variaveis em power automate

O Power Automate também permite a atribuição de expressões ou valores dinâmicos às variáveis (para saber mais sobre expressões, verifique este artigo). No exemplo abaixo, atribuímos a expressão 10+5 a uma variável do tipo de dados inteiro.

expressao de soma em power automate

Como resultado, a variável receberá o valor correspondente à soma entre 10 e 5:

resultado de expressao de soma em power automate

Modificando o valor de variáveis em Power Automate

Depois de inicializar as variáveis, você pode modificar seus valores usando a ação “Definir variável”. Esta ação permite atribuir valores específicos às variáveis. Por exemplo, você pode alterar o valor de uma variável numérica de 15 para qualquer outro número inteiro usando a ação “Definir variável”:

atribuindo valor a variavel em power automate

Essa mesma abordagem pode ser utilizada com variáveis de qualquer tipo de dados.

É importante observar que a ação “Definir variável” tem uma limitação: você não pode atribuir uma variável a si mesma. Tentar fazer isso resultará em um erro. Por exemplo, tentar atribuir o valor de um conteúdo dinâmico diretamente a uma variável de string fará com que a ação falhe (para saber mais sobre conteúdos dinâmicos em Power Automate, verifique este artigo):

erro ao atribuir valor dinamico a variavel

No exemplo acima, estamos tentando atribuir à “string_variable” (destacada em amarelo) o mesmo valor que o conteúdo dinâmico (destacado em verde), o que está resultando em um erro (faixa vermelha no topo). A ação falhará mesmo se o “Definir variável” contiver valores adicionais para a própria variável, como o texto “Welcome to the team”!

Para contornar essa limitação, você pode criar uma variável temporária para armazenar o valor original da variável. Ao criar um clone, você pode então usar o clone como entrada para a ação “Definir variável”, atualizando efetivamente o valor da variável.

atribuindo valores a variaveis em power automate

Adicionando e subtraindo valores de variávies em Power Automate

Para manipular variáveis numéricas (tipos integer e float), você pode utilizar as ações “incrementar variável” e “decrementar variável”. Essas ações permitem adicionar ou subtrair uma quantidade específica da variável:

adicionando ou reduzindo valores de variavies

Para realizar essas operações, você precisa fornecer o valor desejado no campo “valor”. Por exemplo, se você deseja subtrair 4 de uma variável chamada “numeric_value”, que foi inicializada com um valor de 15, você pode usar a ação “decrementar variável”:

acao para reduzir valor de variavel em power automate

E este será o resultado:

resultado apos acao de subtracao em power automate

Adicionando valores a variávies de tipo string em Power Automate

Também é possível inserir valores ao final de uma variável de tipo string ou array (lista). Essa estratégia é chamada de “Appending” e basicamente permite adicionar novos dados ao final de uma variável já existente, mantendo seu valor atual.

acrescentando valores a strings em power automate

Para acrescentar novo texto a uma variável de tipo string, você pode usar a ação “Anexar à variável de cadeia” (destacada em verde). Funciona de maneira semelhante à ação “Definir variável”, onde você especifica a variável à qual deseja anexar e fornece o texto a ser anexado. Você pode ver o resultado usando uma ação “Compor” para exibir o valor final da variável de string após a operação de anexação (destacada em azul).

Esse será o output:

acrescentando valores a string em power automate

Os dois textos foram combinados. Observe que não há separador automático: nem mesmo um espaço em branco entre o valor original e o anexado. Se você deseja incluir separadores como espaços em branco, vírgulas ou outros caracteres, é necessário incluí-los no input da ação.

Além de texto estático, você também pode anexar conteúdo dinâmico a uma variável. Por exemplo, se você tiver outra variável de string chamada “new_employee” com o valor “John”, você pode passá-la como conteúdo dinâmico. Ao incluir separadores como uma vírgula e um espaço em branco no início do valor a ser anexado, você pode garantir um texto final mais legível.

combinando conteudo dinamico em string em power automate

Este é o output: o valor atribuído à variável “new_employee” será incluído no texto anexado.

output de conteudo dinamico em string em power automate

Adicionando valores a arrays (listas) em Power Automate

A ação “Anexar a variável de matriz” permite adicionar elementos a uma variável existente de tipo “array”. Suponha que você tenha um array chamado “employees” contendo os nomes dos funcionários atuais em sua organização (um total de 4 funcionários). Se um novo funcionário, John, ingressar na organização, você pode usar esta ação para adicionar seu nome à matriz:

adicionando valores a variaveis de tipo array em power automate

Para trabalhar com arrays, você precisa inicializar a variável envolvendo seus valores entre colchetes (‘[]’). Cada valor deve ser separado por uma vírgula. No nosso caso, como estamos trabalhando com valores de tipo string, cada elemento é também envolto por aspas duplas (destacadas em amarelo). Para inserir um novo valor na matriz, você pode usar a ação “Anexar à variável de matriz”, passando o valor que deseja adicionar sem colchetes ou aspas (destacado em verde). Para exibir o valor final da matriz, também estamos usando uma ação “Compor” (destacada em azul).

Este é o output: como esperado, John foi adicionado ao final da lista.

resultado da adicao de novo item a variavel de array em power automate

Conclusão

Variáveis são usadas em muitos fluxos, tornando o seu design muito mais fácil e escalável. Em alguns casos, você pode usar variáveis mesmo que não seja estritamente necessário, pois elas ajudarão a tornar o seu fluxo mais legível e facilitarão correções ou modificações futuras.

By Raphael Zaneti

Power Platform Developer