Emails Suscriptores YouTube Auto | n8n
El problema que enfrentan todos los creadores de contenido en YouTube es el mismo: tienes miles de suscriptores pero cero control sobre la comunicación con ellos. YouTube decide cuándo mostrar tus vídeos, el algoritmo cambia constantemente, y si mañana tu canal desaparece, pierdes todo el contacto con tu audiencia. Es una situación de dependencia total.
La automatización completa, en tu bandeja
Emails Suscriptores YouTube Auto | n8n
Automatiza la Búsqueda de Emails de Suscriptores de YouTube y Envía Mensajes de Bienvenida con n8n (Workflow Gratuito + Vídeo + Tutorial + Descarga)
Prerrequisitos: instancia n8n y claves API.
! NecesitasPrerrequisitos: instancia n8n y claves API.
- A self-hosted n8n instance with terminal access.
- API credentials for the services used in this workflow.
La automatización completa, en tu bandeja
Detalle del workflow n8n.
01 Paso 01Configurar el Trigger Diario (Daily Trigger).
Este nodo es el punto de partida de todo el workflow. Configura una ejecución automática diaria para que el sistema busque nuevos suscriptores sin intervención manual. Es fundamental porque garantiza que nunca pierdas un nuevo suscriptor: cada día a medianoche, el workflow se activa y procesa todos los nuevos seguidores.
La automatización basada en schedule es clave para este caso de uso. No quieres tener que acordarte de ejecutar manualmente la búsqueda de emails — el sistema debe trabajar por ti mientras duermes o te dedicas a crear contenido.
💡 Consejo: Elige una hora de baja actividad (medianoche o madrugada) para evitar conflictos con otras automatizaciones y asegurar que los servicios externos como Apify tengan disponibilidad óptima.
Parámetros- Tipo de nodo: Cron (Trigger on Schedule)
- Trigger Interval: Days — indica que el trigger se activa con intervalo diario
- Days Between Triggers: 1 — el workflow se ejecuta cada día sin excepción
- Trigger at Hour: Midnight (00:00) — la hora de ejecución, ideal para procesar durante la noche
- Trigger at Minute: 0 — minuto exacto de la hora configurada
02 Paso 02Obtener los Últimos Suscriptores de YouTube (Get Latest YouTube Subscribers).
Este nodo realiza una llamada a la API de YouTube Data v3 para recuperar la lista de tus suscriptores más recientes. Es el corazón de la recopilación de datos: sin esta conexión con YouTube, no tendríamos acceso a la información de quién se ha suscrito a tu canal.
La API de YouTube requiere autenticación OAuth2, lo que significa que debes tener configuradas las credenciales correctas en n8n antes de usar este nodo. Una vez configurado, obtendrás un JSON con todos los datos de suscripción incluyendo el ID del canal de cada suscriptor.
💡 Consejo: Asegúrate de que tu credential de YouTube tenga los scopes necesarios activados. Necesitas al menos el scope de lectura de suscripciones para que esta llamada funcione correctamente.
Parámetros- Method: GET — método HTTP para recuperar datos sin modificarlos
- URL:
https://www.googleapis.com/youtube/v3/subscriptions?part=— endpoint base de la API de suscripciones de YouTube - Authentication: Predefined Credential Type — usa credenciales preconfiguradas en n8n
- Credential Type: YouTube OAuth2 API — tipo de autenticación requerida por Google
- YouTube OAuth2 API: Selecciona tu credential YouTube configurado en n8n
03 Paso 03Separar los Items de Suscriptores (Split Out Items).
Este nodo transforma la respuesta de la API de YouTube (que viene como un único objeto con un array de suscriptores) en items individuales que el workflow puede procesar uno por uno. Es un paso técnico pero esencial para el correcto funcionamiento del loop posterior.
Sin este nodo de separación, no podríamos iterar sobre cada suscriptor de forma independiente. La API devuelve todos los suscriptores en un campo "items", y este nodo extrae ese array para convertir cada elemento en un item separado del workflow.
💡 Consejo: Si la API de YouTube cambia el nombre del campo que contiene los suscriptores, tendrás que actualizar este parámetro. Verifica siempre la estructura del JSON de respuesta si algo deja de funcionar.
Parámetros- Fields To Split Out:
items— el campo del JSON que contiene el array de suscriptores a separar - Include: No Other Fields — solo incluye los items separados, sin campos adicionales del objeto padre
- Fields To Split Out:
04 Paso 04Procesar Suscriptores en Lotes (SplitInBatches).
Este nodo divide los suscriptores en lotes para procesarlos de forma controlada. Con un batch size de 1, cada suscriptor se procesa individualmente, lo que es crucial para el scraping con Apify ya que necesitamos hacer una llamada por cada canal de suscriptor.
El procesamiento individual evita sobrecargar los servicios externos y permite manejar errores de forma granular. Si el scraping falla para un suscriptor, el workflow continúa con el siguiente sin afectar al resto del proceso.
💡 Consejo: Mantén el batch size en 1 cuando uses servicios de scraping como Apify. Procesar en paralelo podría exceder los límites de rate y provocar errores o bloqueos temporales.
Parámetros- Batch Size: 1 — procesa un suscriptor a la vez para control máximo y gestión de errores individual
05 Paso 05Verificar Duplicados en Google Sheets (Google Sheets - Get Rows).
Este nodo consulta tu Google Sheets para verificar si el suscriptor actual ya ha sido procesado anteriormente. Es fundamental para evitar duplicados y no enviar múltiples emails de bienvenida a la misma persona, lo que sería poco profesional y molesto.
La verificación se realiza mediante el ID del canal del suscriptor, que es único e inmutable. Si encontramos una fila con ese ID, significa que ya procesamos a este suscriptor en una ejecución anterior.
💡 Consejo: Crea tu Google Sheet antes de ejecutar el workflow con las columnas: "Subscriber name", "Subscriber id" y "Email". Esto evitará errores de mapeo en los nodos siguientes.
Parámetros- Credential to connect with: Selecciona tu credential Google Sheets configurado en n8n
- Resource: Sheet Within Document — opera sobre una hoja específica dentro del documento
- Operation: Get Row(s) — recupera filas que coincidan con el filtro
- Document: From list → [TU_DOCUMENTO_GOOGLE_SHEETS] — selecciona tu spreadsheet desde la lista
- Sheet: From list → [TU_HOJA] — selecciona la hoja donde guardas los suscriptores
- Column (filtro): Subscriber id — columna donde buscamos coincidencias
- Value (filtro):
{{ $json.subscriberSnippet.channelId }}— ID del canal del suscriptor actual
06 Paso 06Condición — ¿Suscriptor Ya Existe? (IF).
Este nodo IF evalúa si el suscriptor ya existe en la base de datos. Si la consulta anterior devolvió un row_number, significa que encontramos al suscriptor y no debemos procesarlo de nuevo. Si no existe, continuamos con el scraping de email.
Esta bifurcación es crítica para la integridad de los datos. El camino "true" (suscriptor existe) vuelve al loop para procesar el siguiente, mientras que el camino "false" (suscriptor nuevo) continúa hacia el scraping con Apify.
💡 Consejo: El operador "exists" es más robusto que comparar con un valor específico. Si Google Sheets cambia el formato de respuesta, la lógica sigue funcionando mientras devuelva el campo row_number.
Parámetros- Condition Expression:
{{ $json.row_number }}— verifica si existe un número de fila en la respuesta - Operator: exists — comprueba la existencia del campo, no su valor específico
- Convert types where required: Activado — permite conversión automática de tipos durante la evaluación
- Condition Expression:
07 Paso 07Scraping del Email con Apify (Apify - Run Actor and Get Dataset).
Este es el nodo más potente del workflow. Utiliza Apify para ejecutar el actor "YouTube Email Scraper" que visita la página del canal del suscriptor y extrae cualquier email público disponible en su descripción o enlaces. Es scraping inteligente que respeta los términos de servicio al acceder solo a información pública.
El actor de Apify maneja toda la complejidad del scraping: renderizado de JavaScript, extracción de emails con regex avanzados, y gestión de rate limits. Tú solo le pasas la URL del canal y él devuelve los emails encontrados.
💡 Consejo: El actor de Apify consume créditos por cada ejecución. Monitoriza tu uso en el dashboard de Apify y ajusta la frecuencia del workflow si es necesario para optimizar costos.
Parámetros- Apify API key connection: Selecciona tu credential Apify configurado en n8n
- Resource: Actor — tipo de recurso de Apify a utilizar
- Operation: Run an Actor and Get Dataset — ejecuta el actor y espera los resultados
- Actor Source: Recently Used Actors — selección desde actores usados recientemente
- Actor: From list → YouTube Email Scraper (exporter24/you...) — el actor específico para scraping de emails de YouTube
- Input JSON:
{"url": "https://www.youtube.com/channel/{{ $('Loop Through Subscribers').item.json.subscriberSnippet.channelId }}"} - Memory: 1024 MB (1 GB) — memoria asignada para la ejecución del actor
08 Paso 08Condición — ¿El Suscriptor Tiene Email? (IF Subscriber Has Email).
Este nodo evalúa si el scraping de Apify encontró al menos un email válido para el suscriptor. No todos los canales de YouTube tienen emails públicos, así que necesitamos esta bifurcación para manejar ambos escenarios de forma diferente.
Si existe email, el flujo continúa hacia el guardado con email y el envío del mensaje de bienvenida. Si no hay email, guardamos igualmente los datos básicos del suscriptor para tenerlo registrado en nuestra base de datos.
💡 Consejo: Algunos canales tienen múltiples emails. Esta configuración toma el primero, pero podrías modificar la lógica para guardar todos los emails encontrados si lo necesitas.
Parámetros- Condition Expression:
{{ $json.email[0] }}— accede al primer email del array devuelto por Apify - Operator: exists — verifica si hay al menos un email en el resultado
- Convert types where required: Desactivado
- Condition Expression:
09 Paso 09Guardar Suscriptor con Email en Google Sheets (Add Subscriber to Google Sheet).
Este nodo añade una nueva fila en Google Sheets con todos los datos del suscriptor incluyendo su email. Es el registro completo que te permitirá hacer outreach posterior y análisis de tu audiencia. La información queda estructurada y lista para exportar a tu CRM o herramienta de email marketing.
El mapeo manual de columnas garantiza que cada dato llegue exactamente donde debe. El nombre del suscriptor, su ID de canal y el email extraído quedan perfectamente organizados.
💡 Consejo: Añade una columna "Fecha de registro" con la expresión
{{ $now.toISOString() }}para trackear cuándo se añadió cada suscriptor a tu base de datos.
Parámetros- Credential to connect with: Selecciona tu credential Google Sheets configurado en n8n
- Resource: Sheet Within Document
- Operation: Append Row — añade una nueva fila al final de la hoja
- Document: From list → [TU_DOCUMENTO_GOOGLE_SHEETS]
- Sheet: From list → [TU_HOJA]
- Mapping Column Mode: Map Each Column Manually — control total sobre el mapeo
- Values to Send:
- Subscriber name:
{{ $('Loop Through Subscribers').item.json.subscriberSnippet.title }} - Subscriber id:
{{ $('Loop Through Subscribers').item.json.subscriberSnippet.channelId }} - Email:
{{ $json.email[0] }}
- Subscriber name:
10 Paso 10Guardar Suscriptor sin Email en Google Sheets (Append Subscriber to Google Sheet).
Este nodo guarda los suscriptores que no tienen email público disponible. Aunque no podamos contactarlos directamente, es valioso tener un registro completo de todos tus suscriptores para análisis y futuras estrategias de engagement.
La diferencia con el nodo anterior es que este solo guarda nombre e ID, sin el campo de email. Mantener registros separados te permite identificar fácilmente qué porcentaje de tus suscriptores tienen emails disponibles.
💡 Consejo: Considera crear una segunda hoja específica para suscriptores sin email. Así podrás implementar estrategias alternativas como invitarlos a unirse a tu newsletter mediante comentarios o community posts.
Parámetros- Credential to connect with: Selecciona tu credential Google Sheets configurado en n8n
- Resource: Sheet Within Document
- Operation: Append Row
- Document: From list → [TU_DOCUMENTO_GOOGLE_SHEETS]
- Sheet: From list → [TU_HOJA]
- Mapping Column Mode: Map Each Column Manually
- Values to Send:
- Subscriber name:
{{ $('Loop Through Subscribers').item.json.subscriberSnippet.title }} - Subscriber id:
{{ $('Loop Through Subscribers').item.json.subscriberSnippet.channelId }}
- Subscriber name:
11 Paso 11Enviar Email de Bienvenida (Send Welcome Email).
Este es el nodo de conversión: transforma un suscriptor pasivo de YouTube en un contacto activo de tu lista de email. El mensaje de bienvenida personalizado establece la primera conexión directa con tu nuevo seguidor, fuera de las limitaciones de la plataforma.
El email se envía en formato HTML para permitir diseños atractivos con tu branding. Puedes incluir enlaces a tus recursos, lead magnets, o simplemente agradecer la suscripción y presentarte de forma más personal.
💡 Consejo: Personaliza el email incluyendo el nombre del canal del suscriptor con la expresión
{{ $('Loop Through Subscribers').item.json.subscriberSnippet.title }}. Un toque personal aumenta significativamente las tasas de respuesta.Parámetros- Credential to connect with: Selecciona tu credential Gmail configurado en n8n
- Resource: Message — opera sobre mensajes de email
- Operation: Send — envía un nuevo email
- To:
{{ $('Scrape Channel Email (Apify)').item.json.email[0] }}— email del suscriptor extraído por Apify - Subject: Thanks for subscribing! 🎉 — asunto del email (personalízalo a tu gusto)
- Email Type: HTML — formato del contenido del email
- Message: [Tu template HTML de bienvenida] — contenido completo del email
- Append n8n Attribution: Desactivado — no añade firma de n8n al email
Consigue el JSON n8n listo para importar + la guía
Deja tu email y te enviamos el escenario completo.
- JSON n8n listo para importar
- Guía de setup escrita
- Tutorial en video incluido
Por Qué Automatizar la Búsqueda de Emails de Suscriptores es un Game-Changer para Creadores de YouTube
La dependencia de YouTube es el mayor riesgo para cualquier creador de contenido. Tu canal puede ser desmonetizado, shadowbaneado o incluso eliminado sin previo aviso. Y cuando eso pasa, pierdes el contacto con toda tu audiencia de un día para otro. No tienes sus emails, no tienes sus teléfonos, no tienes nada. Problemas de no tener los emails de tus suscriptores: Dependencia total del algoritmo de YouTube para llegar a tu audiencia Imposibilidad de comunicarte directamente para lanzamientos o promociones Pérdida de oportunidades de monetización fuera de la plataforma Riesgo de perder años de trabajo si tu canal tiene problemas Competencia desigual con creadores que sí construyen sus listas Beneficios de automatizar este proceso: Lista de emails propia que nadie te puede quitar Comunicación directa sin depender de algoritmos Mayor tasa de conversión en lanzamientos y ofertas Relación más profunda y personal con tu audiencia Diversificación de canales de monetización Este workflow transforma la forma en que te relacionas con tu audiencia de YouTube. En lugar de esperar pasivamente a que el algoritmo muestre tus vídeos, tomas el control activo de la comunicación con las personas que ya decidieron seguirte. Es la diferencia entre alquilar tu audiencia y ser dueño de ella. Si buscas más formas de captar leads, consulta nuestra agencia de lead generation.
La automatización completa, en tu bandeja.
JSON n8n, guía escrita y tutorial en video, todo para desplegar en menos de 15 minutos.
- Escenario n8n JSON completo
- Documentación de setup paso a paso
- Tutorial en video completo