Erro "The template language function 'length' expects its parameter to be an array or a string. The provided value is of type 'Null'"
Funções de texto e de lista, como length, split, toUpper e first, validam o tipo do valor recebido. Quando chega Null, ou uma lista onde se esperava texto, ou um objeto onde se esperava lista, o fluxo para citando a função, o tipo que ela esperava e o tipo...
A mensagem completa
The template language function 'length' expects its parameter to be an array or a string. The provided value is of type 'Null'. Please see https://aka.ms/logicexpressions#length 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
Funções de texto e de lista, como length, split, toUpper e first, validam o tipo do valor recebido. Quando chega Null, ou uma lista onde se esperava texto, ou um objeto onde se esperava lista, o fluxo para citando a função, o tipo que ela esperava e o tipo recebido. O caso mais frequente é o Null, de um campo vazio.
Causas mais comuns
- Um campo opcional chegou vazio (Null) e a expressão assume que ele tem texto.
- A ação anterior devolveu uma lista e a expressão trata como texto, ou o contrário.
- O valor é um objeto (por exemplo, o resultado de json) e a função esperava uma lista.
- O nome da propriedade está errado e a leitura devolveu Null sem avisar, por causa do acesso com ?[...].
Como corrigir
- Troque o vazio por um texto vazio antes de usar: length(coalesce(null,'')) devolve 0.
- Para split, faça o mesmo: split(coalesce(null,''),',') devolve uma lista com um item vazio.
- Confira o tipo que chega olhando a entrada da ação na execução.
- Para listas, use first, last e take sobre uma lista de verdade, não sobre um objeto.
Exemplo: antes e depois
| Expressão | Resultado no Power Automate |
|---|---|
length(null) | Erro. The template language function 'length' expects its parameter to be an array or a string. The provided value is of type 'Null'. Please see... |
length(coalesce(null,'')) | 0 |
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
O que split devolve para um texto vazio?
Uma lista com um item vazio, e não uma lista vazia. No teste real, split(coalesce(null,''),',') devolveu [""].
Esse erro também aparece com toUpper e first?
Sim. A frase muda (expects its parameter to be a string, be an array or a string), mas a causa é a mesma: o tipo recebido não é o esperado.