Google Apps Script con Gmail: Automatiza y potencia tu correo

GAS + Gmail = Gmail con esteroides.

Google Apps Script (GAS) no solo mejora tus hojas de cálculo. De hecho, GAS tiene el potencial de transformar cómo interactúas con Gmail, permitiéndote automatizar respuestas, organizar tus correos electrónicos y mucho más. Veamos algunos ejemplos poderosos de lo que puedes lograr con GAS en Gmail.

¿Cómo funciona la API de Gmail en GAS?

La API de Gmail en GAS te da acceso programático a tu Gmail. Puedes leer, enviar, borrar y modificar correos electrónicos, entre otras acciones. Todo se maneja a través de objetos y métodos específicos. Por ejemplo, puedes acceder a tus correos electrónicos con GmailApp.getInboxThreads() y enviar correos con GmailApp.sendEmail().

Enviar correos automáticamente

Con GAS, puedes programar correos para enviar automáticamente. Imagina tener que enviar recordatorios mensuales a tu equipo. En lugar de hacerlo manualmente, puedes escribir un script para hacerlo por ti:

function sendEmailReminder() {
  GmailApp.sendEmail(
    "equipo@miempresa.com",
    "Recordatorio mensual",
    "No olviden enviar sus informes.",
  );
}

Organiza tus mensajes

Si recibes una gran cantidad de correos diariamente, GAS puede ayudarte a organizarlos. Por ejemplo, puedes etiquetar automáticamente los correos de un cliente específico:

function labelClientEmails() {
  var threads = GmailApp.search("from:cliente@ejemplo.com");
  var label = GmailApp.createLabel("Cliente Importante");
  for (var i = 0; i < threads.length; i++) {
    threads[i].addLabel(label);
  }
}

Respuestas automáticas personalizadas

Si te vas de vacaciones, es posible que ya sepas sobre el “fuera de oficina” automático de Gmail. Pero con GAS, puedes hacerlo aún más personalizado, como responder a correos específicos de un cliente o colega con un mensaje especial:

function autoReply() {
  var threads = GmailApp.getInboxThreads();
  for (var i = 0; i < threads.length; i++) {
    if (threads[i].getFirstMessageSubject() === "Solicitud Urgente") {
      threads[i].reply(
        "Estoy fuera de la oficina, pero recibí la solicitud urgente. Me pondré en contacto.",
      );
    }
  }
}

Seguimiento de correos electrónicos

Con GAS, puedes programar alertas o recordatorios para hacer seguimiento a correos electrónicos a los que no te hayan respondido. Por ejemplo, si enviaste una propuesta y quieres recordar hacer un seguimiento en una semana, puedes usar GAS para programar un recordatorio.

function revisarCorreosSinResponder() {
  var hoja = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Seguimiento Correos");
  if (!hoja) {
    SpreadsheetApp.getActiveSpreadsheet().insertSheet("Seguimiento Correos");
    hoja = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Seguimiento Correos");
  }
  
  // Encabezados de la hoja de cálculo
  hoja.appendRow(["Fecha", "Para", "Asunto", "Snippet", "ID del Mensaje"]);
  // Fecha límite para buscar correos (ejemplo: 30 días atrás)
  var fechaLimite = new Date();
  fechaLimite.setDate(fechaLimite.getDate() - 30);
  
  // Buscar correos enviados
  var correosEnviados = GmailApp.search('in:sent after:' + fechaLimite.toISOString().split('T')[0]);
  
  for (var i = 0; i < correosEnviados.length; i++) {
    var mensaje = correosEnviados[i];
    var id = mensaje.getId();
    var respuesta = GmailApp.search('in:inbox subject:"Re: ' + mensaje.getSubject() + '"');
    
    // Si no hay respuesta, guardar la información en la hoja
    if (respuesta.length == 0) {
      var para = mensaje.getTo();
      var fecha = mensaje.getDate();
      var asunto = mensaje.getSubject();
      var snippet = mensaje.getSnippet();
      
      hoja.appendRow([fecha, para, asunto, snippet, id]);
    }
  }
}

Activadores

En Google Apps Script puedes programar ejecuciones recurrentes, o más conocidos como triggers o cron jobs.

Por ejemplo, podemos crear uno para que todos los lunes a las 7:00, lea el calendario y me mande un resumen de todos los que estoy suscrito yo y alguien de mi familia.

Selecciona el tipo de activador por horas, días, semanas o para alguna fecha específica.

Deep Dive: Recursos adicionales

Para aquellos que deseen explorar aún más, aquí hay algunos recursos para profundizar en Google Apps Script con Gmail:

  1. Documentación oficial de GAS para Gmail: Aquí encontrarás una lista completa de métodos y clases para trabajar con Gmail.
  2. Apps Script BlastOff: Un curso gratuito para principiantes en GAS.
  3. Google Apps Script: The Authentic(ated) Guide: Otro recurso útil que cubre varios aspectos de GAS, incluido Gmail.
  4. Stack Overflow: Google-apps-script tag: Una comunidad activa donde puedes hacer preguntas y aprender de ejemplos prácticos.

Con estos conceptos y herramientas en mano, estás listo para comenzar a revolucionar tu experiencia con Gmail. ¡Feliz scripting!