Governança de agentes Copilot Studio: o que a v3.2 muda
A v3.2 do whitepaper de governança de agentes traz zonas por Environment Groups, Agent 365 e Agent Store. Veja o impacto prático para quem já tem agentes ativos.

Quando o painel de chat do Copilot é aberto dentro de uma model-driven app, ele não começa com uma tela em branco. Aparece uma lista de sugestões de prompt organizadas em grupos, o que a Microsoft chama internamente de Sparks. São atalhos que o usuário clica em vez de digitar, pensados para reduzir a fricção de “não sei o que perguntar para a IA”.
Por padrão, esses Sparks são gerados automaticamente a partir do schema da tabela ativa: nome das colunas, tipo de dado, relacionamentos. Funciona, mas é genérico. Um prompt como “resuma este registro” serve para qualquer tabela e não carrega nenhum conhecimento do processo de negócio por trás daquele formulário.
A plataforma permite substituir ou complementar essa geração automática por uma lista curada, definida por quem conhece o processo. Isso é feito fora do designer da app, dentro do Copilot Studio, através de um tópico que escuta um evento de sistema chamado RequestSparks.
Prompt genérico tem baixa taxa de clique. Se o usuário abre o painel e vê sugestões que não refletem o que ele realmente precisa fazer naquele registro, ele ignora a lista e digita manualmente, ou pior, fecha o painel. Curar os Sparks é uma forma de codificar conhecimento operacional na interface: em vez de “resuma este chamado”, o prompt pode ser “liste os SLAs em risco deste chamado e sugira a próxima ação”, algo que só faz sentido para quem desenhou o processo.
Há também um efeito de adoção. Times de operação costumam medir uso de Copilot por engajamento com o painel, não só por volume de perguntas digitadas. Prompts relevantes aumentam esse número sem exigir treinamento de usuário final, porque a sugestão já está na tela.
Cada ambiente com o Copilot do Dataverse habilitado tem um agente de sistema associado, reservado para orquestrar o painel de chat das apps model-driven. Ele aparece na lista de agentes do Copilot Studio do ambiente, geralmente com um nome vinculado ao Dataverse ou à app. Não é preciso criar um bot novo, a customização acontece dentro desse agente existente.
Dentro do agente, crie um tópico novo em branco e defina o gatilho como Event, selecionando RequestSparks na lista de eventos de sistema disponíveis. Esse evento é disparado toda vez que o painel do Copilot é aberto e precisa montar a lista de sugestões, antes de qualquer interação do usuário.
É neste ponto que costuma haver confusão: existem vários eventos de sistema listados no Copilot Studio para apps model-driven, alguns relacionados a ações de coluna, outros a comandos. RequestSparks é especificamente o que controla a biblioteca de prompts inicial, não o processamento de uma pergunta já digitada.
Dentro do tópico, use um nó de fórmula Power Fx para popular duas estruturas: uma tabela de grupos e uma tabela de prompts vinculados a esses grupos. A convenção usada pela plataforma é ter um array de grupos (SparksGroups) e um array de itens (SparksArray), onde cada item referencia o grupo ao qual pertence pelo nome.
// Define os grupos que vão aparecer como cabeçalho na lista de sugestões
Set(
Topic.SparksGroups,
Table(
{ Name: "Ações rápidas" };
{ Name: "Análise do registro" }
)
);
// Define os prompts individuais, cada um vinculado a um grupo pelo campo GroupName
Set(
Topic.SparksArray,
Table(
{
GroupName: "Ações rápidas";
Text: "Resuma este registro em três frases";
Prompt: "Resuma o registro atual em ate tres frases, destacando status, responsavel e proxima acao"
};
{
GroupName: "Ações rápidas";
Text: "Sugira uma resposta ao solicitante";
Prompt: "Redija uma resposta profissional ao solicitante com base no historico deste registro"
};
{
GroupName: "Análise do registro";
Text: "Quais riscos este caso apresenta?";
Prompt: "Liste riscos operacionais ou de prazo associados a este registro, considerando prioridade e SLA"
}
)
)Repare na separação entre Text, o rótulo curto que aparece no botão de sugestão, e Prompt, o texto completo que é efetivamente enviado ao modelo quando o usuário clica. Essa distinção existe porque um rótulo bom para interface costuma ser curto demais para gerar uma resposta útil se enviado ao pé da letra. Vale escrever o Text pensando em legibilidade na tela e o Prompt pensando em instrução clara para o modelo, com contexto suficiente para reduzir alucinação.
O evento de sistema espera receber as variáveis preenchidas de volta antes de encerrar o tópico. Confirme, no painel de variáveis do tópico, quais são as variáveis de saída esperadas pelo evento no seu ambiente, porque o nome exato pode variar entre versões do Copilot Studio. Depois de mapear SparksGroups e SparksArray como saída, salve o tópico e publique o agente. Sem a publicação, a app continua usando a versão anterior do comportamento, mesmo que o tópico esteja salvo.
Abra a model-driven app, entre em um registro da tabela alvo e abra o painel do Copilot. Os grupos e prompts customizados devem substituir, total ou parcialmente, a lista gerada automaticamente. Teste em pelo menos três cenários: registro novo sem dados preenchidos, registro existente com histórico e um usuário com permissões restritas na tabela, para confirmar que nenhum prompt sugerido referencia um dado que aquele perfil não deveria ver.
Um único tópico pode atender várias tabelas se o evento expuser o nome lógico da tabela atual como variável de contexto. Nesse caso, use um Switch em Power Fx para montar arrays diferentes conforme a tabela, em vez de duplicar tópicos.
Set(
Topic.SparksArray,
Switch(
Topic.TableLogicalName;
"incident"; Table(
{ GroupName: "Suporte"; Text: "Priorize este chamado"; Prompt: "Avalie a prioridade deste chamado com base em SLA e impacto relatado" }
);
"opportunity"; Table(
{ GroupName: "Vendas"; Text: "Próximo passo desta oportunidade"; Prompt: "Sugira o proximo passo comercial desta oportunidade com base no estagio atual" }
);
// valor padrão para tabelas sem regra especifica
Table(
{ GroupName: "Geral"; Text: "Resuma este registro"; Prompt: "Resuma o registro atual em ate tres frases" }
)
)
)Essa abordagem centraliza a manutenção em um lugar só, o que ajuda governança, mas cria um tópico mais longo e mais arriscado de editar sem revisão. Em ambientes com muitas tabelas customizadas, considerar dividir em tópicos menores por área de negócio costuma compensar a duplicação, porque reduz o raio de impacto de um erro de fórmula.
Prompt library customizada é conteúdo de negócio disfarçado de configuração técnica. Quem escreve o texto dos Sparks está, na prática, definindo qual pergunta a organização considera relevante fazer sobre aquele processo, e isso muda com o tempo. Faz sentido tratar esse tópico como um artefato versionado, com dono definido e revisão periódica, da mesma forma que se trata um relatório ou um formulário de negócio, não como um ajuste único de configuração que se esquece depois de publicado.
Vale também documentar, fora do Copilot Studio, o racional de cada prompt: por que aquele texto foi escolhido, para qual perfil de usuário ele foi pensado, e quando foi revisado pela última vez. Sem isso, o tópico vira uma caixa preta que ninguém quer mexer depois que quem escreveu sai do projeto.
Personalizar a prompt library é um ajuste pequeno em superfície, mas mexe direto na percepção de utilidade do Copilot dentro da operação. É esse tipo de detalhe de arquitetura que costuma aparecer quando revisamos implantações de Copilot com clientes na Trinapse, decidindo o que vale automatizar via evento de sistema e o que exige orquestração mais ampla no Copilot Studio.
A v3.2 do whitepaper de governança de agentes traz zonas por Environment Groups, Agent 365 e Agent Store. Veja o impacto prático para quem já tem agentes ativos.
Guia técnico para conectar Copilot Studio ao ServiceNow via OAuth2: base de conhecimento, listagem de incidents e o erro invalid redirect_uri resolvido.
Aprenda a gerar documento Word no Copilot Studio a partir de um template com placeholders, dados do Excel, Dataverse e Power Automate, do chat ao arquivo pronto.