Copilot Studio em Canvas Apps: guia do ChatControl PCF
O controle nativo de Copilot em Canvas Apps foi descontinuado. Veja como usar o ChatControl PCF do Copilot Studio com SSO e contexto bidirecional.

Todo mundo que já trabalhou com SharePoint por tempo suficiente já passou pela mesma dor: alguém precisa preencher um formulário e o resultado tem que virar um documento Word ou PDF formatado, com aparência profissional, pronto para assinatura ou envio. Historicamente, isso exigia Quick Parts configurados a dedo, ou um fluxo de Power Automate populando um template com a ação de preenchimento de documento. Funcionava, mas dava trabalho, e qualquer mudança de layout obrigava a revisar mapeamentos.
O SharePoint Structured Documents muda essa equação. É um recurso novo, ainda em rollout, que permite criar um template Word comum, conectar esse template a um formulário e gerar automaticamente um documento preenchido, em Word ou PDF, toda vez que alguém enviar uma resposta. Sem código, sem mapeamento manual de campos.
O fluxo em alto nível funciona assim: você cria um template Word com texto de marcação onde os campos devem aparecer. Depois, na biblioteca de documentos do SharePoint, usa a opção de formulário de geração de documentos. O Copilot analisa o template e detecta os campos automaticamente. Por fim, o usuário final preenche o formulário, e o documento completo é gerado na biblioteca em segundos.
Antes de sair criando templates, vale entender a regra de licenciamento, porque ela é mais simples do que parece à primeira vista.
Na prática, isso significa que uma única licença Copilot, na mão da pessoa certa (RH, jurídico, atendimento, quem administra os templates), viabiliza geração de documentos para uma organização inteira, sem custo adicional por usuário final.
O ponto de partida é um documento Word comum. Nada de content controls, nada de Quick Parts, nada de formatação especial. Você abre o Word, monta o layout e a identidade visual que quer no documento final, e escreve texto de marcação exatamente onde cada campo deve aparecer.
A recomendação prática é colocar colchetes ao redor de cada placeholder, por exemplo [Nome do Cliente] ou [Data do Evento]. Isso não é cosmético: é o que ajuda o Copilot a reconhecer os campos com precisão quando ele analisa o documento. Templates com marcação ambígua, sem colchetes ou com texto genérico demais, tendem a gerar detecção incorreta de campos, exigindo mais correção manual depois.
Salve o documento normalmente. Esse arquivo é o único artefato que você precisa antes de ir para o SharePoint.
Com o template pronto, o próximo passo acontece direto na biblioteca de documentos.
A partir daqui, o Copilot entra em ação e analisa o template, identificando os campos que encontrou, algo como data do evento, nome do cliente, tipo de contrato, e assim por diante. Na prática, a taxa de acerto é alta quando o template usa colchetes de forma consistente.
Depois da detecção, você refina cada campo antes de publicar.
Se a organização de arquivos por pasta não for o seu padrão preferido, lembre que é possível criar uma exibição da biblioteca sem pastas, mostrando os itens de forma plana. Isso não muda onde o arquivo é fisicamente armazenado, só a forma como ele é exibido.
Esta é a parte que diferencia o Structured Documents de qualquer solução anterior baseada em Quick Parts ou fluxo. Ao voltar para o formulário na biblioteca e abrir o template no Word, você ganha um painel lateral novo, conectado diretamente aos campos do SharePoint.
O painel tem dois botões principais:
Um detalhe que muda o fluxo de trabalho: qualquer campo criado dentro do Word aparece automaticamente no formulário que o usuário final vai preencher. Não existe uma etapa separada de sincronização, o template e o formulário são a mesma fonte de verdade.
Esta é, sem exagero, a funcionalidade mais relevante do recurso inteiro. O SharePoint Structured Documents permite que partes do documento apareçam ou desapareçam de acordo com a resposta que o usuário deu no formulário.
Pense em contratos, propostas comerciais, termos de confirmação, escopos de trabalho ou qualquer documento cuja redação muda dependendo do cenário. Uma cláusula de responsabilidade que só se aplica a eventos ao ar livre. Um parágrafo de condições especiais que só entra quando o valor do contrato ultrapassa determinado limite. Um bloco jurídico que muda conforme o tipo de cliente selecionado. Antes, isso exigia múltiplos templates ou lógica complexa de fluxo. Agora, é um único template com regras.
O processo para criar uma seção condicional:
É possível empilhar várias condições no mesmo template: uma seção que aparece só para eventos ao ar livre, outra que aparece só para clientes corporativos, outra que aparece só quando o número de participantes ultrapassa um limite. As condições podem se basear em campos de escolha, campos numéricos e outros tipos suportados. Quando o usuário final preenche o formulário, apenas as seções relevantes para as respostas dele entram no documento gerado, o resto simplesmente não aparece.
Há um detalhe operacional que vale registrar: se uma seção condicional depende do valor de um campo, marque esse campo como obrigatório no formulário. Caso contrário, o usuário pode pular o campo e o sistema fica sem base para decidir se a seção deve ou não entrar no documento final, o que gera inconsistência silenciosa.
Depois de configurar tudo, clique em Publicar e abrir em Formulários, no canto inferior direito, para colocar as mudanças em produção.
Com o template publicado, basta voltar em Formulários na biblioteca, clicar no formulário e copiar o link. Esse link pode ser enviado por e-mail, Teams, uma página do SharePoint, ou qualquer canal que faça sentido para o processo.
Quando o usuário abre o link, vê um formulário limpo, preenche os campos e envia. O documento completo, Word ou PDF, é gerado na hora e colocado na pasta configurada anteriormente. Por padrão, o nome do arquivo gerado é o nome de quem preencheu, seguido de um número incremental, não é personalizável no momento.
Vale reforçar o ponto de licenciamento aqui: quem preenche não precisa de acesso ao site do SharePoint. O link do formulário basta.
Em muitos cenários, o ideal é que o resultado final não possa ser editado depois de gerado, especialmente quando o documento vai para assinatura ou arquivamento formal. Para isso:
A partir daí, cada envio de formulário gera um PDF na biblioteca, em vez de um documento Word editável. Um limite importante a registrar: a geração de PDF não é suportada para templates criptografados ou templates com rótulo de sensibilidade aplicado. Se o template usa rótulos do Microsoft Purview Information Protection, é preciso validar esse comportamento antes de assumir que o PDF vai ser gerado normalmente em produção.
O Structured Documents elimina a necessidade de Power Automate para gerar o documento em si, mas o Power Automate continua útil para um problema colateral: como entregar uma cópia do arquivo para quem preencheu o formulário, já que essa pessoa pode não ter acesso à biblioteca.
O fluxo é simples de montar:
Created By Email, que traz o e-mail de quem enviou o formulário.A partir daqui existem duas abordagens, com trade-offs diferentes:
Se o usuário final tiver algum nível de acesso à biblioteca, inclua o conteúdo dinâmico de link do item como hyperlink no corpo do e-mail. Essa é a prática recomendada porque mantém uma única fonte de verdade, sem cópias do documento circulando por caixas de e-mail, o que facilita auditoria e controle de versão.
Quando o usuário final não tem acesso à biblioteca, a alternativa é anexar o arquivo diretamente ao e-mail:
1. Adicione a ação "Obter conteúdo do arquivo" antes da ação de e-mail
2. No campo "Identificador do arquivo", use o conteúdo dinâmico de identificador vindo do gatilho
3. Na ação "Enviar um e-mail", abra os parâmetros avançados e adicione um anexo
4. Defina "Nome do anexo" como o nome do arquivo com extensão
5. Defina "Conteúdo do anexo" como o conteúdo retornado por "Obter conteúdo do arquivo"Essa segunda opção exige mais passos de configuração e aumenta o tamanho do e-mail, então vale reservá-la para os casos em que o destinatário realmente não tem, nem deveria ter, acesso à biblioteca. Nada impede combinar as duas abordagens no mesmo fluxo, enviando link e anexo ao mesmo tempo, para cobrir cenários mistos de acesso na organização.
Dentro das configurações do formulário existem alguns ajustes que passam despercebidos, mas têm impacto direto na operação do dia a dia:
Vale ser direto sobre o que o recurso ainda não faz, porque isso evita frustração em produção:
O caso de uso mais óbvio é qualquer processo que hoje depende de alguém copiar e colar dados manualmente em um Word ou preencher um PDF à mão, seja para gerar contratos, propostas, termos de confirmação, cartas padrão ou relatórios estruturados. Se esse processo já tem um template relativamente estável, com variações previsíveis de conteúdo, o Structured Documents substitui tanto o trabalho manual quanto uma automação via Power Automate que só existia para resolver esse preenchimento.
A combinação de detecção automática de campos por IA, edição nativa dentro do Word e seções condicionais reduz bastante o tempo de setup comparado com content controls e mapeamento manual. Isso não elimina o Power Automate do cenário, mas muda o papel dele: em vez de gerar o documento, ele passa a cuidar da distribuição, notificação e integração com outros sistemas, que é onde o Power Automate realmente entrega valor.
Vale considerar uma licença Microsoft 365 Copilot ao menos para quem vai administrar os templates. O custo dessa licença tende a se pagar rápido em processos que hoje consomem tempo repetitivo de alguém montando documento por documento.
Se sua organização já mapeou processos que dependem de geração recorrente de Word ou PDF a partir de formulários, vale avaliar onde o Structured Documents substitui automações existentes e onde ele exige redesenho do template. Esse tipo de decisão de arquitetura é conversa natural para quem já acompanha nosso trabalho com SharePoint e Power Platform.
O controle nativo de Copilot em Canvas Apps foi descontinuado. Veja como usar o ChatControl PCF do Copilot Studio com SSO e contexto bidirecional.
Como criar human-in-the-loop no Copilot Studio com custom connector e webhook action, sem depender de e-mail ou card no Teams. OpenAPI, fila e riscos do notificationUrl.
Entenda a base de ALM para Copilot Studio: ambientes Dev/Test/Prod, solutions gerenciadas, variáveis de ambiente, pipelines e avaliações de agentes de IA.