Pular para o conteúdo
Automação

Como enviar respostas do Google Forms para o Discord sem criar um bot

Sim. Você pode enviar cada resposta do Google Forms para um canal do Discord sem criar um bot completo. O caminho mais simples combina um gatilho instalável do Google Apps Script com um webhook de entrada do Discord.

Na prática, o formulário continua salvando as respostas na planilha, o gatilho percebe o envio e o Apps Script faz uma requisição HTTP com os dados. O Discord recebe esse pacote e publica uma mensagem no canal. É uma automação pequena, barata e suficiente para avisar uma equipe sobre pedidos, inscrições ou chamados.

Diagrama mostra o fluxo de uma resposta do Google Forms até uma mensagem no Discord usando Apps Script e webhook
O fluxo tem três etapas: resposta no Forms, processamento no Apps Script e mensagem no Discord.

O que você precisa antes de começar

  • Um Google Forms vinculado a uma planilha de respostas.
  • Permissão para editar essa planilha e criar um projeto no Apps Script.
  • Permissão de administrador ou de gerenciamento de integrações no servidor do Discord.
  • Um canal do Discord onde as notificações serão publicadas.

Não é necessário instalar n8n, Make ou um bot no servidor. Isso torna o exemplo útil para uma equipe pequena que já trabalha com Google Forms. Se a sua origem for uma planilha editada manualmente, o JSMS também explica como enviar alertas do Google Sheets para o Telegram com Apps Script; aqui o gatilho e o destino são diferentes.

1. Crie o webhook no Discord

Abra o servidor e entre nas configurações do canal que receberá os avisos. Procure a área Integrações, escolha Webhooks e crie um novo webhook. Defina um nome fácil de reconhecer, selecione o canal e copie a URL gerada.

Webhook é uma URL especial que aceita uma requisição e transforma o conteúdo recebido em uma mensagem. A documentação do Discord descreve esse recurso como uma forma de publicar em canais sem a necessidade de um usuário-bot. A URL funciona como uma credencial: não coloque o endereço em um artigo, print, repositório público ou mensagem compartilhada.

2. Abra o Apps Script pela planilha de respostas

Na planilha que recebe as respostas, clique em Extensões > Apps Script. Apague o código inicial e cole o exemplo abaixo. Ele lê o objeto namedValues, monta uma mensagem com o nome de cada pergunta e envia um JSON ao Discord.

function enviarParaDiscord(e) {
  const props = PropertiesService.getScriptProperties();
  const webhookUrl = props.getProperty('DISCORD_WEBHOOK_URL');
  if (!webhookUrl) throw new Error('Defina DISCORD_WEBHOOK_URL nas propriedades do script.');

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

  const mensagem = `**Nova resposta no formulário**\n${respostas}`;
  const payload = { content: mensagem.slice(0, 1900) };
  const resposta = UrlFetchApp.fetch(webhookUrl, {
    method: 'post',
    contentType: 'application/json',
    payload: JSON.stringify(payload),
    muteHttpExceptions: true
  });

  const status = resposta.getResponseCode();
  if (status < 200 || status >= 300) {
    throw new Error(`Discord respondeu com HTTP ${status}: ${resposta.getContentText()}`);
  }
}
Trecho de código Apps Script que envia um payload JSON para um webhook do Discord
O trecho central transforma as respostas em JSON e faz um POST para o webhook.

3. Guarde a URL sem deixá-la exposta no código

O código procura a URL na propriedade DISCORD_WEBHOOK_URL. No editor do Apps Script, abra Configurações do projeto, localize Propriedades do script, adicione essa chave e cole o endereço do webhook no campo de valor. Salve antes de criar o gatilho.

Esse cuidado não transforma a propriedade em um cofre inviolável, mas evita que o endereço apareça junto do código quando você compartilhar o projeto. Se a URL vazar, volte às integrações do Discord, gere outra e atualize a propriedade.

4. Crie o gatilho de envio do formulário

  1. No Apps Script, clique no ícone de Acionadores na barra lateral.
  2. Escolha Adicionar acionador.
  3. Em função, selecione enviarParaDiscord.
  4. Em origem do evento, escolha Da planilha.
  5. Em tipo de evento, escolha Ao enviar formulário.
  6. Salve e autorize o projeto quando o Google solicitar.

Esse detalhe é importante: não use apenas uma função onEdit simples para esse caso. O Google informa que gatilhos simples têm restrições e não podem acessar serviços que exigem autorização. O envio para um serviço externo com UrlFetchApp precisa do escopo de requisição externa e, por isso, o gatilho instalável é o caminho adequado.

5. Faça um teste completo

Abra o formulário, envie uma resposta de teste e confira o canal do Discord. A mensagem deve aparecer com o título “Nova resposta no formulário” e uma linha para cada pergunta encontrada na submissão.

Se o canal ficar em silêncio, verifique nesta ordem:

  • se o gatilho está configurado como Ao enviar formulário, e não como edição da planilha;
  • se a propriedade se chama exatamente DISCORD_WEBHOOK_URL;
  • se a URL ainda é válida e aponta para o canal certo;
  • se o histórico de execuções do Apps Script mostra algum erro;
  • se o webhook ainda tem permissão para publicar no canal.

Limitações que vale conhecer

Esse fluxo é ótimo para alertas, mas não substitui um sistema de atendimento. Ele não cria fila, não impede respostas duplicadas, não valida os dados e não registra automaticamente uma confirmação para quem preencheu o formulário.

Também vale pensar no conteúdo. O código envia todas as perguntas e respostas para o Discord. Para formulários com telefone, e-mail, endereço ou informações de clientes, restrinja o canal e considere enviar apenas um resumo. Em ambientes com muitos envios, uma mensagem por resposta pode gerar ruído e esbarrar nos limites de uso da plataforma.

Conclusão

Para avisar uma equipe sobre novas inscrições, pedidos ou solicitações, o trio Google Forms + Apps Script + webhook do Discord resolve o básico sem a complexidade de um bot. O ponto mais delicado não é escrever o POST: é configurar o gatilho correto e tratar a URL do webhook como segredo.

Perguntas frequentes

Preciso criar um bot do Discord para receber respostas do Google Forms?

Não. Um webhook de entrada publica a mensagem no canal escolhido sem exigir um bot de usuário para essa integração.

O que acontece se eu alterar as perguntas do formulário?

O gatilho continua funcionando, mas o texto enviado depende dos nomes das perguntas. Depois de mudanças importantes, envie uma resposta de teste e confira o formato no Discord.

Posso usar esse fluxo para dados sensíveis?

Tenha cuidado. O webhook e as respostas podem expor informações pessoais no canal. Restrinja o acesso, evite coletar dados desnecessários e não publique o endereço do webhook.

Como saber se a automação funcionou?

Envie uma resposta de teste no formulário. Se nada aparecer, confira o gatilho instalável, a propriedade com a URL do webhook e o histórico de execuções do Apps Script.