Automatiza Gmail con n8n: Activadores, Envío & Filtrado de Emails 2026

El email sigue siendo la columna vertebral de la comunicación empresarial, y automatizarlo puede ahorrar horas cada semana. La integración de Gmail de n8n cubre todo el ciclo de vida del email: recibir y filtrar el correo entrante, enviar mensajes salientes, etiquetar, archivar e incluso combinar Gmail con IA para un manejo inteligente del correo electrónico.

Esta guía lo guía a través de la configuración completa, desde las credenciales de OAuth hasta los patrones de flujo de trabajo avanzados, incluidos los respondedores automáticos impulsados por IA y los correos electrónicos de resumen diario.

⚡ Genera flujos de trabajo de Gmail al instante

Omita la configuración y describa su automatización de Gmail en Scriflow para obtener un JSON de n8n listo para importar en segundos.

Configuración de las credenciales de OAuth de Gmail

Gmail requiere autenticación OAuth2. Aquí está el proceso de configuración completo:

1. Crea un proyecto de Google Cloud

  1. Ve a console.cloud.google.com y crea un nuevo proyecto (o selecciona uno existente).
  2. Navega a APIs & Services → Library y habilita la Gmail API.
  3. Ve a APIs & Services → OAuth consent screen.
  4. Elige el tipo de usuario External y completa el nombre de la aplicación (por ejemplo, "n8n Gmail Bot") y tu correo electrónico.
  5. Agrega el alcance https://mail.google.com/ (acceso completo a Gmail) o alcances más específicos según sea necesario.
  6. Agrega tu propio correo electrónico como un Test User (obligatorio mientras la aplicación está en modo de prueba).

2. Crea credenciales de OAuth2

  1. Ve a Credentials → Create Credentials → OAuth 2.0 Client ID.
  2. Selecciona Web Application como el tipo de aplicación.
  3. Agrega la URL de devolución de llamada de OAuth de n8n como un URI de redireccionamiento autorizado: https://your-n8n-instance.com/rest/oauth2-credential/callback
  4. Copia el Client ID y el Client Secret.

3. Configura en n8n

  1. En n8n, ve a Credentials → New → Gmail OAuth2 API.
  2. Ingresa tu Client ID y Client Secret.
  3. Haz clic en Connect y sigue el flujo de autorización de Google.
  4. Otorga los permisos solicitados: n8n almacenará el token de forma segura.
💡 Usuarios de Google Workspace

Para las cuentas de Google Workspace (anteriormente G Suite), usa un tipo de pantalla de consentimiento OAuth Internal. No necesitarás agregar usuarios de prueba y la aplicación no requerirá la verificación de Google.

Nodo de activación de Gmail

El nodo Gmail Trigger sondea tu bandeja de entrada en busca de nuevos mensajes que coincidan con tus criterios. Así es como construyes flujos de trabajo de correo electrónico reactivos:

Trigger Type: Email Received Poll Time: Every minute Filters: Include Spam/Trash: false Label Names: INBOX // or a custom label Sender Filter: noreply@github.com // optional: filter by sender

Eventos de activación disponibles

EventoSe activa cuandoIdeal para
Email ReceivedLlega un nuevo correo electrónico a la bandeja de entrada (o etiqueta)Tickets de soporte, formularios de contacto, confirmaciones de pedidos
Label AddedSe aplica una etiqueta a un correo electrónicoActivar flujos de trabajo desde los propios filtros/reglas de Gmail

Campos de salida del activador

Cada correo electrónico activado produce un objeto JSON enriquecido que puedes usar en los nodos posteriores:

{ "id": "18e3c2f4d1a0b9c5", // Gmail message ID "threadId": "18e3c2f4d1a0b9c5", "from": "alice@example.com", "to": "you@yourcompany.com", "subject": "Support request: can't login", "date": "2026-03-13T09:30:00Z", "text": "Hi, I'm having trouble logging in...", "html": "<p>Hi, I'm having trouble...</p>", "labelIds": ["INBOX", "UNREAD"], "attachments": [] }

Filtrado de correos electrónicos por remitente y asunto

No todos los correos electrónicos deben activar la misma acción. Usa nodos IF después del activador para enrutar diferentes correos electrónicos a través de diferentes rutas:

Filtrar por dominio del remitente

// IF node: check if email is from a specific domain Condition: {{ $json.from }} contains "@github.com" // OR: check against an array of known senders Condition: {{ ['support@stripe.com', 'noreply@github.com'] .includes($json.from) }} is true

Filtrar por palabras clave del asunto

// IF node: check subject contains keywords Condition: {{ $json.subject.toLowerCase() }} contains "urgent" // Using regex for more complex patterns Condition: {{ /^(support|help|bug):/i.test($json.subject) }} is true

Usar el filtrado de etiquetas nativo de Gmail

Un enfoque más limpio: crea Filtros de Gmail en la configuración de Gmail para aplicar automáticamente etiquetas a los correos electrónicos. Luego, configura tu activador n8n para que solo se active en los correos electrónicos con esa etiqueta específica. Esto mueve la lógica de filtrado a Gmail, donde pertenece, manteniendo limpio tu flujo de trabajo n8n.

Acciones del nodo Gmail

El nodo Gmail admite todas las operaciones de correo electrónico principales:

Send Email
action
Redacta y envía un nuevo correo electrónico desde tu cuenta de Gmail. Admite HTML, CC, BCC y archivos adjuntos.
Reply to Email
action
Responde en el mismo hilo usando el ID de mensaje original. Mantiene el contexto de la conversación.
Add Label
action
Aplica una o más etiquetas a un mensaje. Útil para la categorización y la activación de otras reglas.
Remove Label
action
Elimina una etiqueta (por ejemplo, elimina UNREAD después del procesamiento o elimina una etiqueta de procesamiento).
Move to Trash
action
Elimina un correo electrónico después del procesamiento (por ejemplo, archiva automáticamente el spam o las notificaciones procesadas).
Get Many Messages
read
Busca correos electrónicos usando la sintaxis de consulta de Gmail (por ejemplo, from:boss@company.com has:attachment).

Enviar correos electrónicos con n8n

La operación Send Email es sencilla pero tiene opciones importantes:

Resource: Message Operation: Send To: {{ $json.customerEmail }} Subject: Your order #{{ $json.orderId }} has shipped! 🚀 Email Type: HTML HTML Body: <p>Hi {{ $json.firstName }},</p> <p>Your order <strong>#{{ $json.orderId }}</strong> is on its way.</p> <p>Track it here: <a href="{{ $json.trackingUrl }}">Track Package</a></p> <p>Best,<br>The Team</p> CC: orders@yourcompany.com

Enviar con archivos adjuntos

Adjunta archivos de nodos anteriores (por ejemplo, un PDF generado por un nodo Code o un archivo descargado a través de HTTP Request):

// After a node that produces binary data: Attachments: - Input Data Field Name: data File Name: report-{{ $now.toFormat('yyyy-MM-dd') }}.pdf

Flujo de trabajo de respuesta automática

Una automatización clásica de Gmail: reconoce automáticamente los correos electrónicos de soporte entrantes mientras un humano los revisa.

Estructura del flujo de trabajo

  1. Gmail Trigger: escucha los correos electrónicos con la etiqueta "Support".
  2. IF Node: excluye las respuestas automáticas (verificar: $json.from no contiene "noreply" y $json.subject no comienza con "Re:").
  3. Gmail → Reply: envía el acuse de recibo usando el threadId original.
  4. Gmail → Add Label: aplica la etiqueta "Auto-Replied" para rastrear los correos electrónicos procesados.
  5. Slack: notifica al equipo de soporte con los detalles del correo electrónico.
// Reply node configuration Resource: Message Operation: Reply Message ID: {{ $('Gmail Trigger').item.json.id }} Thread ID: {{ $('Gmail Trigger').item.json.threadId }} HTML Body: <p>Hi {{ $json.from.split('@')[0] }},</p> <p>Thanks for reaching out! We've received your message and our team will get back to you within 24 hours.</p> <p>Your ticket number: <strong>#{{ $now.toMillis() }}</strong></p> <p>The Support Team</p>

Flujo de trabajo de resumen diario de correo electrónico

Agrega correos electrónicos importantes en un solo resumen diario, ideal para monitorear boletines, alertas o informes.

  1. Schedule Trigger: se ejecuta a las 7 AM todos los días de la semana.
  2. Gmail → Get Many Messages: busca correos electrónicos de las últimas 24 horas que coincidan con una consulta.
  3. Code Node: formatea los correos electrónicos en una tabla de resumen HTML.
  4. Gmail → Send Email: envía el resumen a tu correo electrónico personal o de equipo.
// Gmail search query for yesterday's emails Query: after:{{ $now.minus({days: 1}).toFormat('yyyy/MM/dd') }} before:{{ $now.toFormat('yyyy/MM/dd') }} label:important -from:me Maximum Results: 50 // Code node: build HTML digest const items = $input.all(); const rows = items.map(item => ` <tr> <td>${item.json.from}</td> <td>${item.json.subject}</td> <td>${item.json.date}</td> </tr> `).join(''); return [{ json: { digestHtml: `<table>${rows}</table>`, count: items.length } }];

Patrón de reenvío y procesamiento

Reenvía los correos electrónicos entrantes a otro servicio mientras los procesas en paralelo:

  1. Gmail Trigger: llega un nuevo correo electrónico.
  2. Set Node: extrae el cuerpo del correo electrónico y los archivos adjuntos.
  3. Dos ramas paralelas:
  • Rama A: Reenvía el correo electrónico original a una bandeja de entrada del equipo usando la operación Send de Gmail.
  • Rama B: Guarda los detalles del correo electrónico en Airtable/Google Sheets para el registro y el análisis.

Combinación de Gmail con IA para un manejo inteligente del correo electrónico

Aquí es donde la integración de Gmail de n8n se vuelve realmente poderosa. Al enrutar los correos electrónicos a través de un modelo de IA, puedes crear respuestas automatizadas conscientes del contexto:

Flujo de trabajo de soporte al cliente de IA

  1. Gmail Trigger: nuevo correo electrónico en la etiqueta "Support".
  2. IF Node: filtra las respuestas automáticas y el spam.
  3. HTTP Request → OpenAI: envía el asunto y el cuerpo del correo electrónico a GPT-4o con un mensaje del sistema que define la personalidad del agente de soporte y tu conocimiento del producto.
  4. IF Node: verifica la puntuación de confianza de la IA (si el modelo indica que no puede responder con confianza, enruta a un humano).
  5. Gmail → Reply (rama verdadera): envía la respuesta generada por la IA.
  6. Slack (rama falsa): notifica a un agente humano para que se haga cargo.
// OpenAI HTTP Request body { "model": "gpt-4o", "messages": [ { "role": "system", "content": "You are a helpful support agent for Acme Corp. Answer customer emails professionally and concisely. If you're unsure, respond with ESCALATE." }, { "role": "user", "content": "Subject: {{ $json.subject }}\n\n{{ $json.text }}" } ], "max_tokens": 800 }

Consejos para evitar los filtros de spam

Cuando envíes correos electrónicos automatizados a través de Gmail, sigue estas prácticas recomendadas para garantizar la capacidad de entrega:

  • Personaliza cada correo electrónico: Incluye el nombre del destinatario en el asunto o el cuerpo. Los correos electrónicos masivos genéricos activan los filtros de spam.
  • Evita las palabras desencadenantes de spam: Palabras como "¡GRATIS!", "URGENTE", "GARANTIZADO" y el uso excesivo de mayúsculas o signos de exclamación reducen la capacidad de entrega.
  • Envía desde una dirección calentada: No uses una cuenta de Gmail nueva para la automatización masiva. Usa una dirección establecida con un historial de actividad de correo electrónico real.
  • Respeta los encabezados de respuesta: Establece una dirección de respuesta válida para que los destinatarios (y los filtros de spam) puedan ver que el correo electrónico es legítimo.
  • Agrega enlaces para cancelar la suscripción: Para cualquier automatización adyacente al marketing, incluye una forma para que los destinatarios opten por no participar. Los algoritmos de Gmail recompensan esto.
  • Limita la velocidad de tus envíos: La API de Gmail tiene una cuota de ~500 correos electrónicos por día para las cuentas normales. Usa un nodo Wait entre los envíos si procesas grandes lotes.
  • Alternativa de texto sin formato: Siempre incluye versiones HTML y de texto sin formato. Algunos filtros de spam penalizan los correos electrónicos solo HTML.
📌 Límites de envío de la API de Gmail

Cuentas estándar de Gmail: ~500 correos electrónicos/día a través de la API. Cuentas de Google Workspace: hasta 2000 correos electrónicos/día. Para volúmenes más altos, usa un servicio de correo electrónico transaccional dedicado (SendGrid, Mailgun, Postmark) a través del nodo HTTP Request en su lugar.

Preguntas Frecuentes

¿Puede n8n leer correos electrónicos solo de etiquetas específicas de Gmail?
Sí. En el nodo Gmail Trigger, establece el campo Label Names en una etiqueta específica (por ejemplo, "Support", "INBOX", "UNREAD"). El activador solo se activará para los correos electrónicos con esa etiqueta aplicada. También puedes usar los filtros integrados de Gmail para etiquetar automáticamente los correos electrónicos de ciertos remitentes antes de que n8n los recoja.
¿Cómo evito que un respondedor automático responda a otros correos electrónicos automatizados?
Agrega un nodo IF que verifique: (1) $json.from no contiene "noreply", "no-reply", "donotreply"; (2) $json.subject no comienza con "Re:", "Fwd:", "Automatic reply"; y (3) $json.labelIds no incluye "SENT". Esto detecta la mayoría de los escenarios de respuesta automática.
¿Puedo acceder a los archivos adjuntos de Gmail en n8n?
Sí. Las operaciones Gmail Trigger y Get Message devuelven metadatos de archivos adjuntos. Para descargar el contenido real del archivo, usa la operación Download Attachment en el nodo Gmail, que devuelve datos binarios que luego puedes procesar, guardar en Google Drive o reenviar.
¿En qué se diferencia la integración de Gmail de n8n de la de Zapier?
n8n te da control total: ramificación compleja, ejecución de código, pasos ilimitados y autoalojamiento. Zapier es más simple pero más limitado en la complejidad lógica. n8n también admite la combinación de Gmail con cualquier otro nodo en un solo flujo de trabajo: no hay un "límite de aplicaciones" por zap. Y con Scriflow, puedes generar flujos de trabajo de Gmail en segundos.
¿Puede Scriflow generar mi flujo de trabajo de automatización de Gmail?
Absolutamente. Ve a scriflow.busca.software, describe tu flujo de trabajo de Gmail en inglés sencillo (por ejemplo, "Cuando llegue un nuevo correo electrónico de Gmail con un asunto que contenga 'factura', extrae el monto del cuerpo usando IA, guárdalo en Google Sheets y envía un mensaje de Slack"), y obtén JSON de n8n listo para importar al instante.