Google Sheets: automatizando envio de e-mails

Foto do autor
Sávio Ribeiro 📅 02/10/2024 19:20
⏱️7 minutos de leitura

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:

base clientes pagamento vencido

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.

email exemplo automacao apps script

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ã.

usando acionador automatizar google sheets

Faça uma cópia dessa planilha:

Carregando...

Clique no botão abaixo para acessar o Google Sheets.

Abrir Planilha

Faça uma cópia da 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!

PARTICIPE DO NOSSO GRUPO NO WHATSAPP!
É 100% GRÁTIS!

PRECISANDO DE UM PROJETO PERSONALIZADO?

Comentários

Oh no, Comentario failed to start.
If you own this website, you might want to look at the browser console to find out why.

Compartilhe esse conteúdo

URL compartilhável