Menú
n8n/Make
Este flujo de trabajo automatiza la sincronización de ciclos formativos entre Google Sheets y una base de datos MySQL/WordPress. Te explico su funcionamiento:
🎯 Objetivo Principal
Verificar diariamente que los ciclos formativos en Google Sheets estén correctamente reflejados en la web de WordPress, actualizando o marcando como inactivos según corresponda.
🔄 Flujo de Trabajo
1. Inicio Programado
- Se ejecuta automáticamente cada día a las 3:30 AM
2. Obtención de Datos
- Lee todos los ciclos desde Google Sheets (columna A del documento «Importación Ciclos»)
- Procesa cada ciclo uno por uno mediante un bucle
3. Verificación en Base de Datos
Para cada ciclo:
- Consulta la base de datos MySQL para verificar si existe
- Comprueba que tenga modalidad asignada (campo no vacío)
4. Bifurcación de Lógica
Si el ciclo NO existe en la web:
- Marca el ciclo como «Activo = 0» en Google Sheets
- Envía un email de notificación informando del cambio
Si el ciclo SÍ existe en la web:
- Obtiene los centros disponibles en WordPress
- Filtra los centros que corresponden al ciclo
- Verifica si los centros ya están asociados
Si faltan centros por asociar:
- Obtiene las provincias de WordPress
- Filtra las provincias correspondientes
- Actualiza Google Sheets con la información de provincias y centros
- Envía un email notificando la modificación
5. Actualización de WordPress
- Al finalizar el procesamiento, dispara la importación en WordPress mediante dos llamadas HTTP:
- Trigger: Inicia el proceso de importación
- Processing: Ejecuta la importación
📧 Notificaciones
El flujo envía emails a carlos.vaneyk@datacontrol.es y luis.colome@cesurformacion.com cuando:
- Se marca un ciclo como inactivo
- Se añaden centros a un ciclo existente
🔑 Datos Clave
- Google Sheet ID: 1SPGcnAkId_bGS0lkAnKb0b_iQ-OKF4kWxy8cV1u5UGE
- WordPress: test.cesurformacion.com
- Base de datos: forms.ciclos_web_wordpress
Este flujo de trabajo automatiza la sincronización de ciclos formativos desde una base de datos SQL hacia Google Sheets y WordPress. Aquí está lo que hace:
🔄 Flujo Principal
1. Trigger Programado (3:00 AM diario)
- Inicia el proceso automáticamente cada día
2. Extracción de Datos
- Consulta la base de datos MySQL para obtener ciclos formativos con modalidad definida
- Procesa cada ciclo uno por uno mediante un bucle
3. Verificación de Existencia
- Comprueba si el ciclo ya existe en Google Sheets (por DegreeID)
- Si no existe → crea nuevo registro
- Si existe → verifica si hay cambios en centros/provincias
📊 Dos Rutas de Procesamiento
Ruta A: Ciclo Nuevo (no existe en Sheets)
- Obtiene IDs de centros desde WordPress
- Filtra centros relacionados con el ciclo
- Obtiene IDs de provincias desde WordPress
- Filtra provincias relacionadas
- Crea nueva fila en Google Sheets con todos los datos del ciclo
- Envía email notificando la creación (Activo=0)
Ruta B: Ciclo Existente (actualización)
- Verifica si los centros relacionados han cambiado
- Si hay cambios:
- Obtiene centros actualizados de WordPress
- Obtiene provincias actualizadas
- Actualiza la fila existente en Google Sheets
- Envía email notificando la modificación
🔧 Funcionalidades Clave
- Mapeo de Provincias: Convierte códigos numéricos (01-52) a nombres y IDs de WordPress
- Filtrado Inteligente: Solo procesa centros y provincias relacionados con cada ciclo
- Normalización de Slugs: Genera URLs amigables automáticamente
- Trigger de Actualización Web: Activa la importación en WordPress después de procesar
📧 Notificaciones
- Nuevo ciclo: Avisa que se creó con estado inactivo
- Modificación: Informa qué centro se añadió al ciclo existente
🎯 Objetivo Final
Mantener sincronizada la información de ciclos formativos entre:
- Base de datos SQL (fuente de verdad)
- Google Sheets (gestión intermedia)
- WordPress (publicación web)
El flujo asegura que cualquier cambio en la base de datos se refleje automáticamente en los otros sistemas, con notificaciones para revisión manual antes de activar los ciclos en la web.
Este flujo automatiza la sincronización entre una hoja de Google Sheets y una base de datos MySQL para gestionar centros educativos y sus ciclos formativos en WordPress. Aquí está lo que hace:
🔄 Flujo Principal
1. Activación Diaria (5:00 AM)
- El Schedule Trigger inicia el proceso automáticamente cada día
2. Lectura de Centros
- Lee todos los centros desde Google Sheets («Importación Centros WEB Cesur»)
- Procesa cada centro uno por uno usando Loop Over Items
3. Actualización de WordPress
- Dispara la importación en WordPress (trigger + processing)
- Esto sincroniza los datos con el sitio web
4. Verificación en Base de Datos
- Consulta MySQL para ver si el centro existe (por schoolhouseid_centro)
- Si NO existe: Marca el centro como inactivo (Activo=0) en Google Sheets y envía email de notificación
5. Comparación de Ciclos (si el centro existe)
- Obtiene los ciclos asociados al centro desde WordPress
- Filtra los ciclos según la columna «Relacion con ciclos» de Google Sheets
- Compara los ciclos en MySQL vs Google Sheets para detectar diferencias
6. Actualización de Ciclos (si hay diferencias)
- Si faltan ciclos en MySQL (pero están en Google Sheets):
- Obtiene los ciclos actualizados desde WordPress
- Filtra y actualiza la relación de ciclos en Google Sheets
- Envía email notificando la actualización
📧 Notificaciones por Email
El flujo envía emails a carlos.vaneyk@datacontrol.es y luis.colome@cesurformacion.com cuando:
- Se da de baja un centro (Activo=0)
- Se añade un ciclo a un centro existente
🎯 Propósito
Mantener sincronizados tres sistemas:
- Google Sheets (fuente de datos)
- MySQL (base de datos)
- WordPress (sitio web)
Detectando automáticamente centros inactivos y ciclos faltantes.
Este flujo automatiza la sincronización de centros educativos y provincias entre una base de datos SQL y un sitio WordPress, actualizando una hoja de Google Sheets como intermediario. Aquí está el desglose:
🔄 Flujo Principal
1. Extracción de Datos (SQL)
- Se ejecuta diariamente a las 5:30 AM
- Consulta la base de datos para obtener centros activos con modalidad presencial
- Agrupa por centro y provincia, incluyendo las relaciones con ciclos formativos
2. Procesamiento por Lotes
- Procesa cada centro/provincia uno por uno
- Para cada registro, verifica si ya existe en Google Sheets
3. Lógica de Decisión
El flujo se divide en dos caminos principales:
Camino A: Centros Educativos (ID >= 53)
- Busca ciclos formativos en WordPress
- Filtra los ciclos que corresponden al centro
- Verifica si el centro + relación de ciclos ya existe en Sheets
- Si NO existe: Actualiza solo la relación de ciclos en Sheets
- Si existe: Continúa sin cambios
Camino B: Provincias (ID < 53)
- Obtiene las provincias desde WordPress
- Filtra las provincias relevantes usando un mapa de códigos
- Obtiene los ciclos formativos asociados
- Decide si crear página padre (provincia) o página hija (centro dentro de provincia)
- Crea/actualiza el registro en Google Sheets con:
- Título, slug, provincia, relación con ciclos
- Estado «Activo = 0» (inactivo por defecto)
- Envía email de notificación cuando se crea un nuevo centro
4. Actualización de WordPress
- Al finalizar el procesamiento, dispara la importación en WordPress
- Ejecuta el proceso de importación para sincronizar los cambios
🎯 Objetivo
Mantener sincronizados automáticamente los centros educativos y sus ciclos formativos entre:
- Base de datos SQL (fuente de verdad)
- Google Sheets (staging/revisión)
- WordPress (publicación web)
Los nuevos centros se crean como inactivos para revisión manual antes de publicarse.
Este flujo de trabajo automatiza la recopilación de respuestas de una encuesta sobre el uso de IA en el trabajo y las almacena en Google Sheets.
🔄 Cómo funciona:
- Webhook (Punto de entrada)
- Recibe datos de formularios externos vía POST
- Escucha en la URL:
https://coremsa.app.n8n.cloud/webhook/01f94968-d189-4a10-a76d-f58ff120ab7c - Acepta datos sin autenticación
- Append row in sheet (Almacenamiento)
- Guarda cada respuesta como una nueva fila en Google Sheets
- Documento: «Encuesta IA resultados»
- Hoja: «Envíos»
📊 Datos capturados:
- Fecha y hora del envío (formato español)
- Información del participante: nombre, email, departamento, puesto
- Uso actual de IA en el trabajo
- 5 respuestas sobre tareas repetitivas
- Preferencia para recibir información
- ID único de ejecución
💡 Caso de uso:
Cada vez que alguien completa la encuesta, automáticamente se registra en la hoja de cálculo con timestamp y ID de seguimiento.
Este flujo de trabajo captura y registra errores de formularios en una hoja de cálculo de Google Sheets.
🔄 Cómo funciona:
- Webhook – Recibe solicitudes POST desde formularios externos cuando ocurre un error
- Escucha en:
https://coremsa.app.n8n.cloud/webhook/4f687fd5-0fa7-4215-90d1-5d841120ca05 - Los formularios envían datos del error cuando algo falla
- Escucha en:
- Append row in sheet – Registra cada error en Google Sheets
- Hoja: «Errores Formulario CoremsaFormacion»
- Captura:
- site: Sitio web donde ocurrió el error
- input: Datos de entrada que causaron el problema
- result: Resultado del error
- fecha: Timestamp del error (usando variable
$vars.fecha_hora_now) - Notas: Campo vacío para anotaciones manuales
💡 Propósito:
Sistema de monitoreo de errores que permite rastrear y analizar problemas en formularios de Coremsa Formación, creando un registro histórico para debugging y mejora continua.
Este flujo de trabajo automatiza la captura y gestión de leads (contactos potenciales) desde formularios de Facebook para dos organizaciones: COREMSA y CESUR.
🔄 Flujo Principal
1. Captura de Formularios (cada hora)
- Cada hora, el flujo consulta Facebook para obtener los formularios activos de ambas organizaciones
- Detecta nuevos formularios y los registra en Supabase
- Actualiza el contador de leads de cada formulario
2. Procesamiento de Leads Nuevos
Para cada formulario que tiene nuevos leads:
- Extrae los datos del lead (nombre, apellidos, email, teléfono, intereses, ubicación)
- Elimina duplicados para evitar procesar el mismo lead dos veces
- Guarda los leads en la base de datos de Supabase con campos específicos según la organización:
- CESUR: Datos básicos de contacto
- COREMSA: Datos más detallados (código postal, estado laboral, colectivo, medio de contacto, curso)
3. Envío a CRMs Externos
Para CESUR (cada hora y media):
- Busca leads que aún no se han enviado al CRM
- Los envía mediante SOAP a un servicio web de Grupo COREMSA
- Si el envío es exitoso, marca el lead como «enviado_a_crm: true»
- Si falla, envía un email de notificación de error
Para COREMSA (cada hora y 45 minutos – actualmente deshabilitado):
- Busca leads pendientes de envío
- Los envía a iFormalia (plataforma de gestión de formación)
- Marca como enviados los exitosos
- Notifica por email si hay errores
📊 Características Clave
- Deduplicación: Evita procesar el mismo formulario o lead múltiples veces
- Reintentos automáticos: Los nodos críticos tienen configurado reintento en caso de fallo
- Notificaciones de error: Envía emails cuando falla el envío a los CRMs
- Mapeo inteligente de campos: Extrae datos de los formularios de Facebook usando filtros dinámicos para adaptarse a diferentes estructuras de formularios
🎯 Resultado Final
El flujo garantiza que todos los leads capturados en Facebook lleguen automáticamente a los sistemas CRM correspondientes, manteniendo un registro completo en Supabase y notificando cualquier problema en el proceso.
Let me know if you’d like to adjust anything.
Este flujo automatiza la gestión de solicitudes de emails desde centros educativos. Aquí está lo que hace paso a paso:
📋 Funcionamiento del Workflow
1. Recepción de solicitud (Webhook)
- Recibe solicitudes POST desde un formulario externo
- Captura información como: centro/departamento, destinatarios, objetivo del email, contenido, fecha límite y adjuntos
2. Descarga de adjunto (HTTP Request)
- Descarga el archivo adjunto desde la URL proporcionada en el formulario
- Prepara el archivo para adjuntarlo a la tarjeta de Trello
3. Creación de tarjeta en Trello (Create a card)
- Crea una tarjeta en la lista «Mailing Centros» del tablero de Trello
- Título: Incluye el centro/departamento y destinatarios
- Descripción: Contiene todos los detalles del formulario (nombre, email, tipo de servicio, objetivo, contenido)
- Asigna automáticamente a 4 miembros del equipo
- Establece la fecha límite según lo indicado en el formulario
- Adjunta el archivo descargado
4. Notificación por email (Send email)
- Envía un email a comunicacion@grupocoremsa.com
- Notifica que se ha creado una nueva tarea
- Incluye un enlace directo a la tarjeta de Trello creada
🎯 Propósito
Este flujo centraliza y organiza las solicitudes de emails de los centros, asegurando que:
- Todas las solicitudes queden registradas en Trello
- El equipo de comunicación sea notificado inmediatamente
- Toda la información relevante esté disponible en un solo lugar
- Se mantenga un seguimiento con fechas límite
Este flujo de trabajo automatiza la creación de contactos y leads (oportunidades de venta) en Odoo cuando recibe datos de formularios web. Aquí está la explicación detallada:
🎯 Flujo General
1. Recepción de Datos (Webhook)
- Recibe datos POST de formularios web externos
- Captura información como nombre, apellidos, email, teléfono, DNI, etc.
2. Filtrado por Formulario
El flujo se divide en dos rutas según el origen:
- Filter: Formulario FPEKit (idformulario = 4)
- Filter1: Formulario «Ordenador» de datacontrol.es (idformulario = 3)
📋 Ruta 1: Formulario FPEKit (idformulario = 4)
Odoo2 – Crear Contacto:
- Crea un contacto en Odoo con nombre, email, teléfono y DNI
- Si tiene éxito → Cliente nuevo: Crea un lead asociado al contacto
- Si falla → Error: Crea un lead sin contacto asociado + envía email de notificación
Cliente nuevo (Lead exitoso):
- Nombre del lead
- Partner ID (contacto creado)
- Segmento III
- Origen: Mapea según el campo «Origen» (BBDD, Instagram/Facebook, o Grupo Coremsa)
- Campaña ID: 22
- Agente comercial
- Observaciones
Error (Lead fallido):
- Similar al anterior pero sin partner_id
- Incluye el mensaje de error en la descripción
- Envía email a cvaneyk@gmail.com notificando el error
📋 Ruta 2: Formulario «Ordenador» (idformulario = 3)
Odoo1 – Crear Contacto:
- Crea contacto con nombre completo, email y teléfono
- Si tiene éxito → Crear Lead: Crea un lead asociado al contacto
- Si falla → Gmail: Envía email de notificación de error
Crear Lead:
- Nombre completo del lead
- Partner ID (contacto creado)
- Segmento III
- Origen: Mapea según el campo «Medio» o URL (Peluqueros Málaga, Belleza Málaga, RACE, MALAGA CF, Expertos inmobiliarios, u Otro)
- Campaña ID: 24
🔑 Características Clave
- Manejo de errores: Si falla la creación del contacto, aún así crea el lead y notifica
- Mapeo inteligente: Convierte valores del formulario a categorías específicas de Odoo
- Notificaciones: Email automático cuando hay errores
- Segmentación: Todos los leads se clasifican como «Segmento III»
- Campañas diferenciadas: Campaña 22 para FPEKit, Campaña 24 para formulario Ordenador