Cómo automatizar correos en Gmail (y desde Google Forms)
Para automatizar correos en Gmail tienes, de lo más simple a lo más potente: filtros (etiquetar, archivar o reenviar lo que llega), plantillas (respuestas predefinidas), envío programado y Google Apps Script, el lenguaje de Google para automatizar Gmail, Sheets y Forms. Con Apps Script puedes, por ejemplo, mandar un correo automático cada vez que alguien llena tu Google Forms, sin pagar nada extra.
1. Filtros de Gmail
- En Gmail, haz clic en el ícono de opciones de búsqueda (a la derecha de la barra de búsqueda).
- Define criterios: de quién, asunto, palabras, si tiene adjuntos.
- Clic en Crear filtro y elige acciones: aplicar etiqueta, omitir Recibidos (archivar), marcar como importante, reenviar a otra dirección, enviar plantilla.
Ejemplo: todo lo que tenga “factura” y adjunto → etiqueta “Facturas” y reenvío a contabilidad.
2. Plantillas (respuestas predefinidas)
- Configuración (engrane) → Ver toda la configuración → Avanzada → habilita Plantillas → Guardar.
- Escribe un correo nuevo, abre el menú de tres puntos → Plantillas → Guardar borrador como plantilla.
- Para usarla: en un correo nuevo, tres puntos → Plantillas → elígela.
Combinadas con filtros, sirven para respuestas automáticas a ciertos remitentes o asuntos.
3. Envío programado
En la flecha junto a Enviar, elige Programar envío. Útil para un correo puntual; para envíos recurrentes, usa Apps Script.
4. Cómo automatizar correos desde Google Forms
Caso típico: alguien se registra en tu formulario y quieres mandarle una confirmación personalizada (y avisarte a ti).
- Abre tu formulario → pestaña Respuestas → Vincular a Hojas de cálculo (crea una hoja con las respuestas).
- En la hoja: Extensiones → Apps Script.
- Borra el contenido y pega:
function alEnviarFormulario(e) {
const r = e.namedValues; // respuestas por nombre de pregunta
const nombre = r['Nombre'][0];
const correo = r['Correo electrónico'][0];
GmailApp.sendEmail(
correo,
'Recibimos tu registro',
`Hola ${nombre},\n\nGracias por registrarte. En breve te contactamos.\n\nSaludos.`
);
// Aviso interno
GmailApp.sendEmail(
Session.getEffectiveUser().getEmail(),
`Nuevo registro: ${nombre}`,
JSON.stringify(r, null, 2)
);
}
- Cambia
'Nombre'y'Correo electrónico'por el texto exacto de tus preguntas. - Guarda. En el menú izquierdo abre Activadores (ícono de reloj) → Agregar activador: función
alEnviarFormulario, fuente del evento De la hoja de cálculo, tipo Al enviar el formulario. - Autoriza los permisos (Google te mostrará una advertencia porque el script es tuyo y no está verificado; es normal en scripts propios).
- Llena el formulario para probar.
Si solo quieres que la persona reciba una copia de sus respuestas, Google Forms tiene la opción de recopilar correos y enviar copia a quien responde en la configuración del formulario, sin código.
5. Envíos personalizados desde Google Sheets
Para mandar un correo distinto a cada fila (recordatorios de pago, por ejemplo):
function enviarRecordatorios() {
const hoja = SpreadsheetApp.getActive().getSheetByName('Cobranza');
const filas = hoja.getDataRange().getValues(); // fila 0 = encabezados
for (let i = 1; i < filas.length; i++) {
const [cliente, correo, monto, vence, enviado] = filas[i];
if (enviado) continue;
GmailApp.sendEmail(correo, 'Recordatorio de pago',
`Hola ${cliente}, te recordamos tu saldo de $${monto} con vencimiento ${vence}.`);
hoja.getRange(i + 1, 5).setValue(new Date()); // marca columna E como enviado
}
}
Programa la función con un activador controlado por tiempo (diario, semanal). Revisa la documentación de Apps Script para más tipos de activadores.
6. Correos con formato, adjuntos y otro remitente
GmailApp.sendEmail acepta un cuarto parámetro con opciones. Las más útiles:
GmailApp.sendEmail(correo, 'Tu cotización', 'Versión en texto plano', {
htmlBody: `<p>Hola <b>${nombre}</b>, adjuntamos tu cotización.</p>`,
attachments: [DriveApp.getFileById('ID_DEL_ARCHIVO').getAs(MimeType.PDF)],
name: 'Ventas Muebles Norte', // nombre que ve el destinatario
replyTo: '[email protected]', // a dónde llegan las respuestas
});
htmlBodypermite negritas, enlaces y tablas. Deja también el texto plano para clientes de correo que no muestran HTML.attachmentsacepta archivos de Drive; puedes convertir un documento de Google a PDF al momento.- Para enviar desde otra dirección (opción
from), esa dirección debe estar configurada como alias en tu Gmail (Configuración → Cuentas → Enviar correo como). Si no, el envío falla.
Ideas que funcionan bien en pymes
- Confirmación de citas desde un formulario, con la fecha y la dirección.
- Recordatorios de pago unos días antes del vencimiento, desde una hoja de cobranza.
- Aviso interno cuando llega un correo con “urgente” o de un cliente importante (filtro + reenvío).
- Envío de cotizaciones generadas en Google Docs como PDF.
- Resumen semanal de una hoja (ventas, pedidos pendientes) que llega cada lunes a dirección.
Antes de dejarlo corriendo
- Prueba con tu propio correo como destinatario.
- Agrega una columna de “enviado” para no repetir envíos si el script corre dos veces.
- Revisa cuántos envíos te quedan con
MailApp.getRemainingDailyQuota()si mandas muchos. - Activa las notificaciones de fallas del activador (en la configuración del activador), para que Google te avise por correo si el script deja de funcionar.
Límites que debes conocer
A noviembre de 2026, según las cuotas oficiales de Apps Script:
| Cuenta | Destinatarios de correo por día (Apps Script) | Tiempo total de activadores por día |
|---|---|---|
| Gmail personal | 100 | 90 minutos |
| Google Workspace | 1,500 | 6 horas |
Si necesitas enviar más (boletines, campañas), usa una plataforma de email marketing; mandar masivos desde tu Gmail daña tu reputación y puede bloquear la cuenta.
Alternativas sin código
Make, Zapier y n8n tienen integraciones con Gmail y Google Forms para hacer lo mismo de forma visual. Compara en Zapier vs n8n. Si además quieres que las respuestas las redacte una IA, mira automatizar correos con IA.
Errores comunes
TypeError: Cannot read properties of undefined (reading 'namedValues'): ejecutaste la función con el botón “Ejecutar” en lugar de con el activador. Prueba llenando el formulario.- El nombre de la pregunta no coincide (un espacio o acento de diferencia): el valor sale vacío.
- “Service invoked too many times for one day: email”: alcanzaste la cuota diaria.
- Correos en spam: personaliza el contenido y evita enviar a listas que no pidieron tus correos.
Si usas Outlook, la guía equivalente es automatizar correos de Outlook.
Cuándo pedir ayuda
Si tus correos automáticos dependen de datos de tu sistema, de pagos o de muchos clientes, conviene montarlos con registro de envíos, manejo de errores y una cuenta adecuada. En Black Engine automatizamos correos de Gmail, Forms y Sheets, con o sin IA; escríbenos por WhatsApp.
Preguntas frecuentes
¿Cómo envío un correo automático cuando alguien llena un Google Forms?
Con un script de Apps Script vinculado a la hoja de respuestas y un activador 'al enviar formulario' que manda el correo con los datos de la respuesta. También se puede hacer con Make, Zapier o n8n.
¿Cuántos correos puedo mandar al día con Apps Script?
Según Google, a noviembre de 2026 el límite de destinatarios por día con Apps Script es de 100 para cuentas personales de Gmail y 1,500 para cuentas de Google Workspace.
¿Gmail puede responder automáticamente?
Sí, con la respuesta automática de vacaciones o con filtros que envían una respuesta predefinida. Para respuestas según el contenido necesitas Apps Script, un automatizador o IA.
¿Puedo programar un correo en Gmail?
Sí, con la flecha junto a Enviar y la opción Programar envío. Para envíos recurrentes usa Apps Script con un activador de tiempo.