Copilot Studio em Canvas Apps: guia do ChatControl PCF

Por Erick Alves de Moura
Copilot Studio em Canvas Apps: guia do ChatControl PCF

O controle nativo de Copilot em Canvas Apps está com prazo de validade

Se você já colocou um assistente de IA dentro de um Canvas App usando o controle nativo de Copilot, sabe como era simples: arrastar, soltar, configurar o agente e seguir em frente. Esse caminho está fechado para apps novos. A partir de 2 de fevereiro de 2026, o controle nativo não pode mais ser adicionado a Canvas Apps criados depois dessa data. Apps que já usam o controle continuam funcionando por um tempo, mas a Microsoft já deixou claro que essa é uma peça em fim de vida útil.

A recomendação oficial é migrar para o Microsoft 365 Copilot em Canvas Apps, o substituto nativo que a Microsoft está lançando. O problema prático é que esse recurso ainda não está disponível em todos os ambientes, e o cronograma de rollout varia conforme tenant, região e licenciamento. Se você tem um app em produção que precisa de um agente embutido agora, esperar não é uma opção realista.

É nesse intervalo que entra o ChatControl, um componente PCF publicado no repositório de exemplos do Copilot Studio no GitHub. Ele não é apenas um substituto temporário: traz recursos que o controle antigo nunca teve, como estilização própria e comunicação bidirecional entre o app e o agente.

O que é o ChatControl PCF e onde ele se encaixa

Antes de entrar na configuração, vale alinhar dois conceitos para quem não trabalha com isso todos os dias.

Canvas Apps, rapidamente

Canvas Apps são um dos tipos de aplicativo do Power Apps, construídos em um editor visual de arrastar e soltar, com controle de layout no nível do pixel. Você posiciona controles no canvas, conecta fontes de dados e escreve a lógica em Power Fx. É o formato típico para ferramentas de campo, telas de consulta de cliente, painéis de aprovação e qualquer app de propósito específico que não justifique um desenvolvimento code-first completo.

PCF, o framework de componentes do Power Apps

PCF é a sigla para Power Apps Component Framework. Ele permite construir controles customizados e reutilizáveis usando TypeScript, HTML e CSS, e depois usá-los dentro do Power Apps como qualquer controle nativo. Quando o catálogo de controles padrão não cobre o que você precisa, PCF é o mecanismo de extensão da plataforma. Os controles são empacotados como soluções do Power Platform, o que permite importar e distribuir o mesmo componente entre ambientes diferentes.

O ChatControl é exatamente isso: um componente PCF que empacota o Bot Framework WebChat e o M365 Agents SDK dentro de um controle que você arrasta para o Canvas App. Por trás da superfície de chat, ele fala com o Copilot Studio usando a mesma stack de comunicação que sustenta implementações web de agentes fora do Power Apps.

Um detalhe operacional que costuma pegar quem nunca usou PCF: componentes desse tipo precisam estar habilitados no ambiente antes de aparecerem como opção dentro do Canvas App. Se você é administrador de um ambiente restritivo, essa é a primeira verificação a fazer antes de importar a solução.

Por que não simplesmente esperar o substituto oficial

É uma pergunta justa. Se a Microsoft já anunciou o caminho recomendado, por que não aguardar o rollout completo? Três motivos práticos costumam pesar mais do que a preferência por ficar no trilho oficial.

  • Disponibilidade desigual. O Microsoft 365 Copilot em Canvas Apps depende de licenciamento e de liberação por ambiente, e nem toda organização tem acesso hoje.
  • Janela de descontinuação real. Apps novos já não podem usar o controle antigo a partir de fevereiro de 2026, o que cria uma lacuna concreta para quem está entregando projetos agora.
  • Ganho funcional, não só de paridade. O ChatControl PCF não é uma muleta até o substituto chegar. Ele resolve cenários que o controle nativo simplesmente nunca cobriu, principalmente troca de contexto entre app e agente.

O que o ChatControl PCF entrega que o controle antigo não entregava

SSO nativo via M365 Agents SDK

O controle usa o M365 Agents SDK para TypeScript para estabelecer a conexão com o agente do Copilot Studio, com suporte a single sign-on de fábrica. Na prática, o usuário que já está autenticado no Microsoft 365 não vê um segundo prompt de login ao abrir o chat dentro do Canvas App.

Esse comportamento não é automático de instalação. Exige um registro de aplicativo no Azure AD com as permissões corretas, além de configuração equivalente no lado do Copilot Studio para que o agente aceite o token emitido por esse registro. É trabalho de plataforma, feito uma vez por ambiente, não por app, e deve ser tratado como parte da esteira de governança de identidade da organização, não como um ajuste isolado feito pelo criador do Canvas App.

Estilização baseada no Bot Framework WebChat

Como o ChatControl é construído sobre o Bot Framework WebChat, ele herda as mesmas opções de estilo que o WebChat expõe nativamente: cores, tipografia, layout de bolha de mensagem, cabeçalho. Isso significa que o chat pode seguir o guia de marca da organização em vez de aparecer como um widget genérico colado na tela. Para quem já trabalhou com WebChat fora do Power Apps, a curva de aprendizado aqui é praticamente zero, porque as propriedades de estilo são as mesmas.

Contexto do app para o agente

Este é o ponto que separa um chat embutido de uma integração real. O ChatControl permite que o Canvas App envie mensagens e eventos customizados diretamente para o agente, sem depender do usuário digitar o contexto manualmente.

Um exemplo simples ilustra o ganho. Em um app que exibe registros de clientes, o usuário seleciona um cliente e abre o chat. Em vez de o usuário precisar escrever “estou olhando o cliente X”, o app dispara esse contexto automaticamente no momento em que a conversa começa. O agente já sabe de quem se trata antes da primeira pergunta e pode buscar informações relevantes sem interrogatório prévio.

Esse tipo de passagem de contexto transforma o agente de um assistente genérico em algo que se comporta como parte do próprio app.

Resposta do agente de volta para o app

A comunicação funciona nas duas direções. O Canvas App pode capturar respostas do agente e agir sobre elas, fora da janela de chat. Alguns padrões que essa capacidade viabiliza:

  • O agente consulta o histórico de um cliente e devolve um resumo, que o app exibe em um painel dedicado, sem exigir que o usuário leia a conversa inteira.
  • O agente sugere um endereço atualizado para um contato, e o app usa essa resposta para pré-preencher um formulário de atualização, deixando o usuário apenas confirmar e salvar.
  • O agente classifica uma solicitação recebida, e o app usa essa classificação para decidir o roteamento de um fluxo de aprovação ou atendimento.

Essa troca em duas vias é o que diferencia um chat simplesmente embutido de uma experiência de fato integrada. App e agente passam a colaborar dentro do mesmo fluxo de trabalho, em vez de existirem como vizinhos na mesma tela.

Pré-requisitos e o caminho de implantação

Antes de importar a solução, valide estes pontos:

  • Um agente do Copilot Studio publicado e configurado com autenticação Microsoft.
  • Um registro de aplicativo no Azure com as permissões necessárias para SSO.
  • Permissão de System Administrator no ambiente do Power Platform de destino.
  • Componentes PCF habilitados nesse mesmo ambiente.

O ChatControl é distribuído como um arquivo de solução do Power Platform. Você importa essa solução no ambiente e depois adiciona o componente ao Canvas App como faria com qualquer controle nativo. As propriedades de configuração incluem o client ID do app Azure, o tenant ID, o ID do ambiente e o identificador do agente. Um exemplo simplificado de como essas propriedades costumam ser referenciadas em uma fórmula do Canvas App:

// Definindo o contexto do cliente selecionado antes de abrir o chat
Set(
    varContextoAgente,
    {
        tipo: "SelecaoCliente",
        clienteId: ThisItem.ID,
        clienteNome: ThisItem.Nome
    }
);

// Disparando o evento customizado para o ChatControl
ChatControl1.EnviarEvento(JSON(varContextoAgente, JSONFormat.Compact))

O nome exato da propriedade e do método de envio de evento varia conforme a versão da solução importada, então trate o trecho acima como ilustrativo da lógica, não como sintaxe fixa. O guia de configuração publicado junto ao componente no GitHub detalha cada etapa, incluindo o registro do app no Azure, o ajuste do limite de tamanho de arquivo para importação da solução (um detalhe que trava silenciosamente a importação em vários tenants) e a ligação das propriedades no Canvas App.

Quando usar o ChatControl e quando esperar o substituto nativo

CenárioRecomendação
Precisa de um agente embutido em Canvas App agoraUse o ChatControl PCF
Precisa de estilização alinhada à marca da empresaUse o ChatControl PCF
Precisa de troca de contexto entre app e agenteUse o ChatControl PCF
Ambiente não permite uso de controles PCFEspere o Microsoft 365 Copilot nativo em Canvas Apps
O app em questão é model-driven, não canvasUse o Microsoft 365 Copilot em model-driven apps
É um app web fora do Power AppsAvalie embedding direto de WebChat

Riscos e decisões de arquitetura a considerar

Adotar um componente de amostra da comunidade, ainda que publicado oficialmente pela equipe de Copilot Studio, é diferente de adotar um recurso nativo suportado por SLA. Vale registrar isso na decisão:

  • Ciclo de vida do componente. Trata-se de código de exemplo, não de um produto com roadmap garantido. Fixe a versão da solução usada em produção e teste antes de atualizar.
  • Superfície de manutenção. Como o controle é PCF, qualquer customização mais profunda de estilo ou comportamento exige alguém confortável com TypeScript e com o modelo de build do PCF, não apenas com Power Fx.
  • Governança de identidade. O SSO depende de um registro de app no Azure AD configurado corretamente. Trate esse registro com o mesmo rigor de revisão de permissões que você aplicaria a qualquer integração corporativa, porque ele abre caminho de autenticação entre o Canvas App e o agente.
  • Plano de migração futuro. Ao adotar o ChatControl como solução de curto e médio prazo, mapeie desde já o que muda quando o Microsoft 365 Copilot nativo em Canvas Apps chegar ao seu ambiente, principalmente se você já investiu em lógica de contexto bidirecional que pode não ter equivalente direto no recurso nativo.

O ChatControl PCF resolve um problema real de calendário: o controle antigo sai, o novo ainda não chegou para todo mundo, e a operação não pode esperar. Mas a decisão de arquitetura vai além de tapar essa lacuna, porque as capacidades de contexto bidirecional que ele traz mudam o tipo de experiência que um Canvas App pode oferecer, com ou sem substituto nativo no horizonte.

Se sua organização está avaliando onde embutir agentes do Copilot Studio, seja em Canvas Apps, portais ou outros pontos do ecossistema Microsoft 365, essa é justamente a conversa que costuma abrir um projeto bem desenhado com a Trinapse.

Ver mais artigos

Entre em Contato

Vamos juntos transformar sua dor
em solução!

#moveFast