Pular para o conteúdo
Automação

Como criar um formulário de orçamento no Google Forms e receber alertas por e-mail

Sim. Você pode criar um formulário de orçamento no Google Forms e receber um aviso por e-mail sempre que alguém responder. O caminho mais simples é ligar o formulário a uma planilha do Google Sheets e usar um gatilho do Apps Script para enviar a notificação automaticamente.

Esse fluxo serve para freelancers, clínicas, restaurantes, lojas, profissionais autônomos e pequenas empresas que ainda recebem pedidos pelo WhatsApp ou pelas redes sociais. O Forms coleta os dados em um padrão; a planilha organiza as respostas; e o script apenas avisa que existe uma nova solicitação para analisar.

Laptop aberto sobre uma mesa, usado como imagem de apoio para um tutorial de formulário online
Imagem de apoio. Foto: KK IN HK/Wikimedia Commons, CC BY-SA 4.0.

O que você vai precisar

  • Uma conta Google para criar o formulário e a planilha.
  • Um formulário com perguntas que tenham títulos estáveis, como “Nome”, “E-mail”, “Serviço desejado” e “Detalhes do pedido”.
  • Uma planilha de respostas vinculada ao Forms.
  • Um endereço que receberá os alertas.

O tutorial abaixo usa um gatilho de envio de formulário instalado na planilha. É importante seguir esse caminho: o evento da planilha fornece os valores em e.namedValues, que permite montar uma mensagem usando o nome de cada pergunta sem depender da posição fixa das colunas.

1. Crie o formulário de orçamento

Acesse forms.google.com, clique em um formulário em branco e dê um nome que explique o objetivo, como “Solicitação de orçamento”. O próprio Google orienta que o Forms pode ser usado para criar pesquisas e coletar respostas on-line, que podem ser analisadas em tempo real.

Comece com poucas perguntas. Um formulário de orçamento pode ter:

  • Nome: resposta curta e obrigatória.
  • E-mail: resposta curta com validação de endereço, se você precisar retornar por e-mail.
  • WhatsApp: resposta curta, deixando claro se o número deve incluir DDD.
  • Serviço ou produto: lista suspensa ou múltipla escolha.
  • Prazo desejado: data ou resposta curta.
  • Detalhes: parágrafo para o cliente explicar o que precisa.

Não transforme o formulário em um interrogatório. Cada campo obrigatório a mais aumenta a chance de a pessoa desistir antes de enviar. Para um primeiro contato comercial, é melhor coletar o mínimo necessário e fazer perguntas complementares depois.

2. Ligue o Google Forms a uma planilha

Abra a guia Respostas no editor do formulário e clique no ícone verde do Google Sheets. Crie uma planilha nova ou escolha uma existente. O Forms passa a registrar cada envio em uma nova linha, com as perguntas como cabeçalhos das colunas.

Confira os títulos da primeira linha antes de escrever o código. O script deste artigo procura os nomes “Nome”, “E-mail”, “Serviço desejado” e “Detalhes do pedido”. Se você usar “Nome completo” ou “Tipo de serviço”, altere os títulos no código ou use os nomes reais das suas perguntas.

Se quiser entender outro uso prático da mesma combinação, veja também este guia do JSMS sobre alertas automáticos no Google Sheets com Apps Script. A lógica é parecida, mas aqui o disparo acontece quando uma resposta chega ao formulário.

3. Adicione o script de aviso por e-mail

Na planilha de respostas, abra Extensões > Apps Script. Apague o código de exemplo e cole o trecho abaixo. Troque o endereço em DESTINATARIO pelo e-mail que deve receber os avisos.

const DESTINATARIO = 'seuemail@empresa.com';

function avisarNovoOrcamento(e) {
  const respostas = e.namedValues || {};
  const obter = (pergunta) => (respostas[pergunta] || ['Não informado']).join(', ');

  const nome = obter('Nome');
  const servico = obter('Serviço desejado');
  const assunto = `Novo pedido de orçamento: ${nome}`;

  const linhas = Object.entries(respostas)
    .map(([pergunta, valores]) => `${pergunta}: ${valores.join(', ')}`)
    .join('\n');

  const mensagem = [
    `Um novo pedido foi recebido no Google Forms.`,
    ``,
    `Nome: ${nome}`,
    `Serviço: ${servico}`,
    ``,
    `Respostas completas:`,
    linhas
  ].join('\n');

  MailApp.sendEmail({
    to: DESTINATARIO,
    subject: assunto,
    body: mensagem
  });
}

O código não precisa ser executado pelo botão Executar. A função espera receber o objeto de evento criado pelo gatilho; sem esse objeto, um teste manual tende a apresentar erro porque e.namedValues não existirá.

4. Crie o gatilho correto

No Apps Script, clique no ícone de relógio chamado Acionadores ou Triggers. Depois, escolha Adicionar acionador e configure:

  1. Função: avisarNovoOrcamento.
  2. Origem do evento: Da planilha.
  3. Tipo de evento: Ao enviar formulário.

Salve. Na primeira configuração, o Google solicitará autorização para que o script acesse a planilha e envie e-mails. Isso é esperado: o método MailApp.sendEmail exige autorização do serviço de envio de mensagens.

Há um detalhe que costuma confundir equipes: os gatilhos instaláveis são executados na conta da pessoa que os criou. Na prática, o aviso sai conforme as permissões e os limites dessa conta, mesmo que outras pessoas tenham acesso de edição à planilha.

5. Faça um teste de ponta a ponta

Abra o formulário pelo botão Visualizar, preencha todos os campos e envie uma resposta de teste. Depois, confirme três pontos:

  • uma nova linha apareceu na planilha;
  • o endereço configurado recebeu a mensagem;
  • o corpo do e-mail mostra todas as perguntas e respostas.

Se a linha apareceu, mas o e-mail não chegou, abra o Apps Script e consulte Execuções. Veja se houve erro de autorização, endereço inválido ou limite de envio. Também confira a pasta de spam e se o gatilho foi criado na planilha de respostas, não em outro arquivo.

Como adaptar o fluxo para cada negócio

Freelancer ou agência

Inclua orçamento aproximado, prazo e links de referência. No e-mail, o assunto pode trazer o serviço e o nome do cliente para facilitar a triagem.

Clínica

Use o formulário apenas para solicitação de contato ou agendamento preliminar. Não peça informações clínicas desnecessárias nem trate o e-mail como canal adequado para dados sensíveis. O responsável deve definir uma política de acesso e retenção antes de compartilhar a planilha.

Restaurante ou comércio

Troque “serviço desejado” por produto, quantidade, data de retirada ou entrega. Se o formulário começar a receber muitos pedidos, a planilha pode virar um ponto de organização, mas não substitui um sistema de estoque ou atendimento.

Limitações e cuidados importantes

Esse mecanismo é uma automação leve, não um CRM. Ele envia uma mensagem quando a resposta chega, mas não cria automaticamente um orçamento com preço, não verifica estoque e não acompanha o status do cliente.

Também não é uma boa ideia colocar senhas, documentos ou informações sensíveis em um formulário aberto sem avaliar acesso, armazenamento e necessidade. Compartilhe a planilha somente com quem realmente precisa dela e revise as permissões da conta.

Outro cuidado é evitar alterações silenciosas nos títulos das perguntas. Como o script procura os cabeçalhos pelo nome, mudar “Serviço desejado” para “Serviço” pode fazer o campo específico aparecer como “Não informado”, embora as respostas completas ainda sejam incluídas no e-mail.

Vale a pena usar Google Forms para receber orçamentos?

Para começar, sim. O Google Forms resolve a parte mais chata — organizar pedidos que chegariam espalhados em mensagens — sem exigir servidor ou um sistema pago. A combinação com Sheets e Apps Script também é suficiente para avisos internos e triagem inicial.

Quando o volume crescer, procure uma ferramenta com controle de etapas, histórico de conversas, permissões detalhadas e integração de atendimento. O Forms é uma porta de entrada prática; insistir nele como sistema completo de vendas é que costuma criar confusão.

Perguntas frequentes

O Google Forms envia um e-mail automaticamente sem código?

Ele pode oferecer recursos próprios de notificação e coleta, dependendo da configuração da conta, mas o Apps Script dá mais controle sobre destinatário, assunto e conteúdo da mensagem. Para o fluxo deste tutorial, o aviso é enviado pelo script.

Posso mandar a resposta para mais de uma pessoa?

Sim. No campo to, use uma lista de endereços separados por vírgula ou adapte o código para incluir cópia. Faça isso com cuidado para não expor endereços de clientes entre si.

Por que o botão Executar dá erro?

A função depende do objeto de evento criado quando uma resposta é enviada. Por isso, o teste deve ser feito pelo formulário depois que o gatilho “Ao enviar formulário” estiver instalado.

O script responde automaticamente ao cliente?

Não neste exemplo. Ele avisa a equipe responsável. Para responder ao cliente, você teria de coletar o e-mail, criar outra mensagem e revisar consentimento, conteúdo e limites antes de automatizar esse contato.