Update backup: GLM Hub - Solicitudes de acceso y aprobación
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"updatedAt": "2026-07-30T22:15:55.410Z",
|
"updatedAt": "2026-08-06T17:47:19.077Z",
|
||||||
"createdAt": "2026-07-29T13:08:05.444Z",
|
"createdAt": "2026-07-29T13:08:05.444Z",
|
||||||
"id": "RaNkDfE2YCrZgCbx",
|
"id": "RaNkDfE2YCrZgCbx",
|
||||||
"name": "GLM Hub - Solicitudes de acceso y aprobación",
|
"name": "GLM Hub - Solicitudes de acceso y aprobación",
|
||||||
@@ -21,8 +21,8 @@
|
|||||||
"type": "n8n-nodes-base.webhook",
|
"type": "n8n-nodes-base.webhook",
|
||||||
"typeVersion": 2.1,
|
"typeVersion": 2.1,
|
||||||
"position": [
|
"position": [
|
||||||
-784,
|
-928,
|
||||||
208
|
192
|
||||||
],
|
],
|
||||||
"webhookId": "ad3e98b9-baf2-400f-90e7-dcd4c5c20457"
|
"webhookId": "ad3e98b9-baf2-400f-90e7-dcd4c5c20457"
|
||||||
},
|
},
|
||||||
@@ -35,8 +35,8 @@
|
|||||||
"type": "n8n-nodes-base.code",
|
"type": "n8n-nodes-base.code",
|
||||||
"typeVersion": 2,
|
"typeVersion": 2,
|
||||||
"position": [
|
"position": [
|
||||||
-560,
|
-704,
|
||||||
208
|
192
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -69,8 +69,8 @@
|
|||||||
"type": "n8n-nodes-base.if",
|
"type": "n8n-nodes-base.if",
|
||||||
"typeVersion": 2.2,
|
"typeVersion": 2.2,
|
||||||
"position": [
|
"position": [
|
||||||
-336,
|
-480,
|
||||||
208
|
192
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -94,8 +94,8 @@
|
|||||||
"type": "n8n-nodes-base.respondToWebhook",
|
"type": "n8n-nodes-base.respondToWebhook",
|
||||||
"typeVersion": 1.4,
|
"typeVersion": 1.4,
|
||||||
"position": [
|
"position": [
|
||||||
-112,
|
-160,
|
||||||
368
|
352
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -137,8 +137,8 @@
|
|||||||
"type": "n8n-nodes-base.httpRequest",
|
"type": "n8n-nodes-base.httpRequest",
|
||||||
"typeVersion": 4.2,
|
"typeVersion": 4.2,
|
||||||
"position": [
|
"position": [
|
||||||
-112,
|
304,
|
||||||
128
|
112
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -150,8 +150,8 @@
|
|||||||
"type": "n8n-nodes-base.code",
|
"type": "n8n-nodes-base.code",
|
||||||
"typeVersion": 2,
|
"typeVersion": 2,
|
||||||
"position": [
|
"position": [
|
||||||
784,
|
1440,
|
||||||
48
|
64
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -184,8 +184,8 @@
|
|||||||
"type": "n8n-nodes-base.if",
|
"type": "n8n-nodes-base.if",
|
||||||
"typeVersion": 2.2,
|
"typeVersion": 2.2,
|
||||||
"position": [
|
"position": [
|
||||||
1024,
|
1680,
|
||||||
48
|
64
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -203,8 +203,8 @@
|
|||||||
"type": "n8n-nodes-base.gmail",
|
"type": "n8n-nodes-base.gmail",
|
||||||
"typeVersion": 2.1,
|
"typeVersion": 2.1,
|
||||||
"position": [
|
"position": [
|
||||||
1264,
|
1920,
|
||||||
-48
|
-32
|
||||||
],
|
],
|
||||||
"webhookId": "7dc65e7b-4fb6-4a2f-b685-34171dd9ce1a",
|
"webhookId": "7dc65e7b-4fb6-4a2f-b685-34171dd9ce1a",
|
||||||
"credentials": {
|
"credentials": {
|
||||||
@@ -235,8 +235,8 @@
|
|||||||
"type": "n8n-nodes-base.respondToWebhook",
|
"type": "n8n-nodes-base.respondToWebhook",
|
||||||
"typeVersion": 1.4,
|
"typeVersion": 1.4,
|
||||||
"position": [
|
"position": [
|
||||||
1504,
|
2160,
|
||||||
-48
|
-32
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -260,8 +260,8 @@
|
|||||||
"type": "n8n-nodes-base.respondToWebhook",
|
"type": "n8n-nodes-base.respondToWebhook",
|
||||||
"typeVersion": 1.4,
|
"typeVersion": 1.4,
|
||||||
"position": [
|
"position": [
|
||||||
1264,
|
1920,
|
||||||
160
|
176
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -275,8 +275,8 @@
|
|||||||
"type": "n8n-nodes-base.webhook",
|
"type": "n8n-nodes-base.webhook",
|
||||||
"typeVersion": 2.1,
|
"typeVersion": 2.1,
|
||||||
"position": [
|
"position": [
|
||||||
-784,
|
432,
|
||||||
672
|
896
|
||||||
],
|
],
|
||||||
"webhookId": "cba1c38c-37bc-4acb-bd61-48035604a5c4"
|
"webhookId": "cba1c38c-37bc-4acb-bd61-48035604a5c4"
|
||||||
},
|
},
|
||||||
@@ -289,8 +289,8 @@
|
|||||||
"type": "n8n-nodes-base.code",
|
"type": "n8n-nodes-base.code",
|
||||||
"typeVersion": 2,
|
"typeVersion": 2,
|
||||||
"position": [
|
"position": [
|
||||||
-560,
|
656,
|
||||||
672
|
896
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -322,8 +322,8 @@
|
|||||||
"type": "n8n-nodes-base.respondToWebhook",
|
"type": "n8n-nodes-base.respondToWebhook",
|
||||||
"typeVersion": 1.4,
|
"typeVersion": 1.4,
|
||||||
"position": [
|
"position": [
|
||||||
-336,
|
880,
|
||||||
672
|
896
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -338,8 +338,8 @@
|
|||||||
"type": "n8n-nodes-base.webhook",
|
"type": "n8n-nodes-base.webhook",
|
||||||
"typeVersion": 2.1,
|
"typeVersion": 2.1,
|
||||||
"position": [
|
"position": [
|
||||||
-784,
|
-544,
|
||||||
1040
|
1584
|
||||||
],
|
],
|
||||||
"webhookId": "54eeee1b-b24b-46ae-84dc-70c4103e3a3a"
|
"webhookId": "54eeee1b-b24b-46ae-84dc-70c4103e3a3a"
|
||||||
},
|
},
|
||||||
@@ -352,8 +352,8 @@
|
|||||||
"type": "n8n-nodes-base.code",
|
"type": "n8n-nodes-base.code",
|
||||||
"typeVersion": 2,
|
"typeVersion": 2,
|
||||||
"position": [
|
"position": [
|
||||||
-560,
|
-320,
|
||||||
1040
|
1584
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -386,8 +386,8 @@
|
|||||||
"type": "n8n-nodes-base.if",
|
"type": "n8n-nodes-base.if",
|
||||||
"typeVersion": 2.2,
|
"typeVersion": 2.2,
|
||||||
"position": [
|
"position": [
|
||||||
-336,
|
-96,
|
||||||
1040
|
1584
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -399,8 +399,8 @@
|
|||||||
"type": "n8n-nodes-base.code",
|
"type": "n8n-nodes-base.code",
|
||||||
"typeVersion": 2,
|
"typeVersion": 2,
|
||||||
"position": [
|
"position": [
|
||||||
-112,
|
128,
|
||||||
1232
|
1776
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -432,8 +432,8 @@
|
|||||||
"type": "n8n-nodes-base.respondToWebhook",
|
"type": "n8n-nodes-base.respondToWebhook",
|
||||||
"typeVersion": 1.4,
|
"typeVersion": 1.4,
|
||||||
"position": [
|
"position": [
|
||||||
128,
|
368,
|
||||||
1232
|
1776
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -479,8 +479,8 @@
|
|||||||
"type": "n8n-nodes-base.httpRequest",
|
"type": "n8n-nodes-base.httpRequest",
|
||||||
"typeVersion": 4.2,
|
"typeVersion": 4.2,
|
||||||
"position": [
|
"position": [
|
||||||
-112,
|
128,
|
||||||
960
|
1504
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -492,8 +492,8 @@
|
|||||||
"type": "n8n-nodes-base.code",
|
"type": "n8n-nodes-base.code",
|
||||||
"typeVersion": 2,
|
"typeVersion": 2,
|
||||||
"position": [
|
"position": [
|
||||||
128,
|
1344,
|
||||||
960
|
1520
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -526,8 +526,8 @@
|
|||||||
"type": "n8n-nodes-base.if",
|
"type": "n8n-nodes-base.if",
|
||||||
"typeVersion": 2.2,
|
"typeVersion": 2.2,
|
||||||
"position": [
|
"position": [
|
||||||
368,
|
1584,
|
||||||
960
|
1520
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -545,8 +545,8 @@
|
|||||||
"type": "n8n-nodes-base.gmail",
|
"type": "n8n-nodes-base.gmail",
|
||||||
"typeVersion": 2.1,
|
"typeVersion": 2.1,
|
||||||
"position": [
|
"position": [
|
||||||
608,
|
1824,
|
||||||
864
|
1424
|
||||||
],
|
],
|
||||||
"webhookId": "234c8e3b-b904-41b8-8a74-9ca835f759df",
|
"webhookId": "234c8e3b-b904-41b8-8a74-9ca835f759df",
|
||||||
"credentials": {
|
"credentials": {
|
||||||
@@ -585,8 +585,8 @@
|
|||||||
"type": "n8n-nodes-base.respondToWebhook",
|
"type": "n8n-nodes-base.respondToWebhook",
|
||||||
"typeVersion": 1.4,
|
"typeVersion": 1.4,
|
||||||
"position": [
|
"position": [
|
||||||
848,
|
2064,
|
||||||
960
|
1520
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -598,8 +598,8 @@
|
|||||||
"type": "n8n-nodes-base.code",
|
"type": "n8n-nodes-base.code",
|
||||||
"typeVersion": 2,
|
"typeVersion": 2,
|
||||||
"position": [
|
"position": [
|
||||||
96,
|
512,
|
||||||
128
|
112
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -632,8 +632,8 @@
|
|||||||
"type": "n8n-nodes-base.if",
|
"type": "n8n-nodes-base.if",
|
||||||
"typeVersion": 2.2,
|
"typeVersion": 2.2,
|
||||||
"position": [
|
"position": [
|
||||||
320,
|
736,
|
||||||
128
|
112
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -679,9 +679,105 @@
|
|||||||
"type": "n8n-nodes-base.httpRequest",
|
"type": "n8n-nodes-base.httpRequest",
|
||||||
"typeVersion": 4.2,
|
"typeVersion": 4.2,
|
||||||
"position": [
|
"position": [
|
||||||
544,
|
1200,
|
||||||
48
|
64
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"content": "## 1. RECEPCIÓN Y VALIDACIÓN\n\nEste bloque recibe desde GLM Hub una nueva solicitud de acceso y valida que la información obligatoria sea correcta.\n\n- Verifica los datos del usuario y de la aplicación solicitada.\n- Rechaza inmediatamente solicitudes incompletas o inválidas.\n- Solo las solicitudes válidas continúan hacia el registro en Supabase.",
|
||||||
|
"height": 560,
|
||||||
|
"width": 1104,
|
||||||
|
"color": 6
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.stickyNote",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
-1024,
|
||||||
|
-16
|
||||||
|
],
|
||||||
|
"id": "55489511-4594-4d60-8b68-87f0210e4b9e",
|
||||||
|
"name": "Sticky Note"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"content": "## 2. REGISTRO DE LA SOLICITUD\n\nGuarda la solicitud de acceso en Supabase y confirma que el registro se haya creado correctamente.\n\n- Almacena la información de la solicitud y su estado inicial.\n- Recupera y normaliza los datos devueltos por Supabase.\n- Solo permite continuar cuando existe una confirmación válida del registro.",
|
||||||
|
"height": 384,
|
||||||
|
"width": 736,
|
||||||
|
"color": 5
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.stickyNote",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
192,
|
||||||
|
-64
|
||||||
|
],
|
||||||
|
"id": "729f2bb0-c1f2-424f-ae39-bf69ea94317c",
|
||||||
|
"name": "Sticky Note1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"content": "## 3. ENVÍO A LOS APROBADORES\n\nGenera los enlaces de decisión, prepara los correos y notifica a las personas responsables de aprobar o rechazar la solicitud.\n\n- Construye enlaces únicos para la aprobación y el rechazo.\n- Genera el contenido personalizado de los correos.\n- Envía la solicitud a los aprobadores mediante Gmail.\n- Confirma al GLM Hub que la solicitud fue enviada correctamente.\n- Devuelve un error controlado si no fue posible completar el registro.",
|
||||||
|
"height": 560,
|
||||||
|
"width": 1264,
|
||||||
|
"color": "#357C27"
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.stickyNote",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
1104,
|
||||||
|
-224
|
||||||
|
],
|
||||||
|
"id": "32a9a9ad-bd7c-4d67-93db-d6537fd3a978",
|
||||||
|
"name": "Sticky Note2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"content": "## 4. CONFIRMACIÓN DE LA DECISIÓN\n\nRecibe al aprobador desde el enlace enviado por correo y muestra una página previa antes de registrar la decisión definitiva.\n\n- Lee los parámetros incluidos en el enlace de aprobación o rechazo.\n- Construye una página con los datos de la solicitud.\n- Solicita una confirmación final para evitar decisiones accidentales.",
|
||||||
|
"height": 352,
|
||||||
|
"width": 1062,
|
||||||
|
"color": "#8F622D"
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.stickyNote",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
192,
|
||||||
|
720
|
||||||
|
],
|
||||||
|
"id": "305bb9cd-16f5-4f87-a3b4-f6009a683085",
|
||||||
|
"name": "Sticky Note3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"content": "## 5. VALIDACIÓN Y REGISTRO DE LA DECISIÓN\n\nValida la decisión confirmada por el aprobador y actualiza la solicitud correspondiente en Supabase.\n\n- Comprueba que la solicitud, el enlace y la decisión sean válidos.\n- Registra en Supabase la aprobación o el rechazo.\n- Impide procesar decisiones incorrectas, incompletas o manipuladas.\n- Muestra una respuesta controlada cuando la decisión no puede ser aceptada.",
|
||||||
|
"height": 624,
|
||||||
|
"width": 1184,
|
||||||
|
"color": "#52500F"
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.stickyNote",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
-624,
|
||||||
|
1328
|
||||||
|
],
|
||||||
|
"id": "0289d494-ec4a-4f09-89ed-02006e0fcc4e",
|
||||||
|
"name": "Sticky Note4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"content": "## 6. NOTIFICACIÓN Y RESULTADO FINAL\n\nPrepara el resultado de la decisión, determina si se necesita intervención de IT Support y finaliza el proceso.\n\n- Construye el mensaje final de aprobación o rechazo.\n- Evalúa si la decisión debe notificarse al equipo de IT.\n- Envía por Gmail la información necesaria cuando corresponde.\n- Muestra al aprobador el resultado definitivo de la operación.",
|
||||||
|
"height": 432,
|
||||||
|
"width": 1104,
|
||||||
|
"color": "#276D4F"
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.stickyNote",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
1184,
|
||||||
|
1264
|
||||||
|
],
|
||||||
|
"id": "7881e095-8b12-4b96-83fd-a174d8dd0703",
|
||||||
|
"name": "Sticky Note5"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"connections": {
|
"connections": {
|
||||||
@@ -950,9 +1046,9 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"templateCredsSetupCompleted": true
|
"templateCredsSetupCompleted": true
|
||||||
},
|
},
|
||||||
"versionId": "a4528c24-f544-4063-9bda-2b04c9943a97",
|
"versionId": "dc3ed690-5728-414e-a322-137e35e8f9b6",
|
||||||
"activeVersionId": "a4528c24-f544-4063-9bda-2b04c9943a97",
|
"activeVersionId": "dc3ed690-5728-414e-a322-137e35e8f9b6",
|
||||||
"versionCounter": 72,
|
"versionCounter": 137,
|
||||||
"triggerCount": 3,
|
"triggerCount": 3,
|
||||||
"shared": [
|
"shared": [
|
||||||
{
|
{
|
||||||
@@ -975,9 +1071,9 @@
|
|||||||
],
|
],
|
||||||
"tags": [],
|
"tags": [],
|
||||||
"activeVersion": {
|
"activeVersion": {
|
||||||
"updatedAt": "2026-07-29T15:29:25.000Z",
|
"updatedAt": "2026-08-06T17:47:21.000Z",
|
||||||
"createdAt": "2026-07-29T15:29:15.992Z",
|
"createdAt": "2026-08-06T17:47:19.081Z",
|
||||||
"versionId": "a4528c24-f544-4063-9bda-2b04c9943a97",
|
"versionId": "dc3ed690-5728-414e-a322-137e35e8f9b6",
|
||||||
"workflowId": "RaNkDfE2YCrZgCbx",
|
"workflowId": "RaNkDfE2YCrZgCbx",
|
||||||
"nodes": [
|
"nodes": [
|
||||||
{
|
{
|
||||||
@@ -994,8 +1090,8 @@
|
|||||||
"type": "n8n-nodes-base.webhook",
|
"type": "n8n-nodes-base.webhook",
|
||||||
"typeVersion": 2.1,
|
"typeVersion": 2.1,
|
||||||
"position": [
|
"position": [
|
||||||
-784,
|
-928,
|
||||||
208
|
192
|
||||||
],
|
],
|
||||||
"webhookId": "ad3e98b9-baf2-400f-90e7-dcd4c5c20457"
|
"webhookId": "ad3e98b9-baf2-400f-90e7-dcd4c5c20457"
|
||||||
},
|
},
|
||||||
@@ -1008,8 +1104,8 @@
|
|||||||
"type": "n8n-nodes-base.code",
|
"type": "n8n-nodes-base.code",
|
||||||
"typeVersion": 2,
|
"typeVersion": 2,
|
||||||
"position": [
|
"position": [
|
||||||
-560,
|
-704,
|
||||||
208
|
192
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1042,8 +1138,8 @@
|
|||||||
"type": "n8n-nodes-base.if",
|
"type": "n8n-nodes-base.if",
|
||||||
"typeVersion": 2.2,
|
"typeVersion": 2.2,
|
||||||
"position": [
|
"position": [
|
||||||
-336,
|
-480,
|
||||||
208
|
192
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1067,8 +1163,8 @@
|
|||||||
"type": "n8n-nodes-base.respondToWebhook",
|
"type": "n8n-nodes-base.respondToWebhook",
|
||||||
"typeVersion": 1.4,
|
"typeVersion": 1.4,
|
||||||
"position": [
|
"position": [
|
||||||
-112,
|
-160,
|
||||||
368
|
352
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1110,8 +1206,8 @@
|
|||||||
"type": "n8n-nodes-base.httpRequest",
|
"type": "n8n-nodes-base.httpRequest",
|
||||||
"typeVersion": 4.2,
|
"typeVersion": 4.2,
|
||||||
"position": [
|
"position": [
|
||||||
-112,
|
304,
|
||||||
128
|
112
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1123,8 +1219,8 @@
|
|||||||
"type": "n8n-nodes-base.code",
|
"type": "n8n-nodes-base.code",
|
||||||
"typeVersion": 2,
|
"typeVersion": 2,
|
||||||
"position": [
|
"position": [
|
||||||
784,
|
1440,
|
||||||
48
|
64
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1157,8 +1253,8 @@
|
|||||||
"type": "n8n-nodes-base.if",
|
"type": "n8n-nodes-base.if",
|
||||||
"typeVersion": 2.2,
|
"typeVersion": 2.2,
|
||||||
"position": [
|
"position": [
|
||||||
1024,
|
1680,
|
||||||
48
|
64
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1176,8 +1272,8 @@
|
|||||||
"type": "n8n-nodes-base.gmail",
|
"type": "n8n-nodes-base.gmail",
|
||||||
"typeVersion": 2.1,
|
"typeVersion": 2.1,
|
||||||
"position": [
|
"position": [
|
||||||
1264,
|
1920,
|
||||||
-48
|
-32
|
||||||
],
|
],
|
||||||
"webhookId": "7dc65e7b-4fb6-4a2f-b685-34171dd9ce1a",
|
"webhookId": "7dc65e7b-4fb6-4a2f-b685-34171dd9ce1a",
|
||||||
"credentials": {
|
"credentials": {
|
||||||
@@ -1208,8 +1304,8 @@
|
|||||||
"type": "n8n-nodes-base.respondToWebhook",
|
"type": "n8n-nodes-base.respondToWebhook",
|
||||||
"typeVersion": 1.4,
|
"typeVersion": 1.4,
|
||||||
"position": [
|
"position": [
|
||||||
1504,
|
2160,
|
||||||
-48
|
-32
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1233,8 +1329,8 @@
|
|||||||
"type": "n8n-nodes-base.respondToWebhook",
|
"type": "n8n-nodes-base.respondToWebhook",
|
||||||
"typeVersion": 1.4,
|
"typeVersion": 1.4,
|
||||||
"position": [
|
"position": [
|
||||||
1264,
|
1920,
|
||||||
160
|
176
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1248,8 +1344,8 @@
|
|||||||
"type": "n8n-nodes-base.webhook",
|
"type": "n8n-nodes-base.webhook",
|
||||||
"typeVersion": 2.1,
|
"typeVersion": 2.1,
|
||||||
"position": [
|
"position": [
|
||||||
-784,
|
432,
|
||||||
672
|
896
|
||||||
],
|
],
|
||||||
"webhookId": "cba1c38c-37bc-4acb-bd61-48035604a5c4"
|
"webhookId": "cba1c38c-37bc-4acb-bd61-48035604a5c4"
|
||||||
},
|
},
|
||||||
@@ -1262,8 +1358,8 @@
|
|||||||
"type": "n8n-nodes-base.code",
|
"type": "n8n-nodes-base.code",
|
||||||
"typeVersion": 2,
|
"typeVersion": 2,
|
||||||
"position": [
|
"position": [
|
||||||
-560,
|
656,
|
||||||
672
|
896
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1295,8 +1391,8 @@
|
|||||||
"type": "n8n-nodes-base.respondToWebhook",
|
"type": "n8n-nodes-base.respondToWebhook",
|
||||||
"typeVersion": 1.4,
|
"typeVersion": 1.4,
|
||||||
"position": [
|
"position": [
|
||||||
-336,
|
880,
|
||||||
672
|
896
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1311,8 +1407,8 @@
|
|||||||
"type": "n8n-nodes-base.webhook",
|
"type": "n8n-nodes-base.webhook",
|
||||||
"typeVersion": 2.1,
|
"typeVersion": 2.1,
|
||||||
"position": [
|
"position": [
|
||||||
-784,
|
-544,
|
||||||
1040
|
1584
|
||||||
],
|
],
|
||||||
"webhookId": "54eeee1b-b24b-46ae-84dc-70c4103e3a3a"
|
"webhookId": "54eeee1b-b24b-46ae-84dc-70c4103e3a3a"
|
||||||
},
|
},
|
||||||
@@ -1325,8 +1421,8 @@
|
|||||||
"type": "n8n-nodes-base.code",
|
"type": "n8n-nodes-base.code",
|
||||||
"typeVersion": 2,
|
"typeVersion": 2,
|
||||||
"position": [
|
"position": [
|
||||||
-560,
|
-320,
|
||||||
1040
|
1584
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1359,8 +1455,8 @@
|
|||||||
"type": "n8n-nodes-base.if",
|
"type": "n8n-nodes-base.if",
|
||||||
"typeVersion": 2.2,
|
"typeVersion": 2.2,
|
||||||
"position": [
|
"position": [
|
||||||
-336,
|
-96,
|
||||||
1040
|
1584
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1372,8 +1468,8 @@
|
|||||||
"type": "n8n-nodes-base.code",
|
"type": "n8n-nodes-base.code",
|
||||||
"typeVersion": 2,
|
"typeVersion": 2,
|
||||||
"position": [
|
"position": [
|
||||||
-112,
|
128,
|
||||||
1232
|
1776
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1405,8 +1501,8 @@
|
|||||||
"type": "n8n-nodes-base.respondToWebhook",
|
"type": "n8n-nodes-base.respondToWebhook",
|
||||||
"typeVersion": 1.4,
|
"typeVersion": 1.4,
|
||||||
"position": [
|
"position": [
|
||||||
128,
|
368,
|
||||||
1232
|
1776
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1452,8 +1548,8 @@
|
|||||||
"type": "n8n-nodes-base.httpRequest",
|
"type": "n8n-nodes-base.httpRequest",
|
||||||
"typeVersion": 4.2,
|
"typeVersion": 4.2,
|
||||||
"position": [
|
"position": [
|
||||||
-112,
|
128,
|
||||||
960
|
1504
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1465,8 +1561,8 @@
|
|||||||
"type": "n8n-nodes-base.code",
|
"type": "n8n-nodes-base.code",
|
||||||
"typeVersion": 2,
|
"typeVersion": 2,
|
||||||
"position": [
|
"position": [
|
||||||
128,
|
1344,
|
||||||
960
|
1520
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1499,8 +1595,8 @@
|
|||||||
"type": "n8n-nodes-base.if",
|
"type": "n8n-nodes-base.if",
|
||||||
"typeVersion": 2.2,
|
"typeVersion": 2.2,
|
||||||
"position": [
|
"position": [
|
||||||
368,
|
1584,
|
||||||
960
|
1520
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1518,8 +1614,8 @@
|
|||||||
"type": "n8n-nodes-base.gmail",
|
"type": "n8n-nodes-base.gmail",
|
||||||
"typeVersion": 2.1,
|
"typeVersion": 2.1,
|
||||||
"position": [
|
"position": [
|
||||||
608,
|
1824,
|
||||||
864
|
1424
|
||||||
],
|
],
|
||||||
"webhookId": "234c8e3b-b904-41b8-8a74-9ca835f759df",
|
"webhookId": "234c8e3b-b904-41b8-8a74-9ca835f759df",
|
||||||
"credentials": {
|
"credentials": {
|
||||||
@@ -1558,8 +1654,8 @@
|
|||||||
"type": "n8n-nodes-base.respondToWebhook",
|
"type": "n8n-nodes-base.respondToWebhook",
|
||||||
"typeVersion": 1.4,
|
"typeVersion": 1.4,
|
||||||
"position": [
|
"position": [
|
||||||
848,
|
2064,
|
||||||
960
|
1520
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1571,8 +1667,8 @@
|
|||||||
"type": "n8n-nodes-base.code",
|
"type": "n8n-nodes-base.code",
|
||||||
"typeVersion": 2,
|
"typeVersion": 2,
|
||||||
"position": [
|
"position": [
|
||||||
96,
|
512,
|
||||||
128
|
112
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1605,8 +1701,8 @@
|
|||||||
"type": "n8n-nodes-base.if",
|
"type": "n8n-nodes-base.if",
|
||||||
"typeVersion": 2.2,
|
"typeVersion": 2.2,
|
||||||
"position": [
|
"position": [
|
||||||
320,
|
736,
|
||||||
128
|
112
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1652,9 +1748,105 @@
|
|||||||
"type": "n8n-nodes-base.httpRequest",
|
"type": "n8n-nodes-base.httpRequest",
|
||||||
"typeVersion": 4.2,
|
"typeVersion": 4.2,
|
||||||
"position": [
|
"position": [
|
||||||
544,
|
1200,
|
||||||
48
|
64
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"content": "## 1. RECEPCIÓN Y VALIDACIÓN\n\nEste bloque recibe desde GLM Hub una nueva solicitud de acceso y valida que la información obligatoria sea correcta.\n\n- Verifica los datos del usuario y de la aplicación solicitada.\n- Rechaza inmediatamente solicitudes incompletas o inválidas.\n- Solo las solicitudes válidas continúan hacia el registro en Supabase.",
|
||||||
|
"height": 560,
|
||||||
|
"width": 1104,
|
||||||
|
"color": 6
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.stickyNote",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
-1024,
|
||||||
|
-16
|
||||||
|
],
|
||||||
|
"id": "55489511-4594-4d60-8b68-87f0210e4b9e",
|
||||||
|
"name": "Sticky Note"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"content": "## 2. REGISTRO DE LA SOLICITUD\n\nGuarda la solicitud de acceso en Supabase y confirma que el registro se haya creado correctamente.\n\n- Almacena la información de la solicitud y su estado inicial.\n- Recupera y normaliza los datos devueltos por Supabase.\n- Solo permite continuar cuando existe una confirmación válida del registro.",
|
||||||
|
"height": 384,
|
||||||
|
"width": 736,
|
||||||
|
"color": 5
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.stickyNote",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
192,
|
||||||
|
-64
|
||||||
|
],
|
||||||
|
"id": "729f2bb0-c1f2-424f-ae39-bf69ea94317c",
|
||||||
|
"name": "Sticky Note1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"content": "## 3. ENVÍO A LOS APROBADORES\n\nGenera los enlaces de decisión, prepara los correos y notifica a las personas responsables de aprobar o rechazar la solicitud.\n\n- Construye enlaces únicos para la aprobación y el rechazo.\n- Genera el contenido personalizado de los correos.\n- Envía la solicitud a los aprobadores mediante Gmail.\n- Confirma al GLM Hub que la solicitud fue enviada correctamente.\n- Devuelve un error controlado si no fue posible completar el registro.",
|
||||||
|
"height": 560,
|
||||||
|
"width": 1264,
|
||||||
|
"color": "#357C27"
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.stickyNote",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
1104,
|
||||||
|
-224
|
||||||
|
],
|
||||||
|
"id": "32a9a9ad-bd7c-4d67-93db-d6537fd3a978",
|
||||||
|
"name": "Sticky Note2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"content": "## 4. CONFIRMACIÓN DE LA DECISIÓN\n\nRecibe al aprobador desde el enlace enviado por correo y muestra una página previa antes de registrar la decisión definitiva.\n\n- Lee los parámetros incluidos en el enlace de aprobación o rechazo.\n- Construye una página con los datos de la solicitud.\n- Solicita una confirmación final para evitar decisiones accidentales.",
|
||||||
|
"height": 352,
|
||||||
|
"width": 1062,
|
||||||
|
"color": "#8F622D"
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.stickyNote",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
192,
|
||||||
|
720
|
||||||
|
],
|
||||||
|
"id": "305bb9cd-16f5-4f87-a3b4-f6009a683085",
|
||||||
|
"name": "Sticky Note3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"content": "## 5. VALIDACIÓN Y REGISTRO DE LA DECISIÓN\n\nValida la decisión confirmada por el aprobador y actualiza la solicitud correspondiente en Supabase.\n\n- Comprueba que la solicitud, el enlace y la decisión sean válidos.\n- Registra en Supabase la aprobación o el rechazo.\n- Impide procesar decisiones incorrectas, incompletas o manipuladas.\n- Muestra una respuesta controlada cuando la decisión no puede ser aceptada.",
|
||||||
|
"height": 624,
|
||||||
|
"width": 1184,
|
||||||
|
"color": "#52500F"
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.stickyNote",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
-624,
|
||||||
|
1328
|
||||||
|
],
|
||||||
|
"id": "0289d494-ec4a-4f09-89ed-02006e0fcc4e",
|
||||||
|
"name": "Sticky Note4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"content": "## 6. NOTIFICACIÓN Y RESULTADO FINAL\n\nPrepara el resultado de la decisión, determina si se necesita intervención de IT Support y finaliza el proceso.\n\n- Construye el mensaje final de aprobación o rechazo.\n- Evalúa si la decisión debe notificarse al equipo de IT.\n- Envía por Gmail la información necesaria cuando corresponde.\n- Muestra al aprobador el resultado definitivo de la operación.",
|
||||||
|
"height": 432,
|
||||||
|
"width": 1104,
|
||||||
|
"color": "#276D4F"
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.stickyNote",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
1184,
|
||||||
|
1264
|
||||||
|
],
|
||||||
|
"id": "7881e095-8b12-4b96-83fd-a174d8dd0703",
|
||||||
|
"name": "Sticky Note5"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"connections": {
|
"connections": {
|
||||||
@@ -1915,15 +2107,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"authors": "Isaac Aracena",
|
"authors": "Isaac Aracena",
|
||||||
"name": "Version a4528c24",
|
"name": "Version dc3ed690",
|
||||||
"description": "",
|
"description": "",
|
||||||
"autosaved": true,
|
"autosaved": false,
|
||||||
"workflowPublishHistory": [
|
"workflowPublishHistory": [
|
||||||
{
|
{
|
||||||
"createdAt": "2026-07-29T15:29:25.705Z",
|
"createdAt": "2026-08-06T17:47:21.133Z",
|
||||||
"id": 3624,
|
"id": 4229,
|
||||||
"workflowId": "RaNkDfE2YCrZgCbx",
|
"workflowId": "RaNkDfE2YCrZgCbx",
|
||||||
"versionId": "a4528c24-f544-4063-9bda-2b04c9943a97",
|
"versionId": "dc3ed690-5728-414e-a322-137e35e8f9b6",
|
||||||
"event": "activated",
|
"event": "activated",
|
||||||
"userId": "0a88c0b1-928e-4412-896e-c5d1c99b2029"
|
"userId": "0a88c0b1-928e-4412-896e-c5d1c99b2029"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user