Como validar dados de formulários em Power Automate: passo a passo
Este tutorial mostra como validar automaticamente respostas de um Formulário (Microsoft Forms) com Power Automate, registar entradas inválidas num SharePoint e notificar o autor. A validação automática poupa tempo, reduz erros humanos e garante que os dados recebidos estão prontos para análise ou processamento.
Pré-requisitos
- Conta Microsoft 365 com acesso a Power Automate e Microsoft Forms.
- Lista SharePoint criada para registar respostas inválidas (colunas: Title, Email, CampoInválido, Erro).
- Formulário em Microsoft Forms com pelo menos dois campos (ex.: Email, Idade).
- Permissões para criar fluxos e aceder ao site SharePoint.
Passo 1: Criar trigger a partir do Formulário
Cria um novo fluxo automatizado em Power Automate com o trigger "When a new response is submitted" (Microsoft Forms). Seleciona o Formulário correcto. Este trigger inicia o fluxo sempre que houver uma resposta.
Passo 2: Obter detalhes da resposta
Adiciona a ação "Get response details" (Microsoft Forms) para ler os campos preenchidos. Liga-a ao mesmo Formulário e ao Response Id do trigger. Isto torna os valores disponíveis para validação.
Passo 3: Validar campos com condição simples
Adiciona uma ação "Condition" para validar um campo. Exemplo comum: verificar se o campo Email contém '@' ou se Idade é um número dentro de um intervalo. Usamos expressões no Power Automate para isso.
Expression exemplo para Idade válida (18 a 99): and(greaterOrEquals(int(body('Get_response_details')?['Idade']),18), lessOrEquals(int(body('Get_response_details')?['Idade']),99))
Para Email simples, poderás usar contains:
contains(body('Get_response_details')?['Email'], '@')
Passo 4: Ramo quando a validação falha — registar no SharePoint
No ramo "If no" da Condition (quando a validação falha), adiciona a ação "Create item" (SharePoint). Preenche as colunas com informação útil: Title (por exemplo, Response Id), Email, CampoInválido (ex.: Idade), Erro (mensagem curta que explique o problema).
Colunas sugeridas: Title: @{outputs('Get_response_details')?['responseId']} Email: @{body('Get_response_details')?['Email']} CampoInválido: Idade Erro: Idade fora do intervalo 18-99
Passo 5: Notificar o autor ou equipa
Podes enviar um e-mail ou uma mensagem no Teams para notificar quem submeteu a resposta ou a equipa de qualidade. Usa a ação "Send an email (V2)" ou "Post a message". Inclui detalhes do erro para permitir a correcção.
Exemplo corpo de e-mail: Assunto: Erro na resposta do Formulário Corpo: A sua resposta tem um erro no campo Idade: valor não está entre 18 e 99. Response Id: @{outputs('Get_response_details')?['responseId']}
Passo 6: Ramo quando a validação passa — continuar processo
No ramo "If yes" (validação OK), prossegue com o fluxo principal: armazenar dados finais, actualizar um sistema, ou disparar um processo ETL. Mantém claro que só deve avançar quando todos os campos essenciais passaram nas validações.
Passo 7: Tratar múltiplas regras e erros acumulados
Se houver várias validações, cria variáveis para acumular mensagens de erro e, no fim, avalia se a variável de erros está vazia. Assim evitas múltiplas ramificações e podes registar ou notificar com um único registo consolidado.
Exemplo lógica: Initialize variable Errors (String) = '' If condição falha: set variable Errors = concat(variables('Errors'), 'Idade inválida; ') No fim: condition empty(variables('Errors')) ? fluxo OK : registar erro
Verificar o resultado
Submete respostas de teste no Microsoft Forms com valores válidos e inválidos. Verifica a lista SharePoint para confirmar que os registos de erro aparecem com os dados correctos e abre os e-mails/Teams para confirmar as notificações. Também valida que respostas válidas seguem o fluxo principal sem criar registos de erro.
Conclusão
Depois de implementar a validação automática em Power Automate, reduzes erros e garantes que apenas dados válidos entram nos sistemas. Próximos passos: adicionar validação avançada (regex para Email), integração com Power BI para monitorizar falhas ou usar Dataverse em vez de SharePoint. Dica: começa por poucas regras e regista sempre a razão do erro para facilitar correcções.