Olá!
Se você desenvolve fluxos em Power Automate, certamente já se deparou com esse cenário: você precisa criar registros no Dataverse usando a ação Adicionar uma linha (Add a new row) mas sem necessariamente preencher os campos obrigatórios.

Porém, você é forçado a preencher os campos pois eles são necessários para a criação de um novo registro da entidade em questão. É uma situação incômoda e que nos força a preencher campos que, a princípio, não seriam necessários para o processo, mas que devem ser preenchidos devido a esse bloqueio.
Veja o exemplo abaixo. Nesse caso eu quero preencher apenas o campo ‘Email’ pois eu apenas disponho dessa informação, logo não tenho como preencher as demais informações. Porém, como são mandatórias, eu seria forçado a usar valores default para conseguir prosseguir. Convenhamos, não é a melhor das soluções.

Como resolver essa situação sem “dar o braço a torcer” e preencher todos os campos obrigatórios? Bom, existe uma solução. Para contornar essa situação, basta utilizar a ação Atualizar uma linha (Update a row), pois ela se comporta como um Upsert, ou seja, se o registro em questão não for encontrado na base, em vez de realizar o update o power automate procederá para criar um novo registro com os dados fornecidos. Para garantir que nenhum registro será encontrado, basta utilizar a expressão guid() no campo Row ID, pois um novo GUID será gerado em tempo de execução, nos dando a certeza que o Insert será acionado. No meu exemplo, o resultado ficaria assim:

Legal, não é? Adeus aos esforços desnecessários preenchendo campos mandatórios que não são necessários, gerando não apenas mais esforço como também registros com informações fora do padrão.
Com relação aos campos mandatórios que não foram preenchidos, quando o usuário de sistema abrir o registro criado ele poderá, então, preencher com os valores necessários, garantindo, assim, o uso de informações relevantes para os campos.
Até a próxima 😉
Deixe um comentário