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.

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()}`);
}
}

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
- No Apps Script, clique no ícone de Acionadores na barra lateral.
- Escolha Adicionar acionador.
- Em função, selecione
enviarParaDiscord. - Em origem do evento, escolha Da planilha.
- Em tipo de evento, escolha Ao enviar formulário.
- 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.