Aprenda a transformar automaticamente cada resposta do Microsoft Forms em um PDF elegante e enviá‑lo por e‑mail ao destinatário certo — tudo com o Power Automate, sem escrever código e com governança para ambientes corporativos.
O que você vai construir
Neste guia completo, você criará um fluxo do Power Automate que:
- É acionado quando uma nova resposta é enviada no Microsoft Forms.
- Obtém os detalhes da resposta e preenche um modelo do Word com os dados.
- Converte o documento em PDF.
- Envia o PDF por e‑mail para um endereço dinâmico (por exemplo, o próprio respondente ou um campo específico do formulário).
Resumo ultra‑rápido
- Gatilho: Quando uma nova resposta for enviada (Microsoft Forms).
- Dados: Obter detalhes da resposta.
- Montagem: Word Online (Business) → Preencher modelo.
- Conversão: Word Online → Converter documento em PDF.
- Envio: Outlook (V2) → Enviar e‑mail com o PDF anexado e destinatário dinâmico.
Por que essa arquitetura funciona
O Forms é ótimo para coletar dados, mas não exporta PDFs nativamente. O Word Online (Business) oferece o preenchimento de modelos (.docx) com controles de conteúdo — ideal para “fundir” respostas em um layout profissional — e a conversão direta para PDF. O Outlook (ou Gmail/SMTP) fecha o circuito com a entrega. Todos são conectores padrão no Microsoft 365, o que simplifica licenciamento e suporte.
Pré‑requisitos
- Assinatura Microsoft 365 com acesso a Microsoft Forms, OneDrive ou SharePoint, Word Online (Business) e Outlook.
- Uma conta com permissão para criar fluxos no Power Automate.
- Um formulário no Microsoft Forms (pessoal ou da organização) já publicado.
- Um local para guardar o modelo do Word (.docx): OneDrive para Empresas ou uma biblioteca do SharePoint.
Dica de validação: se o formulário for interno, ative “Registrar nome/e‑mail do respondente” nas configurações do Forms. Se for público, crie uma pergunta do tipo Texto com validação de e‑mail para capturar o endereço de destino de forma segura.
Planejando os dados do formulário
Facilite o mapeamento criando perguntas claras e, quando possível, nomes consistentes. Use esta tabela de referência para planejar o PDF:
Pergunta no Forms | Tipo | Como aparecerá no PDF | Observações |
---|---|---|---|
Nome completo | Texto | Campo simples | Usar controle de conteúdo de Texto simples no Word |
E‑mail do destinatário | Texto (com validação de e‑mail) | Não impresso (usado só para envio) | Mapeie em variável no fluxo |
Data do atendimento | Data | Campo simples (formatado) | Formate com formatDateTime no fluxo |
Itens selecionados | Escolha múltipla | Lista/tabela no PDF | Use seção repetida no Word (opcional) |
Observações | Resposta longa | Bloco de texto | Controle de conteúdo de texto rico |
Preparando o modelo do Word (.docx)
- Abra o Word no computador (versão desktop) e ative a guia Desenvolvedor nas opções, caso ainda não apareça.
- Insira Controles de conteúdo onde deseja que as respostas apareçam:
- Texto sem formatação para campos simples (nome, número, datas).
- Texto formatado para parágrafos (observações).
- Seção repetida para listas (itens marcados ou linhas de tabela).
- Para cada controle, defina Título e/ou Marca (Tag). Estes serão os marcadores reconhecidos pela ação Preencher modelo.
- Salve o arquivo em uma pasta do OneDrive para Empresas ou em uma biblioteca do SharePoint acessível pelo fluxo.
Exemplo de mapeamento entre marcadores do Word e o Forms:
Marcador no Word | Origem (Forms) | Formato sugerido |
---|---|---|
NomeCompleto | Pergunta “Nome completo” | Texto |
DataAtendimento | Pergunta “Data do atendimento” | dd/MM/yyyy |
ItensTabela | “Itens selecionados” (múltipla escolha) | Tabela com seção repetida |
Observacoes | “Observações” | Parágrafo |
Sobre listas e tabelas: para repetir linhas, envolva a linha da tabela com um Controle de Seção Repetida e, dentro dela, um controle de Texto para o item. No Power Automate, você conseguirá passar uma matriz de itens para esse marcador.
Construindo o fluxo no Power Automate
Gatilho e coleta de dados
- Crie um Fluxo na nuvem automatizado e selecione o gatilho Microsoft Forms → Quando uma nova resposta for enviada. Escolha o seu formulário.
- Adicione a ação Microsoft Forms → Obter detalhes da resposta. Em ID da resposta, insira o token do gatilho.
Preparando variáveis úteis
- Destinatário: se o formulário registra o e‑mail do respondente, use o campo de e‑mail do Forms. Se existir um campo “E‑mail do destinatário”, prefira esse valor. Você pode simplificar com a expressão:
coalesce(outputs('Obterdetalhesda_resposta')?['body/EmailDestinatario'], triggerOutputs()?['body/responderEmail'])
(Ajuste o caminho do campo conforme os nomes gerados no seu ambiente.) - Nome de arquivo: crie um Compor ou Inicializar variável com:
concat('Resposta‑', formatDateTime(utcNow(),'yyyyMMdd‑HHmmss'), '‑', triggerOutputs()?['body/responseId'], '.pdf')
- Formatos de data: para deixar datas amigáveis:
formatDateTime(outputs('Obterdetalhesda_resposta')?['body/DataAtendimento'],'dd/MM/yyyy')
Preenchendo o modelo do Word
- Adicione Word Online (Business) → Preencher modelo.
- Selecione o arquivo .docx no OneDrive/SharePoint.
- O conector listará os marcadores (ex.: NomeCompleto, DataAtendimento, Observacoes, ItensTabela). Preencha cada um com o conteúdo dinâmico do Forms ou com expressões formatadas.
Convertendo para PDF
Há duas estratégias, ambas válidas:
- Sem arquivo intermediário: adicione Word Online (Business) → Convert document logo após Preencher modelo. O “Conteúdo do arquivo” retornado é o binário do PDF e pode ser anexado diretamente no e‑mail.
- Com arquivo intermediário: crie o DOCX e o PDF em uma pasta:
- OneDrive/SharePoint → Criar arquivo (nome .docx com timestamp).
- Word Online (Business) → Converter documento apontando para o .docx salvo.
- (Opcional) OneDrive/SharePoint → Criar arquivo para gravar o PDF final e manter histórico.
Enviando o e‑mail com anexo
- Adicione Outlook → Enviar e‑mail (V2).
- Campo Para: use a expressão do Destinatário (ou o campo do formulário).
- Assunto: algo como “PDF da sua resposta – Nome”.
- Corpo: personalize com as principais informações.
- Anexos: preencha “Nome do anexo” com a variável de Nome de arquivo e “Conteúdo do anexo” com o conteúdo do PDF da etapa de conversão. Não é necessário salvar o PDF no disco se você não quiser manter histórico.
Opção alternativa sem Word: HTML → PDF
Se preferir não usar modelo do Word, você pode gerar um HTML simples e convertê‑lo para PDF:
- Crie uma ação Compor com um HTML contendo placeholders (por exemplo,
{{Nome}}
,{{Data}}
,{{Observacoes}}
). - Use ações Substituir (ou uma Expressão com replace()) para trocar cada placeholder pelas respostas do Forms.
- Grave o HTML em OneDrive/SharePoint → Criar arquivo com extensão .html.
- Converta com OneDrive/SharePoint → Converter arquivo e selecione PDF como formato de saída.
- Envie por e‑mail como no cenário com Word.
Modelo HTML mínimo (exemplo):
<html> <head><meta charset="utf-8"><title>Resposta</title><style>body{font-family:Arial,sans-serif;margin:24px}h1{font-size:18px}table{width:100%;border-collapse:collapse}td,th{border:1px solid #ddd;padding:8px}</style></head> <body> <h1>Comprovante de Resposta</h1> <p><strong>Nome:</strong> {{Nome}}</p> <p><strong>Data:</strong> {{Data}}</p> <h2>Itens selecionados</h2> <ul>{{ListaItens}}</ul> <h2>Observações</h2> <p>{{Observacoes}}</p> </body> </html>
Para {{ListaItens}}
, construa uma matriz a partir da resposta de múltipla escolha e agregue com join()
em <li>item</li>
.
Encaminhamento dinâmico: como definir o destinatário certo
Existem três padrões comuns:
- Enviar ao próprio respondente: use o e‑mail capturado automaticamente pelo Forms (em formulários internos) ou a pergunta “Seu e‑mail”.
- Enviar para um e‑mail digitado no formulário: campo “E‑mail do destinatário”.
- Encaminhar com base em regras: por exemplo, um campo “Departamento” define quem recebe. Use uma ação Switch ou uma Tabela do SharePoint de roteamento:
- Crie uma lista “RoteamentoPDF” com colunas Departamento e EmailDestino.
- No fluxo, faça Obter item(s) filtrando pelo Departamento e use o e‑mail retornado no envio.
Para robustez, valide o e‑mail: se não houver valor, desvie para um endereço padrão (ex.: suporte@empresa) e registre a ocorrência.
Armazenamento e nomenclatura de arquivos
Mesmo se optar por anexar o PDF diretamente sem salvar, em muitos cenários é útil guardar um histórico. Boas práticas:
- Local: biblioteca do SharePoint com colunas para FormId, ResponseId, Respondente, Data, Status de envio.
- Nomenclatura:
Form-{FormId}/Ano={yyyy}/Mes={MM}/Resposta-{responseId}-{yyyyMMdd-HHmmss}.pdf
. - Versões: ative controle de versões na biblioteca para auditoria.
Observações úteis
Tema | Dicas práticas |
---|---|
Licenciamento | Gatilho do Forms e Word Online (Business) são conectores padrão em Microsoft 365 Business/Enterprise. Não requer plano Premium do Power Automate. |
Limitações | Forms não exporta PDF nativamente; a conversão depende do Word Online ou de um HTML convertido. Para anexos enviados pelo Forms (tipo “Upload de arquivo”), os arquivos ficam no SharePoint/OneDrive do formulário; anexe-os separadamente caso deseje incluí‑los. |
Desempenho | Cada conversão conta como ação do fluxo. Em alto volume, monitore limites de execução, filas e tamanho de anexo (máx. ~50 MB por anexo no Outlook). Considere lotes ou paralelismo controlado. |
Segurança | Armazene o PDF em SharePoint/OneDrive antes de enviar, se precisar de trilha de auditoria. Use grupos com permissão mínima, rótulos de sensibilidade e, se necessário, DLP para restringir saída. |
Recursos de apoio | A comunidade do Power Automate possui modelos pesquisando por “Form response to PDF” e tutoriais com capturas de tela que aceleram a implantação. |
Boas práticas de layout do PDF
- Mantenha um cabeçalho com logotipo, título do formulário e data/hora de geração.
- Padronize tipografia (ex.: 11–12pt) e espaçamentos para impressão.
- Mostre respostas de múltipla escolha como lista com marcadores ou tabela de duas colunas.
- Inclua rodapé com ID da resposta, Form ID e página X de Y.
- Evite cores muito claras; prefira contraste alto para impressões P&B.
Tratamento de erros e observabilidade
- Use Escopos (Sucesso / Falha / Sempre) para organizar etapas e registrar logs.
- Ao falhar conversão ou envio, envie um e‑mail de alerta ao time de suporte com o Response Id e o motivo.
- Ative notificações no Power Automate para falhas do fluxo.
- Opcional: grave um item em uma lista de “Execuções” com carimbo de data/hora, status e mensagem de erro.
Como lidar com perguntas especiais
Múltipla escolha
O Forms retorna múltipla escolha como uma lista. Se o modelo do Word usar Seção repetida, você pode passar a matriz diretamente. Sem seção repetida, converta a lista em texto com join(items,'; ')
.
Upload de arquivos
Quando o Forms coleta arquivos (somente para usuários internos), os documentos são salvos automaticamente em uma pasta do SharePoint associada ao formulário. Para anexá‑los ao e‑mail:
- Recupere os caminhos dos arquivos nas respostas.
- Use SharePoint → Obter conteúdo do arquivo para cada caminho.
- Adicione como anexos adicionais no Enviar e‑mail (V2).
Assinaturas e carimbos
Se precisar de assinatura eletrônica, gere o PDF e envie para um fluxo de assinatura (por exemplo, aprovações ou serviços de assinatura). Mantenha o PDF original em repositório seguro.
Checklist de publicação
- Modelo .docx com todos os marcadores nomeados e testados.
- Fluxo com variáveis de nome de arquivo, destinatário e formatação de datas.
- Conversão para PDF verificada (acentos, quebras de linha e tabelas corretas).
- Envio de e‑mail autenticado e com remetente adequado (mailbox compartilhada, se necessário).
- Permissões da pasta/ biblioteca ajustadas para quem precisa ver os PDFs.
- Alertas de falha configurados.
Exemplo de fluxo — visão estrutural
Etapa | Ação | Notas |
---|---|---|
Gatilho | Microsoft Forms – Quando uma nova resposta for enviada | Selecionar o Form ID correto |
Dados | Microsoft Forms – Obter detalhes da resposta | Usar o ID da resposta do gatilho |
Variáveis | Compor/Inicializar: Destinatário, NomeArquivo, Datas | Expressões com coalesce(), formatDateTime(), etc. |
Documento | Word Online (Business) – Preencher modelo | Mapear marcadores → respostas |
Word Online – Converter documento | Saída binária utilizada como anexo | |
Envio | Outlook (V2) – Enviar e‑mail | Para = Destinatário; Anexo = PDF |
Registro | SharePoint – Criar item (opcional) | Guarde ResponseId, link do PDF, status |
SEO e estrutura para WordPress
- Use subtítulos claros (H2/H3) com termos como “Microsoft Forms”, “Power Automate”, “PDF”, “Enviar por e‑mail”.
- Inclua tabelas e listas numeradas para trechos de passo a passo.
- Mantenha a linguagem objetiva e orientada a tarefas; evite jargões desnecessários.
- Otimize o slug com palavras‑chave curtas e descritivas.
FAQ — Problemas comuns
O marcador não aparece na ação “Preencher modelo”. O que fazer?
Certifique‑se de que o documento .docx tem Controles de conteúdo (e não apenas campos comuns). Título/Tag devem estar definidos. Reabra o seletor do arquivo para recarregar o esquema.
O PDF chega vazio ou com acentos quebrados.
Verifique a fonte do modelo e o conjunto de caracteres; evite fontes exóticas. Se usar HTML, garanta <meta charset="utf-8">
.
O e‑mail não sai para endereços externos.
Políticas de DLP/Exchange podem bloquear. Teste com caixa compartilhada autorizada ou ajuste regras com o time de segurança.
Como enviar o PDF para diferentes times conforme a resposta?
Crie uma tabela de roteamento (SharePoint/Excel) e use Obter itens + Filtrar. Use o e‑mail retornado no passo do Outlook.
Quero anexar também os arquivos que o usuário subiu no Forms.
Use Obter conteúdo do arquivo a partir dos links fornecidos na resposta do Forms e adicione os binários como anexos extras.
Exemplo de corpo do e‑mail
Assunto: Comprovante da sua resposta – {NomeCompleto}
Olá, {NomeCompleto}!
Segue em anexo o PDF com os detalhes da sua resposta ao formulário {NomeDoFormulario}, recebido em {DataFormatada}.
Se precisar atualizar informações, basta responder a este e‑mail.
Atenciosamente,
Equipe {SuaEmpresa}
Exemplo de política de retenção
Para conformidade, você pode aplicar esta regra simples:
- PDFs armazenados por 365 dias na biblioteca “RespostasPDF”.
- Metadados mantidos por 2 anos.
- Exclusão automática via política de retenção do Microsoft Purview.
Comparativo: Word vs. HTML no seu cenário
Critério | Modelo Word | Modelo HTML |
---|---|---|
Facilidade de design | Muito alta (WYSIWYG) | Alta para quem conhece HTML básico |
Listas repetidas | Nativo com seção repetida | Requer montar <li> via fluxo |
Dependências | Word Online (Business) | OneDrive/SharePoint Converter |
Fidelidade de impressão | Excelente | Boa (varia com CSS) |
Cenários ideais | Documentos formais, relatórios, certificados | Comprovantes simples, e‑mails impressos, recibos |
Conclusão
Seguindo os passos apresentados, você automatiza toda a jornada: coleta no Microsoft Forms, geração de PDF com o Word Online (ou HTML), armazenamento opcional e envio por e‑mail ao destinatário correto — sem intervenção manual. Essa abordagem melhora a qualidade visual, reduz erros, acelera o atendimento e cria uma trilha de auditoria valiosa.
Modelo de roteiro para implementação em produção
- Desenho: defina perguntas, destinatários e layout do PDF.
- Protótipo: crie o modelo e o fluxo em ambiente de teste.
- Testes: cubra casos com campos vazios, múltipla escolha e anexos.
- Observabilidade: adicione logs e alertas de falha.
- Segurança: revise permissões e políticas de DLP.
- Go‑live: publique o fluxo e monitore por alguns dias; ajuste conforme métricas.
Anexo: Expressões úteis prontas
Primeiro valor não nulo (destinatário):coalesce(body('Obterdetalhesda_resposta')?['EmailDestinatario'], triggerOutputs()?['body/responderEmail'], 'suporte@empresa.com')
Nome de arquivo único:concat('Resposta‑', formatDateTime(utcNow(),'yyyyMMdd‑HHmmss'), '‑', triggerOutputs()?['body/responseId'], '.pdf')
Data brasileira:formatDateTime(body('Obterdetalhesda_resposta')?['DataAtendimento'], 'dd/MM/yyyy')
Juntar múltipla escolha:join(body('Obterdetalhesda_resposta')?['ItensSelecionados'], ', ')
Exemplo completo de mapeamento (modelo Word)
Marcador .docx | Conteúdo dinâmico | Transformação | Exemplo final |
---|---|---|---|
NomeCompleto | Forms → Nome completo | — | “Ana Paula Santos” |
DataAtendimento | Forms → Data do atendimento | formatDateTime(...,'dd/MM/yyyy') | “14/09/2025” |
ItensTabela | Forms → Itens selecionados | Seção repetida | 3 linhas na tabela |
Observacoes | Forms → Observações | — | Texto livre |
Próximos passos
- Adicionar QR Code no PDF (imagem no modelo do Word) com link para a resposta.
- Incluir assinatura digital ou carimbo de tempo, se exigido.
- Publicar o fluxo como solução gerenciada para mover entre ambientes (DEV → HML → PRD) com ALM.