Update glmway-workflow.json
This commit is contained in:
+338
-77
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"$json": {
|
||||
"updatedAt": "2026-06-25T21:55:35.771Z",
|
||||
"updatedAt": "2026-06-25T21:57:43.554Z",
|
||||
"createdAt": "2026-06-08T13:50:12.174Z",
|
||||
"id": "F1iPg8hktNAebZua",
|
||||
"name": "GLMWay",
|
||||
@@ -4025,8 +4025,8 @@
|
||||
"type": "n8n-nodes-base.supabase",
|
||||
"typeVersion": 1,
|
||||
"position": [
|
||||
4320,
|
||||
304
|
||||
1632,
|
||||
928
|
||||
],
|
||||
"id": "d34e225b-25bb-4a0a-845c-b9e274529000",
|
||||
"name": "Get many rows",
|
||||
@@ -5217,19 +5217,19 @@
|
||||
"recurrenceRules": []
|
||||
},
|
||||
"node:Comenzo evento ingles": {
|
||||
"lastTimeChecked": "2026-06-25T21:00:11Z"
|
||||
"lastTimeChecked": "2026-06-26T13:00:02Z"
|
||||
},
|
||||
"node:Comenzo evento español": {
|
||||
"lastTimeChecked": "2026-06-25T21:00:22Z"
|
||||
"lastTimeChecked": "2026-06-26T13:00:04Z"
|
||||
},
|
||||
"node:Termino evento español": {
|
||||
"lastTimeChecked": "2026-06-25T20:59:54Z"
|
||||
"lastTimeChecked": "2026-06-26T13:00:40Z"
|
||||
},
|
||||
"node:Termino evento ingles": {
|
||||
"lastTimeChecked": "2026-06-25T21:00:39Z"
|
||||
"lastTimeChecked": "2026-06-26T13:00:50Z"
|
||||
},
|
||||
"node:Prueba": {
|
||||
"lastTimeChecked": "2026-06-25T20:59:58Z"
|
||||
"lastTimeChecked": "2026-06-26T13:00:21Z"
|
||||
},
|
||||
"node:Schedule Trigger2": {
|
||||
"recurrenceRules": []
|
||||
@@ -5242,6 +5242,9 @@
|
||||
},
|
||||
"node:Schedule Trigger5": {
|
||||
"recurrenceRules": []
|
||||
},
|
||||
"node:Schedule Trigger6": {
|
||||
"recurrenceRules": []
|
||||
}
|
||||
},
|
||||
"meta": {
|
||||
@@ -5515,10 +5518,10 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"versionId": "ede88449-a4ac-42cc-9e91-484976e8392b",
|
||||
"activeVersionId": "5e6c62fa-59d5-48af-9e01-8af436f62ce3",
|
||||
"versionCounter": 2812,
|
||||
"triggerCount": 12,
|
||||
"versionId": "ee6ea14b-3e4e-4e19-90d4-c1b6a96c4dc7",
|
||||
"activeVersionId": "ee6ea14b-3e4e-4e19-90d4-c1b6a96c4dc7",
|
||||
"versionCounter": 2853,
|
||||
"triggerCount": 13,
|
||||
"shared": [
|
||||
{
|
||||
"updatedAt": "2026-06-08T13:50:12.177Z",
|
||||
@@ -5540,9 +5543,9 @@
|
||||
],
|
||||
"tags": [],
|
||||
"activeVersion": {
|
||||
"updatedAt": "2026-06-25T14:40:53.000Z",
|
||||
"createdAt": "2026-06-25T14:40:42.857Z",
|
||||
"versionId": "5e6c62fa-59d5-48af-9e01-8af436f62ce3",
|
||||
"updatedAt": "2026-06-25T22:03:18.000Z",
|
||||
"createdAt": "2026-06-25T21:57:43.560Z",
|
||||
"versionId": "ee6ea14b-3e4e-4e19-90d4-c1b6a96c4dc7",
|
||||
"workflowId": "F1iPg8hktNAebZua",
|
||||
"nodes": [
|
||||
{
|
||||
@@ -6221,9 +6224,9 @@
|
||||
{
|
||||
"field": "weeks",
|
||||
"triggerAtDay": [
|
||||
1,
|
||||
4
|
||||
]
|
||||
3
|
||||
],
|
||||
"triggerAtHour": 16
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -7613,20 +7616,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"content": "# Eventos inician a las 6pm en hora Bogota\n",
|
||||
"width": 304
|
||||
},
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
3232,
|
||||
368
|
||||
],
|
||||
"typeVersion": 1,
|
||||
"id": "e5378554-9885-4e6d-ab6a-e2cb857c342a",
|
||||
"name": "Sticky Note9"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"operation": "getAll",
|
||||
@@ -8458,12 +8447,12 @@
|
||||
{
|
||||
"parameters": {
|
||||
"operation": "get",
|
||||
"tableId": "inscritos_glmway",
|
||||
"tableId": "coordinadores_rrhh_glmway",
|
||||
"filters": {
|
||||
"conditions": [
|
||||
{
|
||||
"keyName": "estado",
|
||||
"keyValue": "notificado"
|
||||
"keyValue": "=no_notificado"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -8762,7 +8751,7 @@
|
||||
"typeVersion": 2,
|
||||
"position": [
|
||||
4064,
|
||||
480
|
||||
432
|
||||
],
|
||||
"id": "41289b04-a9f4-4abc-8816-5afccd0e7996",
|
||||
"name": "Code in JavaScript1"
|
||||
@@ -8789,12 +8778,12 @@
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"operation": "append",
|
||||
"operation": "appendOrUpdate",
|
||||
"documentId": {
|
||||
"__rl": true,
|
||||
"value": "1Xs-MkeXiZvWeJuwm-IblcI-ilr7lyhMtED0R7wczmRg",
|
||||
"mode": "list",
|
||||
"cachedResultName": "Calendario GLMWay Prueba",
|
||||
"cachedResultName": "Calendario #TheGLMWay",
|
||||
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Xs-MkeXiZvWeJuwm-IblcI-ilr7lyhMtED0R7wczmRg/edit?usp=drivesdk"
|
||||
},
|
||||
"sheetName": {
|
||||
@@ -8864,7 +8853,7 @@
|
||||
"__rl": true,
|
||||
"value": "1Xs-MkeXiZvWeJuwm-IblcI-ilr7lyhMtED0R7wczmRg",
|
||||
"mode": "list",
|
||||
"cachedResultName": "Calendario GLMWay Prueba",
|
||||
"cachedResultName": "Calendario #TheGLMWay",
|
||||
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Xs-MkeXiZvWeJuwm-IblcI-ilr7lyhMtED0R7wczmRg/edit?usp=drivesdk"
|
||||
},
|
||||
"sheetName": {
|
||||
@@ -8875,7 +8864,7 @@
|
||||
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Xs-MkeXiZvWeJuwm-IblcI-ilr7lyhMtED0R7wczmRg/edit#gid=0"
|
||||
},
|
||||
"clear": "specificRange",
|
||||
"range": "A2:A80"
|
||||
"range": "A2:D80"
|
||||
},
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"typeVersion": 4.7,
|
||||
@@ -8895,8 +8884,8 @@
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"content": "## Borrar y guardar las nuevas fechas de las sesiones del nuevo año\n\nEste trigger se activa todos los años el 1 de enero",
|
||||
"height": 272,
|
||||
"content": "## Borrar y guardar las nuevas fechas de las sesiones del nuevo año en el sheets\n\nEste trigger se activa todos los años el 1 de enero",
|
||||
"height": 288,
|
||||
"width": 1072
|
||||
},
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
@@ -9256,7 +9245,7 @@
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"jsCode": "const months = [\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];\n\nfunction formatDate(dateTimeStr) {\n if (!dateTimeStr) return null;\n const datePart = dateTimeStr.split('T')[0]; // \"2026-01-07\"\n const [year, month, day] = datePart.split('-');\n return `${parseInt(day, 10)} ${months[parseInt(month, 10) - 1]}`;\n}\n\nconst output = [];\n\nfor (const item of $input.all()) {\n const event = item.json;\n output.push({\n json: {\n id: event.id,\n summary: event.summary,\n start: formatDate(event.start?.dateTime || event.start?.date),\n end: formatDate(event.end?.dateTime || event.end?.date)\n }\n });\n}\n\nreturn output;"
|
||||
"jsCode": "const months = [\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];\n\nfunction formatDate(dateTimeStr) {\n if (!dateTimeStr) return null;\n const datePart = dateTimeStr.split('T')[0]; // \"2026-01-07\"\n const [year, month, day] = datePart.split('-');\n return `${parseInt(day, 10)} ${months[parseInt(month, 10) - 1]}`;\n}\n\nconst output = [];\n\nfor (const item of $input.all()) {\n const event = item.json;\n output.push({\n json: {\n id: event.id,\n summary: event.summary,\n start: `'${formatDate(event.start?.dateTime || event.start?.date)}`,\n end: formatDate(event.end?.dateTime || event.end?.date)\n }\n });\n}\n\nreturn output;"
|
||||
},
|
||||
"type": "n8n-nodes-base.code",
|
||||
"typeVersion": 2,
|
||||
@@ -9280,16 +9269,16 @@
|
||||
"type": "n8n-nodes-base.scheduleTrigger",
|
||||
"typeVersion": 1.3,
|
||||
"position": [
|
||||
2384,
|
||||
-32
|
||||
2368,
|
||||
-48
|
||||
],
|
||||
"id": "55a755d8-8b74-440f-93c6-8a1ecba4c666",
|
||||
"name": "Schedule Trigger5"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"content": "## Añadir/actualizar coordinadores RRHH\n\nEste trigger se activa todos los años el 1 de enero",
|
||||
"height": 272,
|
||||
"content": "## Añadir/actualizar coordinadores RRHH\nEste trigger se activa todos los dias a las 11am",
|
||||
"height": 288,
|
||||
"width": 1072
|
||||
},
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
@@ -9321,8 +9310,8 @@
|
||||
"type": "n8n-nodes-base.googleCalendar",
|
||||
"typeVersion": 1.3,
|
||||
"position": [
|
||||
3584,
|
||||
-272
|
||||
3664,
|
||||
-208
|
||||
],
|
||||
"id": "3c32f96e-cd34-4be4-8c24-b4be7a8f29d9",
|
||||
"name": "Obtener entrenamientos ingles y espanol1",
|
||||
@@ -9333,19 +9322,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"jsCode": "const months = [\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];\n\nfunction formatDate(dateTimeStr) {\n if (!dateTimeStr) return null;\n const datePart = dateTimeStr.split('T')[0]; // \"2026-01-07\"\n const [year, month, day] = datePart.split('-');\n return `${parseInt(day, 10)} ${months[parseInt(month, 10) - 1]}`;\n}\n\nconst output = [];\n\nfor (const item of $input.all()) {\n const event = item.json;\n output.push({\n json: {\n id: event.id,\n summary: event.summary,\n start: formatDate(event.start?.dateTime || event.start?.date),\n end: formatDate(event.end?.dateTime || event.end?.date)\n }\n });\n}\n\nreturn output;"
|
||||
},
|
||||
"type": "n8n-nodes-base.code",
|
||||
"typeVersion": 2,
|
||||
"position": [
|
||||
3760,
|
||||
-272
|
||||
],
|
||||
"id": "8f80d9ca-1e4b-4753-b482-df7b0fd24f61",
|
||||
"name": "Formatear fecha1"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"documentId": {
|
||||
@@ -9367,8 +9343,8 @@
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"typeVersion": 4.7,
|
||||
"position": [
|
||||
2560,
|
||||
-32
|
||||
2544,
|
||||
-48
|
||||
],
|
||||
"id": "73089147-ba1f-4fb4-ac17-d5670b263fd8",
|
||||
"name": "Obtener coordinadores",
|
||||
@@ -9405,8 +9381,8 @@
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"typeVersion": 4.4,
|
||||
"position": [
|
||||
2896,
|
||||
-32
|
||||
2880,
|
||||
-48
|
||||
],
|
||||
"id": "231f396b-855a-4c50-8d6d-096018e6d2ac",
|
||||
"name": "Insertar/actualizar coordinadores a la bd"
|
||||
@@ -9420,11 +9396,225 @@
|
||||
"type": "n8n-nodes-base.aggregate",
|
||||
"typeVersion": 1,
|
||||
"position": [
|
||||
2720,
|
||||
-32
|
||||
2704,
|
||||
-48
|
||||
],
|
||||
"id": "e51bd2d5-22b5-46cf-b346-c1ba16bb5c34",
|
||||
"name": "Aggregate"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"method": "POST",
|
||||
"url": "https://dbit.digitalcompass.agency/rest/v1/rpc/sync_sesiones_glmway",
|
||||
"sendHeaders": true,
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "apikey",
|
||||
"value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJzZXJ2aWNlX3JvbGUiLAogICAgImlzcyI6ICJzdXBhYmFzZS1kZW1vIiwKICAgICJpYXQiOiAxNjQxNzY5MjAwLAogICAgImV4cCI6IDE3OTk1MzU2MDAKfQ.DaYlNEoUrrEn2Ig7tqibS-PHK5vgusbcbo7X36XVt4Q"
|
||||
},
|
||||
{
|
||||
"name": "Authorization",
|
||||
"value": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJzZXJ2aWNlX3JvbGUiLAogICAgImlzcyI6ICJzdXBhYmFzZS1kZW1vIiwKICAgICJpYXQiOiAxNjQxNzY5MjAwLAogICAgImV4cCI6IDE3OTk1MzU2MDAKfQ.DaYlNEoUrrEn2Ig7tqibS-PHK5vgusbcbo7X36XVt4Q"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"jsonBody": "={{ JSON.stringify({ \"input\": $json.input }) }}",
|
||||
"options": {}
|
||||
},
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"typeVersion": 4.4,
|
||||
"position": [
|
||||
4464,
|
||||
-304
|
||||
],
|
||||
"id": "3f4a0807-5f29-49cb-a851-41100e04f5bf",
|
||||
"name": "Insertar fechas1"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"aggregate": "aggregateAllItemData",
|
||||
"destinationFieldName": "input",
|
||||
"options": {}
|
||||
},
|
||||
"type": "n8n-nodes-base.aggregate",
|
||||
"typeVersion": 1,
|
||||
"position": [
|
||||
4320,
|
||||
-304
|
||||
],
|
||||
"id": "3ecbb0c7-f5f5-4644-9f42-8be9502e814d",
|
||||
"name": "Aggregate1"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"mode": "raw",
|
||||
"jsonOutput": "={\n \"meet_id\": \"{{ $json.id }}\",\n \"titulo\": \"{{ $json.titulo }}\",\n \"fecha_sesion\": \"{{ $json.fecha }}\",\n \"hora_inicio\": \"{{ $json.hora_fin }}\",\n \"hora_fin\": \"{{ $json.hora_fin }}\",\n \"instructor\": \"{{ $json.Espanol || $json.English || null }}\",\n \"correo_instructor\": \"{{ $json.Correo || null }}\",\n \"enlace_reunion\": \"{{ $json.url }}\",\n \"idioma\": \"{{ $json.idioma }}\"\n}",
|
||||
"options": {}
|
||||
},
|
||||
"type": "n8n-nodes-base.set",
|
||||
"typeVersion": 3.4,
|
||||
"position": [
|
||||
4176,
|
||||
-304
|
||||
],
|
||||
"id": "a099259d-36e3-48b6-aa77-d8132f33f85e",
|
||||
"name": "Edit Fields"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"mode": "combine",
|
||||
"advanced": true,
|
||||
"mergeByFields": {
|
||||
"values": [
|
||||
{
|
||||
"field1": "Fecha",
|
||||
"field2": "fecha"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {}
|
||||
},
|
||||
"type": "n8n-nodes-base.merge",
|
||||
"typeVersion": 3.2,
|
||||
"position": [
|
||||
4032,
|
||||
-304
|
||||
],
|
||||
"id": "456bcbe4-cc98-48fc-bcd2-40f8961934ae",
|
||||
"name": "Unir datos"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"content": "## Actualizar instructores y fechas de las sesiones en supabase\n\nEste trigger se activa todos los dias a las",
|
||||
"height": 416,
|
||||
"width": 1152
|
||||
},
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
3456,
|
||||
-480
|
||||
],
|
||||
"typeVersion": 1,
|
||||
"id": "b1eff313-9251-48db-a6f3-9f0e81c644a3",
|
||||
"name": "Sticky Note13"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"rule": {
|
||||
"interval": [
|
||||
{
|
||||
"field": "weeks",
|
||||
"triggerAtDay": [
|
||||
3
|
||||
],
|
||||
"triggerAtHour": 15
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": "n8n-nodes-base.scheduleTrigger",
|
||||
"typeVersion": 1.3,
|
||||
"position": [
|
||||
3504,
|
||||
-288
|
||||
],
|
||||
"id": "6ef829bf-1d52-4093-bcc5-45d922393611",
|
||||
"name": "Schedule Trigger6"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"documentId": {
|
||||
"__rl": true,
|
||||
"value": "1Xs-MkeXiZvWeJuwm-IblcI-ilr7lyhMtED0R7wczmRg",
|
||||
"mode": "list",
|
||||
"cachedResultName": "Calendario #TheGLMWay",
|
||||
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Xs-MkeXiZvWeJuwm-IblcI-ilr7lyhMtED0R7wczmRg/edit?usp=drivesdk"
|
||||
},
|
||||
"sheetName": {
|
||||
"__rl": true,
|
||||
"value": "gid=0",
|
||||
"mode": "list",
|
||||
"cachedResultName": "Calendario",
|
||||
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Xs-MkeXiZvWeJuwm-IblcI-ilr7lyhMtED0R7wczmRg/edit#gid=0"
|
||||
},
|
||||
"options": {}
|
||||
},
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"typeVersion": 4.7,
|
||||
"position": [
|
||||
3664,
|
||||
-384
|
||||
],
|
||||
"id": "f1bf8c51-43cf-41d4-93c4-1a1d0a0dac7a",
|
||||
"name": "Obtener fechas e instructores",
|
||||
"alwaysOutputData": false,
|
||||
"credentials": {
|
||||
"googleSheetsOAuth2Api": {
|
||||
"id": "8Pp0ek3NPsEkyXfY",
|
||||
"name": "Eidan - Google Sheets account"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"operation": "getAll"
|
||||
},
|
||||
"type": "n8n-nodes-base.supabase",
|
||||
"typeVersion": 1,
|
||||
"position": [
|
||||
1632,
|
||||
928
|
||||
],
|
||||
"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));"
|
||||
},
|
||||
"type": "n8n-nodes-base.code",
|
||||
"typeVersion": 2,
|
||||
"position": [
|
||||
3840,
|
||||
-208
|
||||
],
|
||||
"id": "8f80d9ca-1e4b-4753-b482-df7b0fd24f61",
|
||||
"name": "Formatear fecha y detectar idioma"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"jsCode": "const start = $input.first().json.start?.dateTime || $input.first().json.start?.date;\nconst end = $input.first().json.end?.dateTime || $input.first().json.end?.date;\n\nfunction formatHora(dateTimeStr) {\n if (!dateTimeStr) return null;\n return dateTimeStr.split('T')[1].substring(0, 5);\n}\n\nreturn [{\n json: {\n hora_inicio: formatHora(start),\n hora_fin: formatHora(end)\n }\n}];"
|
||||
},
|
||||
"type": "n8n-nodes-base.code",
|
||||
"typeVersion": 2,
|
||||
"position": [
|
||||
3856,
|
||||
288
|
||||
],
|
||||
"id": "abdbae74-c0ab-4f9a-b9d8-73cef07748a2",
|
||||
"name": "Calcular fecha hireDate2"
|
||||
},
|
||||
{
|
||||
"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));"
|
||||
},
|
||||
"type": "n8n-nodes-base.code",
|
||||
"typeVersion": 2,
|
||||
"position": [
|
||||
4144,
|
||||
192
|
||||
],
|
||||
"id": "cded5025-8e1b-4609-b7c6-5acb81244bdf",
|
||||
"name": "Formatear fecha y detectar idioma1"
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
@@ -10440,18 +10630,13 @@
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Formatear fecha1",
|
||||
"node": "Formatear fecha y detectar idioma",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Formatear fecha1": {
|
||||
"main": [
|
||||
[]
|
||||
]
|
||||
},
|
||||
"Obtener coordinadores": {
|
||||
"main": [
|
||||
[
|
||||
@@ -10473,18 +10658,94 @@
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Aggregate1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Insertar fechas1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Schedule Trigger6": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Obtener fechas e instructores",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Obtener entrenamientos ingles y espanol1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Formatear fecha y detectar idioma": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Unir datos",
|
||||
"type": "main",
|
||||
"index": 1
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Obtener fechas e instructores": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Unir datos",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Unir datos": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Edit Fields",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Edit Fields": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Aggregate1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get row(s) in sheet1": {
|
||||
"main": [
|
||||
[]
|
||||
]
|
||||
}
|
||||
},
|
||||
"authors": "Eidan Then",
|
||||
"name": "Version 5e6c62fa",
|
||||
"name": "Version ee6ea14b",
|
||||
"description": "",
|
||||
"autosaved": true,
|
||||
"workflowPublishHistory": [
|
||||
{
|
||||
"createdAt": "2026-06-25T14:40:53.321Z",
|
||||
"id": 1883,
|
||||
"createdAt": "2026-06-25T22:03:18.449Z",
|
||||
"id": 1889,
|
||||
"workflowId": "F1iPg8hktNAebZua",
|
||||
"versionId": "5e6c62fa-59d5-48af-9e01-8af436f62ce3",
|
||||
"versionId": "ee6ea14b-3e4e-4e19-90d4-c1b6a96c4dc7",
|
||||
"event": "activated",
|
||||
"userId": "de14e7e5-491b-4983-abb2-f88af42e92fd"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user