From 2db63a0e2b20ffb40a7c7614abe5ddee6d25accc Mon Sep 17 00:00:00 2001 From: EidanThen Date: Thu, 2 Jul 2026 19:12:18 +0000 Subject: [PATCH] Update glmway-workflow.json --- glmway-workflow.json | 218 ++++++++++++++++++------------------------- 1 file changed, 93 insertions(+), 125 deletions(-) diff --git a/glmway-workflow.json b/glmway-workflow.json index 0815efb..1ae40bb 100644 --- a/glmway-workflow.json +++ b/glmway-workflow.json @@ -1,6 +1,6 @@ { "$json": { - "updatedAt": "2026-07-02T17:25:55.366Z", + "updatedAt": "2026-07-02T17:58:46.091Z", "createdAt": "2026-06-08T13:50:12.174Z", "id": "F1iPg8hktNAebZua", "name": "GLMWay", @@ -1162,7 +1162,7 @@ "parameters": { "content": "## Recordatorio a nuevo ingreso 24 horas antes de la sesion\n", "height": 464, - "width": 2224, + "width": 2080, "color": 6 }, "type": "n8n-nodes-base.stickyNote", @@ -1760,8 +1760,8 @@ "type": "n8n-nodes-base.gmail", "typeVersion": 2.2, "position": [ - 1296, - 736 + 1152, + 752 ], "id": "10b2cb4e-274d-4913-9345-2c024c071f4c", "name": "Send a message espanol2", @@ -1786,8 +1786,8 @@ "type": "n8n-nodes-base.gmail", "typeVersion": 2.2, "position": [ - 1296, - 944 + 1152, + 960 ], "id": "1dc76989-8c58-4ffe-9e1c-5113a59d346c", "name": "Send a message ingles2", @@ -1954,8 +1954,8 @@ "type": "n8n-nodes-base.wait", "typeVersion": 1.1, "position": [ - 1680, - 1072 + 1536, + 1088 ], "id": "ee5bb9bc-b8cb-493f-8463-ae0a24cf1f0d", "name": "Wait1", @@ -2685,8 +2685,8 @@ "type": "n8n-nodes-base.supabase", "typeVersion": 1, "position": [ - 1504, - 848 + 1360, + 864 ], "id": "ddf0a273-d3bc-44cc-888b-d789ce72ff77", "name": "Actualizar estado a recordado", @@ -3366,20 +3366,6 @@ }, "disabled": true }, - { - "parameters": { - "amount": 2 - }, - "type": "n8n-nodes-base.wait", - "typeVersion": 1.1, - "position": [ - 1264, - 2272 - ], - "id": "f6ec4ef9-94a9-4dbb-8c44-0bbd1a6f0f87", - "name": "Wait5", - "webhookId": "09d53dc8-c92a-43d2-a47f-477c0d1317af" - }, { "parameters": { "operation": "update", @@ -3977,7 +3963,7 @@ }, { "parameters": { - "sendTo": "={{ $json.session.correo_instructor }}", + "sendTo": "=eidan.then14@gmail.com", "subject": "Entrenamiento #TheGLMWay", "emailType": "text", "message": "=Hello,\n\nI am writing to inform you that there are no registered participants for today's scheduled activity.\n\nBest regards", @@ -3999,12 +3985,11 @@ "id": "QWNicjw1khRm5BVI", "name": "Eidan - Gmail account" } - }, - "disabled": true + } }, { "parameters": { - "sendTo": "={{ $json.session.correo_instructor }}", + "sendTo": "=eidan.then14@gmail.com", "subject": "#TheGLMWay Training", "emailType": "text", "message": "=Hello,\n\nThis is to inform you that, as of now, there are no people enrolled for today's activity.\n\nBest regards.\n\nThis is an automated message generated by the enrollment management system.", @@ -4026,8 +4011,7 @@ "id": "QWNicjw1khRm5BVI", "name": "Eidan - Gmail account" } - }, - "disabled": true + } }, { "parameters": { @@ -4698,8 +4682,8 @@ "type": "n8n-nodes-base.code", "typeVersion": 2, "position": [ - 1104, - 736 + 960, + 752 ], "id": "67785f93-1b98-43f4-a72b-c94072ca22e6", "name": "Cambiar zona horaria4" @@ -4711,8 +4695,8 @@ "type": "n8n-nodes-base.code", "typeVersion": 2, "position": [ - 1104, - 944 + 960, + 960 ], "id": "b574514b-817a-4798-a44b-2eae1077e118", "name": "Cambiar zona horaria5" @@ -6226,19 +6210,19 @@ "recurrenceRules": [] }, "node:Comenzo evento ingles": { - "lastTimeChecked": "2026-07-02T17:09:26Z" + "lastTimeChecked": "2026-07-02T19:00:13Z" }, "node:Comenzo evento español": { - "lastTimeChecked": "2026-07-02T17:09:26Z" + "lastTimeChecked": "2026-07-02T18:59:34Z" }, "node:Termino evento español": { - "lastTimeChecked": "2026-07-02T17:09:26Z" + "lastTimeChecked": "2026-07-02T18:59:35Z" }, "node:Termino evento ingles": { - "lastTimeChecked": "2026-07-02T17:09:26Z" + "lastTimeChecked": "2026-07-02T18:59:33Z" }, "node:Prueba": { - "lastTimeChecked": "2026-07-02T17:09:26Z" + "lastTimeChecked": "2026-07-02T18:59:59Z" }, "node:Schedule Trigger2": { "recurrenceRules": [] @@ -6583,9 +6567,9 @@ } ] }, - "versionId": "a0c36c4a-88e6-4aa0-bc8f-d89186085616", - "activeVersionId": "ed31a19f-9dc8-454f-bf44-dd17635297b2", - "versionCounter": 3987, + "versionId": "fd8d6eab-dabd-462e-a535-455b8571a191", + "activeVersionId": "fd8d6eab-dabd-462e-a535-455b8571a191", + "versionCounter": 4008, "triggerCount": 13, "shared": [ { @@ -6608,9 +6592,9 @@ ], "tags": [], "activeVersion": { - "updatedAt": "2026-07-02T17:09:27.000Z", - "createdAt": "2026-07-02T17:02:32.430Z", - "versionId": "ed31a19f-9dc8-454f-bf44-dd17635297b2", + "updatedAt": "2026-07-02T17:59:04.000Z", + "createdAt": "2026-07-02T17:58:46.100Z", + "versionId": "fd8d6eab-dabd-462e-a535-455b8571a191", "workflowId": "F1iPg8hktNAebZua", "nodes": [ { @@ -7767,7 +7751,7 @@ "parameters": { "content": "## Recordatorio a nuevo ingreso 24 horas antes de la sesion\n", "height": 464, - "width": 2224, + "width": 2080, "color": 6 }, "type": "n8n-nodes-base.stickyNote", @@ -7815,7 +7799,7 @@ "parameters": { "content": "## Notificacion inicial\n\nEnvia notificacion de sesion en el primer dia de trabajo del empleado", "height": 608, - "width": 3008, + "width": 3216, "color": 6 }, "type": "n8n-nodes-base.stickyNote", @@ -8357,7 +8341,7 @@ "sendTo": "={{ $('Loop Over Items1').item.json.email }}", "subject": "Entrenamiento #TheGLMWay", "emailType": "text", - "message": "=¡Hola, GLMer!\n\nEste es un recordatorio de tu entrenamiento, donde te transmitiremos nuestra cultura, nuestro ADN y por qué somos diferentes al resto.\n\n¡Te esperamos puntual y con toda la energía para aprender!\n\nÚnete aquí:\n{{ $('Obtener sesion').item.json.enlace_reunion }}", + "message": "=¡Hola, GLMer!\n\nEste es un recordatorio de tu entrenamiento, donde te transmitiremos nuestra cultura, nuestro ADN y por qué somos diferentes al resto.\n\n¡Te esperamos puntual y con toda la energía para aprender!\n\nÚnete aquí:\n\n{{ $('Obtener sesion').item.json.enlace_reunion }}", "options": { "appendAttribution": false } @@ -8365,8 +8349,8 @@ "type": "n8n-nodes-base.gmail", "typeVersion": 2.2, "position": [ - 1296, - 736 + 1152, + 752 ], "id": "10b2cb4e-274d-4913-9345-2c024c071f4c", "name": "Send a message espanol2", @@ -8383,7 +8367,7 @@ "sendTo": "={{ $('Loop Over Items1').item.json.email }}", "subject": "#TheGLMWay Training", "emailType": "text", - "message": "=Hello, GLMer!\n\nThis is a reminder about your training session, where we'll share our culture, our DNA, and what makes us different from the rest.\n\nWe're looking forward to seeing you on time and ready to learn!\n\nJoin here:\n{{ $('Obtener sesion').item.json.enlace_reunion }}", + "message": "=Hello, GLMer!\n\nThis is a reminder about your training session, where we'll share our culture, our DNA, and what makes us different from the rest.\n\nWe're looking forward to seeing you on time and ready to learn!\n\nJoin here:\n\n{{ $('Obtener sesion').item.json.enlace_reunion }}", "options": { "appendAttribution": false } @@ -8391,8 +8375,8 @@ "type": "n8n-nodes-base.gmail", "typeVersion": 2.2, "position": [ - 1296, - 944 + 1152, + 960 ], "id": "1dc76989-8c58-4ffe-9e1c-5113a59d346c", "name": "Send a message ingles2", @@ -8559,8 +8543,8 @@ "type": "n8n-nodes-base.wait", "typeVersion": 1.1, "position": [ - 1680, - 1072 + 1536, + 1088 ], "id": "ee5bb9bc-b8cb-493f-8463-ae0a24cf1f0d", "name": "Wait1", @@ -9290,8 +9274,8 @@ "type": "n8n-nodes-base.supabase", "typeVersion": 1, "position": [ - 1504, - 848 + 1360, + 864 ], "id": "ddf0a273-d3bc-44cc-888b-d789ce72ff77", "name": "Actualizar estado a recordado", @@ -9971,20 +9955,6 @@ }, "disabled": true }, - { - "parameters": { - "amount": 2 - }, - "type": "n8n-nodes-base.wait", - "typeVersion": 1.1, - "position": [ - 1264, - 2272 - ], - "id": "f6ec4ef9-94a9-4dbb-8c44-0bbd1a6f0f87", - "name": "Wait5", - "webhookId": "09d53dc8-c92a-43d2-a47f-477c0d1317af" - }, { "parameters": { "operation": "update", @@ -10528,30 +10498,6 @@ } } }, - { - "parameters": { - "operation": "getAll", - "tableId": "sesiones_glmway", - "returnAll": true, - "filters": { - "conditions": [] - } - }, - "type": "n8n-nodes-base.supabase", - "typeVersion": 1, - "position": [ - -176, - 2144 - ], - "id": "d34e225b-25bb-4a0a-845c-b9e274529000", - "name": "Get many rows", - "credentials": { - "supabaseApi": { - "id": "2PlsR6rpK7rQTIEn", - "name": "Sofia test - Supabase account" - } - } - }, { "parameters": { "jsCode": "const months = [\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];\n\nfunction formatearFecha(dateTimeStr) {\n if (!dateTimeStr) return null;\n const datePart = dateTimeStr.split('T')[0];\n const [year, month, day] = datePart.split('-');\n return `${parseInt(day, 10)} ${months[parseInt(month, 10) - 1]}`;\n}\n\nfunction detectarIdioma(summary) {\n if (!summary) return null;\n if (summary.includes(\"#TheGLMWay Training\")) return \"EN\";\n if (summary.includes(\"Entrenamiento #TheGLMWay\")) return \"ES\";\n return null;\n}\n\nfunction formatearHora(dateTimeStr) {\n if (!dateTimeStr) return null;\n const timePart = dateTimeStr.split('T')[1];\n if (!timePart) return null;\n return timePart.substring(0, 5);\n}\n\nconst output = [];\n\nfor (const item of $input.all()) {\n const event = item.json;\n\n const startRaw = event.start?.dateTime || event.start?.date;\n const endRaw = event.end?.dateTime || event.end?.date;\n const url = event.conferenceData?.entryPoints?.[0]?.uri || null;\n const idioma = detectarIdioma(event.summary);\n\n // Ignorar eventos vacíos o sin datos esenciales\n if (!event.summary || !startRaw) {\n console.log(\"Evento ignorado (vacío):\", JSON.stringify(event));\n continue;\n }\n\n output.push({\n json: {\n id: event.id,\n titulo: event.summary,\n idioma: idioma,\n fecha: formatearFecha(startRaw),\n hora_inicio: formatearHora(startRaw),\n hora_fin: formatearHora(endRaw),\n url: url,\n descripcion: event.description || null\n }\n });\n}\n\nconsole.log(`Sesiones procesadas: ${output.length}`);\nreturn output;\n\n// Agrega esto antes del return output\nconst resumen = output.map(i => ({\n meet_id: i.json.meet_id,\n titulo: i.json.titulo,\n fecha_sesion: i.json.fecha_sesion,\n hora_inicio: i.json.hora_inicio,\n hora_fin: i.json.hora_fin,\n enlace_reunion: i.json.enlace_reunion,\n idioma: i.json.idioma\n}));\nconsole.log(JSON.stringify(resumen));" @@ -10606,10 +10552,10 @@ }, { "parameters": { - "sendTo": "eidan.then14@gmail.com", + "sendTo": "=eidan.then14@gmail.com", "subject": "Entrenamiento #TheGLMWay", "emailType": "text", - "message": "=Hola,\n\nTe escribo para informarte que, hasta el momento, no hay personas inscritas para la actividad de hoy.\n\nSaludos.\n\nEste es un mensaje automático generado por el sistema de gestión de inscripciones.", + "message": "=Hello,\n\nI am writing to inform you that there are no registered participants for today's scheduled activity.\n\nBest regards", "options": { "appendAttribution": false } @@ -10628,12 +10574,11 @@ "id": "QWNicjw1khRm5BVI", "name": "Eidan - Gmail account" } - }, - "disabled": true + } }, { "parameters": { - "sendTo": "eidan.then14@gmail.com", + "sendTo": "=eidan.then14@gmail.com", "subject": "#TheGLMWay Training", "emailType": "text", "message": "=Hello,\n\nThis is to inform you that, as of now, there are no people enrolled for today's activity.\n\nBest regards.\n\nThis is an automated message generated by the enrollment management system.", @@ -10655,8 +10600,7 @@ "id": "QWNicjw1khRm5BVI", "name": "Eidan - Gmail account" } - }, - "disabled": true + } }, { "parameters": { @@ -10670,7 +10614,7 @@ "conditions": [ { "id": "df25aa3e-d48f-4e52-ae1f-47678e954d52", - "leftValue": "={{ $json.session.idioma }}", + "leftValue": "={{ $('Obtener sesion1').item.json.idioma }}", "rightValue": "EN", "operator": { "type": "string", @@ -11182,7 +11126,7 @@ }, { "parameters": { - "sendTo": "eidan.then14@gmail.com", + "sendTo": "=eidan.then14@gmail.com", "subject": "Entrenamiento #TheGLMWay", "emailType": "text", "message": "=
\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n
\n

Sesión de entrenamiento

\n

{{ $json.session.titulo }}

\n
\n

📅 {{ $json.session.fecha_sesion }}  |  🕒 {{ $json.session.hora_inicio }} - {{ $json.session.hora_fin }}

\n

🎤 Instructor: {{ $json.session.instructor }}

\n

🔗 Unirse a la reunión

\n
\n

Hola,

\n

Aquí tienes el listado de participantes para la sesión de hoy:

\n
\n {{ (function(){\n const data = $json.session.participantes || {};\n const colores = ['#4f46e5','#0891b2','#059669','#d97706','#dc2626','#7c3aed','#db2777'];\n let i = 0;\n let html = '';\n\n for (const pais in data) {\n const nombrePais = pais && pais.trim() !== '' ? pais : 'Sin país asignado';\n const color = colores[i % colores.length];\n i++;\n const lista = data[pais];\n\n html += `\n \n \n \n `;\n\n lista.forEach((p, idx) => {\n const bg = idx % 2 === 0 ? '#ffffff' : '#fafafa';\n html += `\n \n \n `;\n });\n\n html += `
\n ${nombrePais}\n (${lista.length} participante${lista.length !== 1 ? 's' : ''})\n
\n

${p.nombre}

\n

${p.correo}${p.division ? '  •  ' + p.division : ''}${p.departamento ? '  •  ' + p.departamento : ''}

\n
`;\n }\n\n return html || '

No hay participantes registrados.

';\n })() }}\n
\n

Saludos,
#TheGLMWay

\n
\n
", @@ -11209,7 +11153,7 @@ }, { "parameters": { - "sendTo": "eidan.then14@gmail.com", + "sendTo": "={{ $json.session.correo_instructor }}", "subject": "#TheGLMWay Training", "emailType": "text", "message": "=Hello,\n\nThis is to inform you that, as of now, there are no people enrolled for today's activity.\n\nBest regards.\n\nThis is an automated message generated by the enrollment management system.", @@ -11327,8 +11271,8 @@ "type": "n8n-nodes-base.code", "typeVersion": 2, "position": [ - 1104, - 736 + 960, + 752 ], "id": "67785f93-1b98-43f4-a72b-c94072ca22e6", "name": "Cambiar zona horaria4" @@ -11340,8 +11284,8 @@ "type": "n8n-nodes-base.code", "typeVersion": 2, "position": [ - 1104, - 944 + 960, + 960 ], "id": "b574514b-817a-4798-a44b-2eae1077e118", "name": "Cambiar zona horaria5" @@ -11373,6 +11317,30 @@ "name": "Sofia test - Supabase account" } } + }, + { + "parameters": { + "operation": "getAll", + "tableId": "sesiones_glmway", + "returnAll": true, + "filters": { + "conditions": [] + } + }, + "type": "n8n-nodes-base.supabase", + "typeVersion": 1, + "position": [ + -176, + 2144 + ], + "id": "d34e225b-25bb-4a0a-845c-b9e274529000", + "name": "Obtener sesion1", + "credentials": { + "supabaseApi": { + "id": "2PlsR6rpK7rQTIEn", + "name": "Sofia test - Supabase account" + } + } } ], "connections": { @@ -12453,7 +12421,7 @@ "main": [ [ { - "node": "Get many rows", + "node": "Obtener sesion1", "type": "main", "index": 0 } @@ -12471,17 +12439,6 @@ ] ] }, - "Get many rows": { - "main": [ - [ - { - "node": "Calcular sesion mas cercana4", - "type": "main", - "index": 0 - } - ] - ] - }, "Es espanol o ingles": { "main": [ [ @@ -12807,18 +12764,29 @@ } ] ] + }, + "Obtener sesion1": { + "main": [ + [ + { + "node": "Calcular sesion mas cercana4", + "type": "main", + "index": 0 + } + ] + ] } }, "authors": "Eidan Then", - "name": "Version ed31a19f", + "name": "Version fd8d6eab", "description": "", "autosaved": true, "workflowPublishHistory": [ { - "createdAt": "2026-07-02T17:09:27.085Z", - "id": 2280, + "createdAt": "2026-07-02T17:59:04.569Z", + "id": 2294, "workflowId": "F1iPg8hktNAebZua", - "versionId": "ed31a19f-9dc8-454f-bf44-dd17635297b2", + "versionId": "fd8d6eab-dabd-462e-a535-455b8571a191", "event": "activated", "userId": "de14e7e5-491b-4983-abb2-f88af42e92fd" }