Alterar Criado por e Modificado por no SharePoint via Power Automate

Compartilhe nas Redes Sociais:

Você já tentou alterar o campo “Criado por” ou “Modificado por” em uma lista do SharePoint e percebeu que ele é somente leitura? Essa é uma limitação conhecida da interface padrão — mas com o Power Automate e a ação “Send an HTTP Request to SharePoint”, é totalmente possível sobrescrever esses campos programaticamente. Neste guia, você vai aprender o passo a passo completo, incluindo o formato correto do payload JSON que a maioria dos tutoriais erra.

Por que os campos “Criado por” e “Modificado por” são somente leitura?

Os campos Author (Criado por) e Editor (Modificado por) no SharePoint são colunas especiais controladas pelo sistema. Elas registram automaticamente quem criou e quem editou um item pela última vez — e por isso o SharePoint bloqueia a edição direta pela interface.

Isso é um problema quando você precisa:

  • Migrar dados de outro sistema mantendo a autoria original
  • Criar itens em nome de outro usuário via fluxo automatizado
  • Corrigir registros históricos sem alterar a data de criação real
  • Alimentar listas a partir de sistemas externos com identidade preservada

A solução passa pela API REST do SharePoint, especificamente pelo endpoint ValidateUpdateListItem, que permite atualizar campos normalmente somente leitura.

Alterar “Criado por” e “Modificado por” via Power Automate: passo a passo

Vamos usar a ação “Send an HTTP Request to SharePoint”, disponível no conector do SharePoint no Power Automate. Essa ação permite fazer chamadas diretas à API REST do SharePoint sem precisar de conectores customizados.

Alterar Criado Por no SharePoint via Power Automate

1. Crie um fluxo manual no Power Automate

Para testes, crie um fluxo com gatilho manual (Manually trigger a flow). Em produção, você pode trocar pelo gatilho adequado — criação de item, agendamento, chamada de HTTP, etc.

2. Adicione a ação “Send an HTTP Request to SharePoint”

Pesquise pela ação e configure os campos:

  • Site Address: URL do seu site SharePoint (ex: https://empresa.sharepoint.com/sites/meusite)
  • Method: POST
  • Uri: o endpoint para o item específico da lista

3. Monte a URL correta

A URI deve apontar para o item específico que você quer alterar, usando o endpoint ValidateUpdateListItem:

_api/web/lists/GetByTitle('NomeDaLista')/items(ID)/ValidateUpdateListItem

Substitua NomeDaLista pelo título exato da sua lista e ID pelo ID numérico do item a ser alterado.

4. Configure os Headers

Adicione dois headers essenciais:

  • Accept: application/json
  • Content-Type: application/json

5. Monte o Body da requisição (estrutura correta)

Aqui está o ponto crítico — e o que a maioria dos exemplos na internet erra. Não basta passar o e-mail diretamente no valor. O campo FieldValue precisa receber um array com um objeto contendo a propriedade correta:

{
  "formValues": [
    {
      "FieldName": "Author",
      "FieldValue": "[{'Key':'i:0#.f|membership|usuario@empresa.com'}]"
    },
    {
      "FieldName": "Editor",
      "FieldValue": "[{'Key':'i:0#.f|membership|usuario@empresa.com'}]"
    }
  ],
  "bNewDocumentUpdate": true
}

Pontos de atenção:

  • Author = campo “Criado por”
  • Editor = campo “Modificado por”
  • O valor de FieldValue é uma string representando um array JSON com aspas simples
  • i:0#.f|membership| é o prefixo padrão para usuários do tenant Microsoft 365
  • bNewDocumentUpdate: true sinaliza ao SharePoint que é uma atualização válida

Erro comum: por que a primeira tentativa geralmente falha

O erro mais frequente é passar o e-mail diretamente no FieldValue, assim:

"FieldValue": "usuario@empresa.com"  ❌ — não funciona

A requisição pode retornar status 200 (sem erro técnico), mas o campo não é alterado na lista. Isso acontece porque o SharePoint exige a estrutura de array com a chave claim do usuário.

A estrutura correta envolve o claims token do usuário no formato i:0#.f|membership|email, wrapped em um array JSON (passado como string), como mostrado acima.

Testando e verificando o resultado

Após configurar a ação:

  1. Salve o fluxo e clique em Testar manualmente
  2. Execute o fluxo
  3. Vá até a lista no SharePoint e pressione F5
  4. Verifique se os campos “Criado por” e “Modificado por” foram atualizados

Se o fluxo rodar sem erro mas os campos não mudarem, verifique especialmente o formato do FieldValue — ele é a causa em 99% dos casos.

Dicas extras: modificar apenas um dos campos

Você não precisa alterar ambos ao mesmo tempo. Para alterar apenas o “Criado por” (Author), remova o objeto com Editor do array formValues. Da mesma forma, para alterar apenas o “Modificado por”, mantenha somente o objeto com Editor.

Também é possível usar conteúdo dinâmico no Power Automate para passar o e-mail do usuário dinamicamente, em vez de fixar o valor no código.

Perguntas Frequentes

Preciso de permissões especiais para alterar “Criado por” no SharePoint?

Sim. Para alterar o campo Author (Criado por), você precisa ter pelo menos permissão de Gerenciar Listas no site SharePoint, ou ser administrador do site. Usuários comuns com permissão de edição não conseguem sobrescrever o campo Author via API.

O campo “Data de criação” também é alterado ao mudar o “Criado por”?

Não, são campos separados. Este método altera apenas o campo Author (Criado por, que é um campo de pessoa) ou Editor (Modificado por). Os campos de data (Created e Modified) são gerenciados separadamente e não são afetados por esta requisição.

Posso usar esse mesmo método para outros campos somente leitura no SharePoint?

Sim! O endpoint ValidateUpdateListItem permite atualizar qualquer campo de um item, inclusive campos marcados como somente leitura na interface. É uma forma poderosa de manipular dados que o conector padrão do SharePoint não expõe diretamente.

O que é o prefixo “i:0#.f|membership|” no FieldValue?

É o claims token padrão do Microsoft 365 para identificar usuários autenticados via Forms-Based Authentication com membership. Para usuários do tenant Microsoft 365, este prefixo deve sempre ser i:0#.f|membership| seguido do e-mail completo do usuário.

Funciona com contas de convidado (guest) no SharePoint?

Depende do tipo de conta. Contas de convidado externas têm um claims token diferente. Para garantir o funcionamento, é recomendado usar a conta principal do tenant. Contas de convidado podem requerer ajuste no prefixo do claims token.

Conclusão

Alterar os campos “Criado por” e “Modificado por” no SharePoint é possível com o Power Automate usando a ação Send an HTTP Request to SharePoint e o endpoint ValidateUpdateListItem. O segredo está no formato correto do payload — especialmente o FieldValue em formato de array com o claims token do usuário.

Assista ao vídeo completo acima para ver a demonstração ao vivo e entender visualmente cada etapa. Caso queira aprofundar seu conhecimento em Power Automate Cloud, acesse a Formação VICO Power.

Compartilhe nas Redes Sociais:

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *