Erro "The template language function 'mul' expects its first parameter to be an integer or a decimal number"
As funções de conta (add, mul, sub, div) e o formatNumber exigem números, e você passou um texto. O Power Automate não converte sozinho: a mensagem cita a função e o tipo recebido ('String'). Valores que vêm de formulários, planilhas e e-mails costumam chegar...
A mensagem completa
The template language function 'mul' expects its first parameter to be an integer or a decimal number. The provided value is of type 'String'. Please see https://aka.ms/logicexpressions#mul for usage details.
No histórico de execuções, essa mensagem aparece dentro de uma frase maior: Unable to process template language expressions in action 'NOME_DA_ACAO' inputs at line '0' and column '0': '...'. O nome da ação é o da ação que contém a expressão e muda de fluxo para fluxo. O trecho em destaque acima é o que identifica o problema.
O que significa
As funções de conta (add, mul, sub, div) e o formatNumber exigem números, e você passou um texto. O Power Automate não converte sozinho: a mensagem cita a função e o tipo recebido ('String'). Valores que vêm de formulários, planilhas e e-mails costumam chegar como texto, mesmo quando parecem números.
Causas mais comuns
- O valor vem de um campo de texto (Forms, Excel, e-mail, HTTP).
- O valor é um texto que parece número, como '10', e não passou por int ou float.
- Um dos operandos é um texto de verdade, e a conta é feita sobre ele sem validação.
- A mensagem muda entre as funções: add aceita inteiro, decimal ou float; mul e formatNumber falam em inteiro ou decimal.
Como corrigir
- Converta antes de calcular: add(int('1'),int('2')) devolve 3.
- Para valores com decimais, use float (com a cultura, se o texto estiver no padrão brasileiro).
- Se o campo pode vir vazio, use coalesce para trocar por '0' antes de converter.
- Confira o tipo na execução: a entrada da ação mostra se o valor está entre aspas (texto) ou não (número).
Exemplo: antes e depois
| Expressão | Resultado no Power Automate |
|---|---|
mul('a',2) | Erro. The template language function 'mul' expects its first parameter to be an integer or a decimal number. The provided value is of type 'String'. Please... |
add(int('1'),int('2')) | 3 |
Os dois resultados vêm da execução real de 09/11/2026, e um teste automático do Me Ajuda Flow confere que o texto desta página é idêntico ao registrado.
Como evitar que o erro volte
- Veja o valor real: abra a execução e confira a entrada da ação que falhou, não só a expressão.
- Trate vazio e tipo antes de calcular: use
coalescepara vazio eintoufloatpara texto que parece número. - Confira a expressão antes de rodar: o analisador de fluxo e o verificador de expressões apontam parte desses problemas sem executar o fluxo.
Perguntas frequentes
Por que o Power Automate não converte o texto sozinho?
Nas funções de conta ele exige o tipo certo. A conversão é responsabilidade da expressão.
Como saber se o valor é texto?
Na execução, o valor entre aspas é texto. Sem aspas, é número.