Como conectar agentes de IA a planilhas com segurança e sem perder dados
Como conectar agentes de IA a planilhas com segurança: estruture a planilha, limite intervalos, registre alterações e permita desfazer qualquer edição.

Para conectar um agente de IA a uma planilha com segurança, dê a ele uma fatia estreita e estruturada da planilha, não o arquivo inteiro. Deixe-o escrever apenas nas colunas que são dele e registre cada alteração com o valor anterior, para que qualquer edição possa ser desfeita. Inclua uma etapa de revisão humana para tudo que toque fórmulas, totais ou linhas das quais outras pessoas dependem.
Principais pontos
- Estruture a planilha primeiro: uma linha de cabeçalho, um registro por linha e uma coluna de ID estável, para que o agente encontre as linhas pela identidade, não pela posição.
- Aplique os limites de intervalo na camada de ferramenta entre o agente e o arquivo, porque instruções dadas ao agente não são um controle de segurança.
- Mantenha um registro de alterações fora da aba de dados, com o valor antigo, o valor novo e um identificador de execução, para que uma execução ruim possa ser revertida.
- Separe as edições em três grupos: o agente escreve direto, o agente propõe e uma pessoa aprova, e o agente nunca faz.
- Trate o conteúdo das células como entrada não confiável. Uma planilha que outras pessoas editam ou que recebe dados de formulários pode carregar instruções que o agente jamais deve seguir.
Como estruturar a planilha antes de conectar um agente?
Uma planilha perdoa muita coisa quando quem lê é uma pessoa, porque pessoas leem o contexto. Sabem que a linha em negrito no meio é um subtotal, que a célula amarela indica dúvida de alguém e que o comentário digitado na coluna de valor é só um comentário. O agente lê a mesma planilha como dados, e cada ambiguidade vira um palpite. A maioria dos incidentes com agentes e planilhas começa aqui, não no modelo.
Antes de qualquer conexão, leve a planilha a um formato que um programa consiga ler sem interpretar:
- Uma linha de cabeçalho com nomes de coluna únicos, que não mudam sem aviso.
- Um registro por linha, sem células mescladas, sem linhas de subtotal no meio dos dados e sem comentários digitados em células de valor.
- Uma coluna de identificador estável. O ID nunca é reaproveitado e nunca depende da ordenação da planilha.
- Um tipo por coluna: datas como datas, valores como números e status escolhido de uma lista fixa de opções permitidas.
- Fórmulas, totais e painéis em abas separadas ou em zonas claramente marcadas, longe dos dados que o agente vai editar.
- Uma aba de leia-me curta que explique, em linguagem simples, o que cada coluna significa, quem é o responsável e se o agente pode escrever nela.
O identificador é o ponto mais importante. Se o agente atualiza a terceira linha porque ela era a terceira quando ele olhou pela última vez, um colega que ordenar a planilha nesse intervalo acabou de desviar a edição para outro registro. Quando o agente sempre localiza a linha pelo ID e relê o valor antes de escrever, ordenar, filtrar e inserir linhas deixam de ser riscos.
A aba de leia-me também serve como documentação para a própria ferramenta. Quanto mais claras as descrições das colunas, menos o agente precisa deduzir. É o mesmo princípio de boas entradas e saídas de ferramentas: uma ferramenta que declara o que aceita e o que devolve causa menos surpresas do que uma que depende de o modelo adivinhar.
Quais intervalos o agente pode acessar?
Comece pelo menor acesso que permita ao agente fazer um trabalho útil. O raciocínio é o mesmo do menor privilégio para agentes de IA: conceda o que o papel exige e amplie só quando a evidência mostrar uma lacuna.
Os produtos de planilha costumam oferecer compartilhamento no nível do arquivo inteiro, às vezes com intervalos protegidos. Isso raramente é detalhado o bastante. Por isso, coloque uma camada fina entre o agente e o arquivo: uma ferramenta que exponha apenas as operações aprovadas e valide cada pedido no servidor, negando por padrão. Essa é a abordagem recomendada nas orientações de autorização da OWASP, e importa aqui porque um prompt pedindo ao agente que fique nas suas colunas é um pedido, não uma barreira.
Um bom conjunto de limites tem cinco camadas:
- Identidade: o agente usa a própria conta, compartilhada em um único arquivo, nunca o seu login pessoal e nunca um drive inteiro.
- Escopo de leitura: um intervalo nomeado com as colunas que a tarefa exige. Salários, anotações pessoais ou abas sem relação ficam de fora.
- Escopo de escrita: apenas as colunas que pertencem ao agente, por exemplo uma categoria sugerida, um status ou uma observação do agente. As colunas de responsabilidade humana ficam somente para leitura.
- Operações: atualizar por ID e acrescentar uma nova linha. Sem excluir, sem ordenar, sem limpar, sem escrever fórmulas e sem alterar configurações de compartilhamento.
- Volume: um teto de quantas linhas uma execução pode alterar. Se a execução passar disso, a ferramenta para e pergunta em vez de continuar.
Coloque também verificações de valor nessa mesma camada. Se a coluna de status aceita quatro valores, a ferramenta rejeita um quinto antes de ele chegar à planilha. Se uma coluna de data recebe texto, a ferramenta recusa. Escritas rejeitadas devem devolver uma mensagem de erro clara que o agente consiga usar, para que ele corrija o pedido em vez de tentar de novo às cegas.
As novas tentativas merecem atenção própria. Redes falham, e um agente que não sabe se o seu registro novo foi gravado pode gravar de novo. Dar a cada escrita uma chave única e verificá-la antes evita linhas duplicadas, que é a ideia central da idempotência em agentes de IA.

O que um registro de alterações deve conter?
O registro de alterações é o que transforma uma edição de preocupação em rotina. Guarde-o em um lugar onde o agente possa acrescentar entradas, mas não editar nem apagar: no mínimo uma aba separada e protegida, ou, melhor, um armazenamento fora da planilha.
Cada entrada deve responder quem, o quê, onde, quando e por quê:
- Um identificador de execução que agrupe todas as alterações feitas em uma mesma rodada.
- O horário da alteração e a identidade que a fez.
- O arquivo, a aba, o ID da linha e a coluna afetados.
- O valor antigo e o valor novo.
- O motivo ou a origem, por exemplo a mensagem, o documento ou a regra que originou a edição.
- O resultado de uma releitura de conferência, confirmando que a célula agora contém o que se pretendia.
Grave a entrada do registro antes de aplicar a alteração e marque como concluída depois da releitura. Se uma execução morrer no meio, você vê exatamente quais edições foram iniciadas e quais terminaram.
O valor antigo é o campo que as pessoas mais pulam, e é ele que torna a recuperação possível. Com ele, reverter uma execução ruim significa reproduzir o registro de trás para frente para um identificador de execução. Sem ele, você fica vasculhando o histórico de versões tentando adivinhar quais edições são do agente.
O histórico de versões da própria planilha é uma segunda camada útil, mas não confie só nele. Ele mistura edições humanas e do agente, é grosseiro, e o tempo de retenção depende do produto e das configurações. O seu registro é específico do agente, e você controla por quanto tempo ele é mantido.
Se você já coleta rastros e logs de outros sistemas, os mesmos hábitos valem aqui. O material introdutório de observabilidade do OpenTelemetry descreve a ideia de registrar detalhes estruturados suficientes para fazer perguntas sobre o comportamento depois que ele aconteceu.
Quais edições exigem revisão humana?
Nem toda edição merece a atenção de uma pessoa, e mandar tudo para revisão ensina os revisores a aprovar sem ler. Decida pelo tipo de edição, usando três grupos:
- O agente pode escrever direto: acrescentar uma linha nova em uma aba de entrada, preencher colunas do agente com sugestões e definir um status a partir da lista permitida.
- O agente propõe, uma pessoa aprova: alterar um valor em coluna de responsabilidade humana, qualquer coisa que envolva valores, datas ou responsáveis, alterações em massa acima do teto de volume e qualquer edição que alimente um relatório que saia da empresa.
- O agente nunca faz: excluir linhas ou abas, editar fórmulas, mudar o compartilhamento ou mexer em intervalos protegidos.
Para o grupo do meio, a revisão precisa ser rápida de ler. Mostre o ID da linha, o valor antigo, o valor proposto e o motivo, uma linha por alteração. O revisor aprova, edita ou rejeita, e a decisão é registrada com o mesmo identificador de execução. A questão de onde o agente deve parar e pedir ajuda vale ser resolvida por coluna, não por projeto, porque cada coluna carrega um risco diferente.
Há ainda um risco específico das planilhas. As células são escritas por muitas mãos, muitas vezes por formulários, importações e contatos externos. Uma célula pode conter um texto como uma instrução para ignorar as regras anteriores, e um modelo que lê a linha pode tratá-lo como um comando. As orientações da OWASP sobre prevenção de injeção de prompt tratam disso em detalhe. Na prática: entregue o conteúdo das células ao modelo como dados, mantenha os limites da ferramenta de escrita independentes do que o modelo diz e nunca deixe o texto de uma célula ampliar as permissões do agente.
Cenário ilustrativo: uma pequena distribuidora mantém uma planilha de acompanhamento de pedidos. Um agente preenche a coluna de status de entrega e a coluna de observação do agente a partir de atualizações das transportadoras. Na primeira semana, dois clientes com o mesmo nome de empresa fazem o agente associar uma atualização ao pedido errado, porque ele cruzou os dados pelo nome. O registro de alterações mostra o identificador da execução, as linhas afetadas e seus valores antigos. O revisor reverte aquela execução em poucos minutos e a equipe muda a ferramenta para cruzar apenas pelo ID do pedido. O erro aconteceu, mas foi visível, ficou limitado às colunas do agente e foi totalmente desfeito.
Qual é um plano seguro para conectar a primeira planilha?
Use uma sequência que mantenha o risco baixo até que haja evidência:
- Primeiro, escolha uma planilha e uma tarefa. Escreva a tarefa em uma frase e o resultado que mostraria que ela funciona, como a parcela de atualizações de status que o revisor aceita sem mudar.
- Segundo, arrume a estrutura: linha de cabeçalho, coluna de ID, colunas tipadas, aba de leia-me e zonas de fórmulas separadas.
- Terceiro, crie a conta própria do agente e compartilhe só esse arquivo com ela. Prefira uma cópia da planilha para os testes, com a mesma separação descrita em ambiente de teste e produção.
- Quarto, construa a camada de ferramenta com intervalos nomeados, operações permitidas, verificações de valor e um teto de linhas. Comece só com leitura.
- Quinto, adicione o registro de alterações e confirme que você consegue reverter uma execução de teste proposital usando apenas o registro.
- Sexto, rode o agente em modo de sugestão: ele grava propostas em uma coluna separada, e as pessoas comparam com o que teriam feito.
- Sétimo, libere escrita direta apenas nas colunas do agente e continue amostrando o registro toda semana. Amplie o escopo um passo de cada vez, e só quando o histórico de revisões sustentar.
O teste de recuperação do quinto passo é o que as equipes pulam. Faça de propósito: provoque uma edição ruim e depois restaure a planilha a partir do registro. Se isso exigir adivinhação, falta alguma coisa no registro.
Como uma operação gerenciada cuida disso?
A Be Human desenha a conexão com a planilha como parte da definição do papel do agente: qual planilha, quais colunas pertencem ao agente, quais edições exigem aprovação e o que conta como sucesso. O agente recebe identidade própria, o acesso é limitado por uma camada de ferramenta e cada alteração é registrada com o valor anterior. Na operação gerenciada, isso inclui revisar permissões, conferir se os registros estão completos, repetir os testes de recuperação quando a estrutura da planilha muda e corrigir a integração quando uma coluna é renomeada ou uma conexão falha.
Perguntas frequentes
Um agente de IA pode editar arquivos do Google Sheets ou do Excel diretamente? Pode, pela interface de programação do produto ou por uma integração, mas o acesso direto ao arquivo raramente é o melhor desenho. Uma camada de ferramenta que expõe só operações aprovadas, valida valores e grava um registro dá um controle que o compartilhamento no nível do arquivo não oferece. Comece com acesso somente leitura e depois acrescente escritas restritas.
O histórico de versões da planilha basta para recuperar dados? Ajuda, mas não deve ser a sua única proteção. Ele mistura alterações humanas e do agente, pode ser difícil filtrar por uma única execução e o tempo de retenção depende do produto. Um registro de alterações próprio, com valores antigos e identificadores de execução, torna a reversão precisa.
E se várias pessoas editarem a planilha enquanto o agente roda? Faça o agente localizar as linhas pelo ID, reler o valor atual imediatamente antes de escrever e pular a edição se o valor mudou desde a última leitura. Registre a edição pulada e envie para revisão. Isso impede que o agente sobrescreva o trabalho de um colega com uma suposição desatualizada.
Quando a planilha é o lugar errado para o agente escrever? Quando muitas pessoas ou sistemas dependem dos dados, quando você precisa de regras rígidas sobre a relação entre registros ou quando as mudanças precisam de auditoria formal. Nesses casos, um banco de dados ou o próprio sistema de gestão é um lugar melhor, e a planilha pode ficar como visualização somente leitura. Definir qual sistema guarda a verdade é uma decisão a tomar antes da integração, não depois do primeiro incidente.
Orientação editorial Be Human. Exemplos são ilustrativos, salvo atribuição explícita. Fontes oferecem contexto; a implementação depende do seu processo.


