Mudei a pergunta no Forms e o fluxo quebrou
Você ajustou um formulário, o Power Automate continuou sem dar erro, mas campos chegam vazios ou as condições deixam de funcionar. Aqui está o método para achar o que mudou e corrigir.
Como o fluxo lê o formulário
O conector do Forms tem um gatilho, Quando uma nova resposta for enviada, e uma ação, Obter detalhes da resposta. É essa ação que traz as respostas como conteúdo dinâmico para o resto do fluxo. Cada resposta é associada internamente a um identificador da pergunta; é por ele que o campo aparece na saída da ação.
O ponto frágil: se a pergunta é alterada de um jeito que o Forms trata como outra pergunta (trocar o tipo, ou excluir e recriar), o fluxo pode continuar apontando para o campo antigo. Como o Power Automate trata um campo inexistente como "vazio", o fluxo não falha: ele segue com valores em branco, e o erro só aparece depois (e-mail sem dados, linha vazia na planilha, condição que nunca é verdadeira).
Diagnóstico em 5 passos
- Envie uma resposta de teste nova no formulário já editado. Não reexecute uma execução antiga: ela reaproveita os dados da resposta antiga.
- No Power Automate, abra a execução em Histórico de execuções de 28 dias.
- Expanda Obter detalhes da resposta e leia as Saídas. Cada pergunta aparece com um identificador interno (costuma começar com
r) seguido do valor. Confirme que a pergunta editada aparece e com a resposta que você enviou. - Abra as ações seguintes e veja, nas Entradas, quais campos chegaram em branco.
- Compare: o campo em branco aponta para um identificador que não existe mais na saída do passo 3? Achou o problema.
Como corrigir
- Abra o fluxo no editor e clique em Obter detalhes da resposta. Confirme que o ID do formulário está selecionado.
- Nas ações que usam o campo, apague o conteúdo dinâmico antigo e selecione de novo o campo da pergunta, na lista que aparece.
- Salve, envie outra resposta de teste e repita o diagnóstico.
O formato da resposta depende do tipo da pergunta
Quando você troca o tipo de pergunta, o formato da resposta muda, e as expressões que liam o formato antigo deixam de servir:
- Escolha única: chega como texto simples. Uma condição com
equalsfunciona. - Múltipla escolha (várias opções): a resposta traz mais de um valor. Dependendo de como chega, pode ser uma lista ou um texto com formato de lista. Para saber qual é o seu caso, adicione uma ação Compor com o campo e olhe a saída no histórico. Se a lista já vier como matriz,
joinjunta os itens em um texto. Se vier como texto, converta antes comjson:join(json(outputs('Resposta_multipla')), ', ')Para testar se uma opção específica foi marcada, usecontains, que funciona com várias opções, em vez deequals, que só compara com um valor exato:contains(outputs('Resposta_multipla'), 'Cimento') - Upload de arquivo: a Microsoft documenta que a saída é um texto em JSON, e é preciso uma ação Analisar JSON (Parse JSON) para extrair o arquivo. Gere o esquema colando uma saída real; o formatador JSON ajuda a ler essa saída.
- Resposta como texto no formato de lista:
join(json(...), ', ')devolveCimento, Areia;contains(texto, 'Cimento')devolvetrue,contains(texto, 'Cim')também devolvetrue(procura um trecho do texto) eequals(texto, 'Cimento')devolvefalse. - Resposta como lista de verdade:
join(lista, ', ')devolveCimento, Areia;contains(lista, 'Cimento')devolvetrueecontains(lista, 'Cim')devolvefalse(só aceita o item inteiro). containsdiferencia maiúsculas de minúsculas.
contains pode dar falso positivo (uma opção "Cimento Branco" também contém "Cimento"). Confira o formato no histórico antes de escolher a condição.equals onde antes havia contains, ou o inverso. Confira a saída no histórico antes de reescrever a condição.Como evitar o problema
- Congele o formulário depois de ligar o fluxo. Mudanças estruturais (tipo, exclusão, recriação) devem ser exceção, não rotina.
- Teste mudanças em uma cópia do formulário e do fluxo. Só repita no original depois de validar.
- Use uma ação Compor por resposta importante, com nome claro (
Resposta_valor,Resposta_projeto). O resto do fluxo lê do Compor, e uma mudança no formulário obriga a corrigir só em um lugar. - Valide campos obrigatórios: adicione logo após a ação Obter detalhes uma condição que verifica se os campos críticos não estão vazios (
empty(...)) e avisa você quando estiverem. - Anote mudanças no comentário da ação ou em um registro simples (data, o que mudou, quem mudou).