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.

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
Alterar Criado por e Modificado por no SharePoint via Power Automate

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 *