Cómo automatizar el envío de correos personalizados desde Google Forms y Sheets

En este artículo te voy a enseñar a automatizar el envío de correos personalizados usando la información que un usuario deposita en un formulario de Google Forms, enriquecer esos datos con información adicional almacenada en Google Sheets, y luego enviar un correo personalizado al usuario con toda esa información relevante. Este sistema es ideal para emprendedores, docentes o dueños de pequeños negocios que quieren brindar una atención más personalizada y eficiente sin complicaciones técnicas.

Si prefieres ver el tutorial en video, te lo dejo a continuación para que sigas cada paso conmigo.

Introducción

Vamos a crear un sistema que toma la información que un usuario ingresa en un formulario de Google Forms, luego busca datos adicionales en una hoja de cálculo de Google Sheets (como precios o detalles del curso), y finalmente envía un correo electrónico personalizado con toda esta información. Por ejemplo, si un estudiante completa un formulario, podemos buscar su información en Sheets y enviarle un correo con detalles como su edad, el curso que eligió y el precio correspondiente.

Requisitos Previos

  1. Cuenta activa de Google para acceder a las herramientas.
  2. Acceso a Google Sheets para almacenar y consultar datos.
  3. Acceso a Google Forms para capturar la información de los usuarios.
  4. Conocimiento básico o acceso a Google Apps Script para automatizar el envío de correos.

1. Crear el Archivo de Google Sheets

  1. Crear un nuevo archivo en Google Sheets:
    • Abre Google Sheets y crea un nuevo archivo (puedes escribir sheets.new en la barra de direcciones para hacerlo rápido).
    • Nombralo como «Gestión de Estudiantes» o algo descriptivo para mantenerlo organizado.
  2. Crear hojas dentro del archivo:
    • Crea una hoja llamada «Estudiantes Potenciales» donde se almacenarán las respuestas del formulario.
    • Crea otra hoja llamada «Lista de Precios» donde pondrás los cursos y sus precios.

2. Crear el Formulario en Google Forms

  • Desde Google Sheets, ve a Herramientas > Crear un formulario. Esto creará automáticamente un formulario vinculado y una pestaña para las respuestas en tu hoja.
  • Añade preguntas básicas como Nombre, Email y Curso (el curso debe coincidir con los nombres que pondrás en la hoja «Lista de Precios»).
  • Comparte el formulario para que los usuarios puedan empezar a enviar sus respuestas.

3. Configurar Google Apps Script para Automatizar el Envío de Correos

  1. Abrir el Editor de Apps Script:
    • En Google Sheets, ve a Extensiones > Apps Script.
    • Crea un proyecto nuevo y ponle un nombre descriptivo, por ejemplo, Enviar correos automáticos.
  2. Escribir el código paso a paso: Vamos a desglosar el script para que entiendas cada parte.

3.1 Conectar con Google Sheets y Obtener Datos del Formulario

Primero, conectamos con la hoja de cálculo activa y obtenemos los datos de la última fila que se envió desde el formulario.

function enviarEmail() {
  // Conectar con el archivo de Google Sheets y la hoja de respuestas
  let libro = SpreadsheetApp.getActiveSpreadsheet();
  let hojaRespuestas = libro.getSheetByName("Estudiantes Potenciales");

  // Obtener la última fila con datos
  let fila = hojaRespuestas.getLastRow();

  // Columnas donde están los datos (ajusta según tu hoja)
  let colNombre = 2;
  let colEmail = 3;
  let colCurso = 4;

  // Obtener los datos de la última fila
  let nombre = hojaRespuestas.getRange(fila; colNombre).getValue();
  let email = hojaRespuestas.getRange(fila; colEmail).getValue();
  let curso = hojaRespuestas.getRange(fila; colCurso).getValue();
  • SpreadsheetApp.getActiveSpreadsheet(): conecta con la hoja activa.
  • libro.getSheetByName("Estudiantes Potenciales"): selecciona la hoja donde llegan las respuestas.
  • hojaRespuestas.getLastRow(): obtiene la fila más reciente con datos.
  • getRange(fila; columna).getValue(): obtiene el valor de la celda específica.

3.2 Conectar con la Hoja de Precios y Obtener el Precio del Curso

Ahora, conectamos con la hoja que tiene los precios y buscamos el costo del curso que el estudiante eligió.

  // Conectar con la hoja de precios
  let hojaPrecios = libro.getSheetByName("Lista de Precios");
  let tablaPrecios = hojaPrecios.getDataRange().getValues();

  // Crear una lista con los nombres de los cursos
  let listaCursos = tablaPrecios.map(fila => fila[0]);

  // Encontrar la fila que coincide con el curso seleccionado
  let filaCurso = listaCursos.indexOf(curso);

  // Obtener el precio del curso (columna 1)
  let precio = (filaCurso !== -1) ? tablaPrecios[filaCurso][1] : "Precio no disponible";
  • getDataRange().getValues(): obtiene toda la tabla de precios como matriz.
  • map(fila => fila[0]): crea un arreglo con los nombres de los cursos.
  • indexOf(curso): encuentra la posición del curso en la lista.
  • Validamos que el curso exista para evitar errores.

3.3 Crear y Enviar el Correo Personalizado

Finalmente, construimos el mensaje del correo y lo enviamos al usuario.

  // Crear el mensaje del correo
  let mensaje = "Hola " + nombre + ",nn";
  mensaje += "Gracias por tu interés en nuestro curso de " + curso + ".n";
  mensaje += "El precio del curso es: " + precio + ".nn";
  mensaje += "Si tienes alguna duda, no dudes en contactarnos.nn";
  mensaje += "¡Saludos!nEquipo de Formación";

  // Enviar el correo
  GmailApp.sendEmail(email; "Información sobre tu curso"; mensaje);
}
  • Construimos un mensaje claro y amigable usando concatenación de texto.
  • GmailApp.sendEmail() envía el correo al email capturado con asunto y cuerpo definidos.

4. Configurar el Activador para Automatizar el Envío

  • En el editor de Apps Script, haz clic en el ícono de Desencadenadores (reloj).
  • Agrega un nuevo desencadenador que ejecute la función enviarEmail al enviarse el formulario.
  • Guarda los cambios para que cada vez que alguien envíe el formulario, se dispare el envío automático del correo.

5. Probar el Sistema

Completar el Formulario:

  1. Abre el formulario y envía una entrada de prueba con datos reales o ficticios.
  2. Verifica en Google Sheets que la respuesta se haya registrado correctamente en la hoja «Estudiantes Potenciales».

Revisar el Correo:

  1. Revisa el correo electrónico que ingresaste en la prueba para confirmar que recibiste el mensaje personalizado con la información correcta.

Conclusión

En este tutorial aprendiste a crear un sistema automatizado que toma datos de un formulario de Google Forms, consulta información adicional en Google Sheets y envía un correo electrónico personalizado usando Google Apps Script. Este método te ayuda a mejorar la comunicación con estudiantes, clientes o cualquier grupo de usuarios sin necesidad de hacerlo manualmente, ahorrando tiempo y evitando errores.

Los siguientes pasos pueden ser mejorar el formato del correo con HTML, agregar validaciones para evitar errores o incluso integrar más datos personalizados según tus necesidades.

Si quieres profundizar en Google Apps Script y aprender a crear automatizaciones más avanzadas, te recomiendo inscribirte en el curso completo de mi academia JuanSGuzman.

Si quieres aprender a usar Google Forms y Google Sheets desde cero, te invito a tomar un curso gratis de 2 horas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

JuanSGuzman
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.