Avaliador de expressões do Power Automate
Digite uma expressão, informe dados de exemplo se precisar e veja o resultado que o Power Automate daria, inclusive o erro. Sem criar fluxo, sem conectar nada, sem enviar dados.
Expressão
Resultado
No Power Automate, outputs('Dados') devolve a saída da ação chamada Dados. Aqui, cada chave do JSON ao lado faz esse papel. As chaves trigger, variables e item alimentam triggerBody(), variables('x') e item().
Para que serve
Testar uma expressão no Power Automate costuma significar abrir o fluxo, salvar, executar e abrir o histórico para ver o que saiu. Este avaliador faz a mesma conta na hora, no seu navegador: você digita, ele mostra o valor, o tipo e, quando o Power Automate recusaria, o mesmo erro. Serve para descobrir se div(10, 4) dá 2 ou 2,5, se formatNumber arredonda como você espera, ou o que addToTime faz com o dia 31.
Quanto dá para confiar
O avaliador não foi escrito de memória nem a partir da documentação. Ele foi conferido contra 1.489 expressões executadas de verdade no Power Automate em 12/11/2026, em um fluxo de teste temporário que só usa ações de escrita de valor (sem conectores e sem dados reais). Hoje as 1.477 que ele sabe responder batem com o Power Automate, valor por valor, e as 12 restantes estão na lista de limites abaixo.
O processo foi em sete rodadas. Em cada uma, as expressões eram escolhidas antes de ver o resultado real. Na primeira tentativa, sem nenhum ajuste, o avaliador acertou 84% (rodada 3), 80% (rodada 4), 60% (rodada 5), 89% (rodada 6) e 82% (rodada 7). A rodada 5 testou de propósito dezenas de fusos horários e culturas que ainda não tinham sido conferidos. A rodada 6 partiu de dúvidas frequentes em fóruns e blogs sobre expressões. Cada diferença virou uma correção, e as funções que as pessoas mais pedem (sort, slice, chunk, ticks e outras) foram acrescentadas. Os testes automáticos do site repetem as 1.477 comparações a cada alteração. Depois da última correção, o acerto em expressões inéditas ainda não foi medido de novo.
Alguns comportamentos que só a execução real mostrou:
float('1,5')dá 15, não 1,5: a vírgula é descartada, sem erro.div(10, 4)dá 2 (dois inteiros truncam), masdiv(float(10), 4)dá 2,5.int(3.9)dá erro no Power Automate; só converte quando o valor já é inteiro.and(false, int('abc'))dáfalse: oandpara no primeiro valor falso e nem olha o resto.toUpper('ß')continuaß, eempty(0)dá erro (só vale para texto, lista e objeto).convertTimeZonecom data terminada emZignora o fuso de origem; sem oZ, horário que não existe ou se repete na troca do horário de verão dá erro.formatNumber(1.5, 'F0')dá 2 eformatNumber(2.5, 'F0')também dá 2 (arredonda para o par), mas formatos como'0.00'arredondam para cima.
O que ele não faz
- Funções fora da lista. São 86 funções, abaixo. As demais (por exemplo
xml,xpath,binaryou as de ação comoactions()) respondem "não suportada", em vez de chute. - Culturas e formatos não conferidos. Números e datas funcionam com 44 culturas conferidas (como pt-BR, en-US, es-ES, fr-FR, de-DE e ja-JP); moeda e os formatos padrão de data (
'd','D') só nas culturas listadas na documentação do código. Fora delas, o avaliador avisa em vez de adivinhar. As culturasar-SAefr-CHestão fora porque o resultado real divergiu. - Inteiros acima de 9.007.199.254.740.991. O Power Automate aceita até 9.223.372.036.854.775.807; aqui, números acima disso dão aviso, porque perderiam precisão.
- Valores que mudam a cada execução.
utcNow()usa uma data fixa (02/11/2026 08:05:09 UTC) eguid()é sorteado. - Mensagens de erro. Em todos os 276 casos em que o Power Automate deu erro, o avaliador também dá erro. O texto da mensagem é idêntico em 220 e tem pequenas diferenças nos outros 56 (por exemplo, o detalhe do erro de leitura de JSON).
- Fusos horários. Os nomes do Windows e os identificadores IANA funcionam, mas só os usados nos testes foram conferidos um a um.
Funções suportadas
add, addDays, addHours, addMinutes, addProperty, addSeconds, addToTime, and, array, base64, base64ToString, body, bool, chunk, coalesce, concat, contains, convertFromUtc, convertTimeZone, convertToUtc, createArray, dateDifference, dayOfMonth, dayOfWeek, dayOfYear, decodeUriComponent, div, empty, endsWith, equals, first, float, formatDateTime, formatNumber, greater, greaterOrEquals, guid, if, indexOf, int, intersection, item, join, json, last, lastIndexOf, length, less, lessOrEquals, max, min, mod, mul, not, or, outputs, parseDateTime, range, removeProperty, replace, reverse, setProperty, skip, slice, sort, split, startOfDay, startOfHour, startOfMonth, startsWith, string, sub, substring, subtractFromTime, take, ticks, toLower, toUpper, triggerBody, trim, union, uriComponent, uriComponentToString, uriQuery, utcNow, variables
Usar por API
O mesmo motor responde por uma API aberta, útil para testar expressões em scripts e em testes automáticos:
GET https://meajudaflow.com.br/api/v1/avaliar?expr=div(10,4)
POST https://meajudaflow.com.br/api/v1/avaliar
{"expressao": "concat('Olá, ', outputs('Dados')?['nome'])",
"dados": {"Dados": {"nome": "Ana"}}}
A resposta traz ok, resultado (o valor), tipo e texto (como o Power Automate mostraria). Quando a expressão dá erro, ok é false e erro traz a mensagem. Limites: expressão de até 4.000 caracteres e corpo de até 64 KB. Sem chave, sem cadastro; peço só que não use para carga contínua.
Privacidade
Na página, a avaliação roda no seu navegador e nada é enviado. Só a API recebe a expressão que você mandar, e ela não grava nada.
Perguntas frequentes
Isso substitui testar no Power Automate?
Não. Ele ajuda a descobrir rápido o comportamento de uma expressão, mas fluxo com conectores, gatilhos e dados reais continua precisando de teste no próprio Power Automate. O avaliador cobre só a linguagem de expressões.
Por que a mesma expressão pode dar resultado diferente no meu fluxo?
Em geral por dados diferentes: um campo que chega nulo, um número que chega como texto, uma data sem o Z. Coloque nos dados de exemplo o que o seu fluxo realmente recebe.
O Power Fx funciona aqui?
Não. Power Fx (Power Apps) é outra linguagem. Para funções do Power Automate, veja também o verificador de expressões e o decodificador de erros.