Você criou um agente do Copilot Studio para consultar ou atualizar uma tabela do Dataverse, mas o agente responde com erro ou não retorna dados. Isso geralmente acontece porque o agente não tem a função de segurança correta ou a tabela do Dataverse não está configurada adequadamente para acesso público. O agente do Copilot Studio usa as credenciais do criador em tempo de design, mas em tempo de execução é executado sob uma entidade de serviço ou usuário anônimo, o que exige permissões explícitas na tabela. Este artigo explica as três causas mais comuns e fornece correções passo a passo para cada uma.
Principais conclusões: Acesso a tabelas do Dataverse para agentes do Copilot Studio
- Power Platform admin center > Ambientes > Segurança > Funções: Atribua a função de segurança Usuário Básico e uma função personalizada com privilégios de leitura ou gravação na tabela de destino ao usuário do aplicativo do Copilot Studio.
- Propriedades da tabela do Dataverse > Opções avançadas: Ative a configuração “Permitir uso anônimo” para conceder acesso em tempo de execução sem uma sessão de usuário nomeado.
- Tópico do Copilot Studio > Conector do Dataverse: Verifique se a referência de conexão aponta para o ambiente e o nome lógico da tabela corretos e teste novamente após salvar o tópico.
Por que o agente do Copilot Studio não consegue acessar a tabela do Dataverse
Quando você adiciona uma ação do conector do Dataverse a um tópico do Copilot Studio, o agente tenta ler ou gravar dados de uma tabela específica. Em tempo de design, o agente usa sua conta de usuário e as permissões da sua função de segurança. Em tempo de execução, no entanto, o agente é executado sob uma identidade diferente. Para agentes publicados em um site ou no Microsoft Teams, a identidade de tempo de execução é um usuário de aplicativo criado automaticamente no ambiente de destino. Para usuários autenticados, a identidade de tempo de execução é o usuário conectado.
O usuário do aplicativo é criado com a função Usuário Básico por padrão. Essa função permite que o usuário leia dados do ambiente, mas não concede acesso a tabelas personalizadas. Se a tabela do Dataverse for uma tabela personalizada ou tiver acesso restrito, o agente falhará com erros como “Acesso negado”, “Objeto não encontrado” ou “O registro não existe”. A correção envolve conceder a função de segurança correta ao usuário do aplicativo e, em alguns casos, habilitar o uso anônimo na própria tabela.
Mensagens de erro comuns
O texto exato do erro varia conforme o cenário. As mensagens mais frequentes são:
- “Acesso negado à tabela ‘table_name’”
- “O registro não existe ou você não tem permissão para visualizá-lo”
- “Referência de objeto não definida para uma instância de um objeto”
- “Não foi possível conectar ao Dataverse. Verifique suas configurações de conexão.”
Todos esses erros apontam para a mesma causa raiz: a identidade de tempo de execução não tem os privilégios necessários na tabela do Dataverse.
Etapas para conceder acesso do agente do Copilot Studio a uma tabela do Dataverse
Método 1: Atribuir uma função de segurança ao usuário do aplicativo do Copilot Studio
- Abra o Power Platform admin center
Acesse admin.powerplatform.microsoft.com. Faça login com uma conta de administrador global ou administrador do Power Platform. - Selecione o ambiente de destino
Na navegação à esquerda, clique em Ambientes. Encontre o ambiente onde seu agente do Copilot Studio está publicado. Clique no nome do ambiente para abrir seus detalhes. - Navegue até as configurações de segurança
No painel de detalhes do ambiente, clique em Configurações. Na seção Usuários + permissões, clique em Usuários. - Localize o usuário do aplicativo
Na página de Usuários, altere a exibição de Usuários Habilitados para Usuários do Aplicativo. Procure um usuário com o nome “Copilot Studio” ou “Microsoft Copilot Studio”. O ID do usuário do aplicativo corresponde ao ID da entidade de serviço do agente do Copilot Studio. - Edite as funções do usuário
Selecione o usuário do aplicativo e clique em Gerenciar funções. Na caixa de diálogo de seleção de funções, marque a caixa para Usuário Básico se ainda não estiver marcada. Em seguida, marque a caixa para uma função de segurança personalizada que conceda permissões de leitura, gravação ou ambas na tabela do Dataverse de destino. Se essa função não existir, você deve criá-la primeiro. - Salve as alterações
Clique em Salvar. O usuário do aplicativo agora tem os privilégios necessários. Teste novamente o agente no Copilot Studio.
Método 2: Criar uma função de segurança personalizada para a tabela
- Abra o Power Platform admin center
Navegue até o mesmo ambiente do Método 1. - Vá para Funções de segurança
Clique em Configurações > Usuários + permissões > Funções de segurança. - Crie uma nova função
Clique em Nova função. Dê à função um nome descritivo, por exemplo “Agente Copilot – Leitura de Tabela”. - Configure as permissões em nível de tabela
No editor de funções, vá para a guia Entidades Personalizadas. Encontre sua tabela do Dataverse de destino na lista. Para cada privilégio (Ler, Gravar, Criar, Excluir, Anexar, Anexar a, Atribuir, Compartilhar), selecione o nível de acesso apropriado. Para a maioria dos agentes, Ler é suficiente para operações de consulta. Gravar é necessário para ações de criação ou atualização. - Salve a função
Clique em Salvar e Fechar. Em seguida, atribua essa função ao usuário do aplicativo do Copilot Studio usando as etapas 4 a 6 do Método 1.
Método 3: Habilitar o uso anônimo na tabela do Dataverse
Se seu agente for publicado em um site anônimo e a tabela precisar ser acessível sem autenticação de usuário, você deve habilitar o uso anônimo na tabela.
- Abra o portal do Power Apps Maker
Acesse make.powerapps.com e selecione o ambiente correto. - Abra as tabelas do Dataverse
Na navegação à esquerda, expanda Dataverse e clique em Tabelas. - Selecione sua tabela
Encontre a tabela que o agente precisa acessar. Clique no nome da tabela para abrir suas propriedades. - Habilite o uso anônimo
No painel de propriedades da tabela, clique em Opções avançadas. Role até a seção Acesso. Defina Permitir uso anônimo como Sim. Essa configuração permite que a tabela seja lida por chamadores não autenticados, incluindo o tempo de execução do agente do Copilot Studio. - Salve a tabela
Clique em Salvar. A alteração entra em vigor imediatamente. Teste novamente o agente.
Se o agente ainda não conseguir acessar a tabela do Dataverse
O agente usa um nome lógico de tabela incorreto
Abra o tópico no Copilot Studio que contém a ação do conector do Dataverse. Clique no nó da ação para inspecionar suas propriedades. Verifique se o campo Tabela contém o nome lógico da tabela, não o nome de exibição. O nome lógico geralmente é todo em minúsculas e sem espaços, por exemplo cr977_incidentreport. Se o nome estiver errado, selecione a tabela correta no menu suspenso ou digite o nome lógico manualmente.
O agente se conecta ao ambiente errado
Cada ação do conector do Dataverse inclui uma Referência de conexão. Essa referência aponta para um ambiente específico. Se você publicou o agente no ambiente A, mas a referência de conexão aponta para o ambiente B, a tabela não será encontrada. Abra a referência de conexão no Copilot Studio e confirme se o ambiente corresponde àquele onde a tabela existe.
As permissões foram atualizadas, mas o agente ainda falha
As alterações de função de segurança no Dataverse podem levar até 15 minutos para serem propagadas. Aguarde 15 minutos e reinicie o agente do Copilot Studio fechando o chat de teste e abrindo um novo. Se o problema persistir, remova o usuário do aplicativo do ambiente e deixe o Copilot Studio recriá-lo. Para remover o usuário, vá para Power Platform admin center > Ambientes > seu ambiente > Configurações > Usuários > Usuários do Aplicativo, selecione o usuário do aplicativo do Copilot Studio e clique em Excluir. Republique o agente para acionar a recriação do usuário do aplicativo.
| Item | Agente em Site Anônimo | Agente Autenticado no Teams |
|---|---|---|
| Identidade de tempo de execução | Usuário do aplicativo (entidade de serviço) | Usuário conectado (conta do Microsoft Entra ID) |
| Permissão necessária | Função Usuário Básico + função personalizada OU habilitar uso anônimo na tabela | Função de segurança do Dataverse do próprio usuário |
| Configuração de uso anônimo | Deve estar definida como Sim na tabela | Não é necessária |
| Atribuição de função | Atribuir função ao usuário do aplicativo no Power Platform admin center | Atribuir função a cada usuário por meio do gerenciamento padrão de funções de segurança do Dataverse |
Este artigo abordou as três principais correções para um agente do Copilot Studio que não consegue usar uma tabela do Dataverse: atribuir uma função de segurança ao usuário do aplicativo, criar uma função personalizada com permissões específicas da tabela e habilitar o uso anônimo na tabela. Após aplicar a correção adequada, abra seu agente no Copilot Studio e execute uma consulta de teste na tabela para confirmar que o problema foi resolvido. Como dica avançada, use a ação “Listar registros” do conector do Dataverse com um filtro para verificar se o agente consegue conectar e filtrar dados corretamente.