O Google Sheets junto ao Apps Script tornam-se ferramentas extremamente poderosas. Você pode comprovar isso com alguma das possibilidades que publicamos na categoria do GAS (sigla para Google Apps Script). Além das planilhas, o e-mail ainda é uma ferramenta muito utilizada nos dias de hoje. Seja para se comunicar com os seus colegas de trabalho ou até mesmo clientes.
Nesse passo a passo, vamos trazer mais um caso que você pode encontrar no mundo dos negócios: automatizar o envio de e-mails diretamente do Google Planilhas. Será super fácil de seguir, mesmo que você seja iniciante no assunto. Além de disponibilizar toda a solução em código para você utilizar ou adaptar, também deixaremos uma planilha 100% pronta para download/cópia.
Caso Prático: automatizar envio de e-mails de clientes com pagamento atrasado
O ideal é que você notifique os seus clientes dias antes do vencimento, como uma forma de contato proativo – algo muito bem visto pelos clientes e pela cultura de sucesso do cliente. Voltando ao tema técnico, nesse exemplo trabalharemos com uma novidade na nossa categoria de Apps Script: condicionais e laços de repetição.
Nesse exemplo prático, teremos a seguinte base de clientes:
Note que temos as seguintes informações por coluna:
- Coluna A: e-mail do cliente (para onde enviaremos a mensagem)
- Coluna B: valor total que precisa ser pago
- Coluna C: data de vencimento do pagamento
- Coluna D: coluna dinâmica de status, indica se o pagamento está no prazo ou vencido em relação a data do dia atual.
Agora vamos escrever algumas linhas de código que irão poupar boas horas de trabalho!
Escrevendo o código da automação
Abra a sua planilha, no menu superior, clique em Extensões > Apps Script.
A base do nosso script será esse abaixo, observe atentamente o comentário em cada trecho do código.
function enviarEmails() {
// Acessa a planilha ativa e a página com nome 'pagamentos'
var planilha = SpreadsheetApp.getActiveSpreadsheet();
var pagina = planilha.getSheetByName('pagamentos');
// Obtém todos os dados da planilha (conforme são mostrados na planilha)
var dados = pagina.getRange(2, 1, pagina.getLastRow() - 1, pagina.getMaxColumns()).getDisplayValues();
}
Agora que a função já tem os dados da planilha com a base de clientes, vamos trabalhar um laço de repetição, ou um for como é chamado no JavaScript, que vai percorrer cada linha do nosso conjunto de dados.
Além disso, vamos verificar usando um if, se o status do pagamento está como vencido. Veja abaixo como ficará nossa implementação final, não esqueça de fazer a leitura dos comentários após as barras // no código.
function enviarEmails() {
// Acessa a planilha ativa e a primeira página
var planilha = SpreadsheetApp.getActiveSpreadsheet();
var pagina = planilha.getSheetByName('pagamentos');
// Obtém todos os dados da planilha
var dados = pagina.getRange(2, 1, pagina.getLastRow() - 1, pagina.getMaxColumns()).getDisplayValues();
// Loop pelos dados para enviar os e-mails
for (var i = 0; i < dados.length; i++) {
var email = dados[i][0]; // E-mail do cliente
var valor = dados[i][1] // Valor devido pelo cliente
var dataVencimento = dados[i][2] // Data de vencimento do pagamento
var status = dados[i][3] // Status vencido ou no prazo
// Checando status do pagamento
// se for igual a vencido, envia o e-mail. Se não, não faz nada.
if (status == "VENCIDO") {
// Assunto do e-mail
var assunto = "📆 Pagamento vencido - octadata.com.br"; // Define o título do e-mail
// Conteúdo da mensagem
var mensagem = "Prezado(a) cliente,\n\nInformamos que o seu pagamento no valor de " +
valor + " está vencido desde " + dataVencimento +
"\n\nRegularize a sua situação para evitar restrição no acesso. ✅"
// Concatenando a mensagem final do e-mail
var corpoEmail = mensagem + "\n\nAtenciosamente,\nTime da Octadata";
// Enviando o e-mail
MailApp.sendEmail(email, assunto, corpoEmail);
console.log('Um e-mail foi enviado para ' + email)
}
}
}
Ao executar a função, um e-mail será recebido por todos os clientes que estejam com o status vencido.
Agora que sua automação está pronta, existem algumas possibilidades:
- Você pode executar manualmente acessando o Apps Script.
- Você pode criar um botão em Inserir > Desenho > em Transferir Script > e atribuir a função enviarEmails().
- Assim, toda vez que clicar no botão, a função será executada.
- Agora, se você pode garantir a atualização dos dados, por exemplo, criando um PROCX que busca a data de vencimento mais atualizada em outra planilha, você pode utilizar os Acionadores para Apps Script para automatizar definitivamente o processo.
- Por exemplo, na imagem, a função seria executada todos os dias entre 8 a 9h da manhã.
Faça uma cópia dessa planilha:
Conclusão
Você pode ter visto que automatizar o envio de e-mails com Google Sheets + Apps Script é uma ótima maneira de economizar tempo, melhorar sua produtividade e se tornar ainda mais eficiente. Existem algumas limitações do Google, que dependem do tipo da sua conta. Em média, contas individuais podem enviar entre 100 a 150 e-mails diariamente, enquanto contas do Google Workspace podem ter limites de até 1.500 e-mails por dia.
A partir dessa automação, você pode implementar muitas melhorias, como buscar um anexo com o boleto ou Pix do seu cliente e já enviar no e-mail. Assim como pode criar um relatório que salve quantos e-mails foram enviados no dia.
Esperamos que tenha gostado desse passo a passo. Se ficou com alguma dúvida, venha participar da nossa Comunidata, um grupo 100% gratuito no WhatsApp. No mais, acompanhe nosso blog periodicamente para aprender mais! Até a próxima!