Files
glm-id-card-generator/n8n-workflow/GLM ID Card Generator.json
T

1016 lines
39 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"name": "GLM ID Card Generator",
"nodes": [
{
"parameters": {
"httpMethod": "POST",
"path": "carnet",
"authentication": "headerAuth",
"responseMode": "responseNode",
"options": {}
},
"position": [
-2128,
656
],
"name": "Webhook1",
"webhookId": "28db8328-4ea5-47ac-91cb-67dff9deb56d",
"type": "n8n-nodes-base.webhook",
"typeVersion": 2,
"id": "b8f3afe3-2b7d-4759-bf71-4a2bae5924b4",
"credentials": {
"httpHeaderAuth": {
"id": "uafjxH8xBa9B1gOT",
"name": "GLM ID Generator"
}
}
},
{
"parameters": {
"operation": "binaryToPropery",
"binaryPropertyName": "=edited",
"options": {}
},
"type": "n8n-nodes-base.extractFromFile",
"typeVersion": 1.1,
"position": [
608,
368
],
"id": "ca2e4cef-f7cd-4607-bc8d-fbe7d4e6d320",
"name": "Extract from File"
},
{
"parameters": {
"operation": "download",
"fileId": {
"__rl": true,
"value": "={{ $json.fotoUrl.split('/d/')[1].split('/')[0] }}",
"mode": "id"
},
"options": {}
},
"type": "n8n-nodes-base.googleDrive",
"typeVersion": 3,
"position": [
-272,
176
],
"id": "0edb6036-e893-4adf-89a2-e93979e1c9dc",
"name": "Download file",
"credentials": {
"googleDriveOAuth2Api": {
"id": "gL2ZTwJb6xojauac",
"name": "Eidan - Google Drive account"
}
}
},
{
"parameters": {
"resource": "image",
"operation": "edit",
"modelId": {
"__rl": true,
"value": "models/gemini-3-pro-image",
"mode": "list",
"cachedResultName": "models/gemini-3-pro-image (Nano Banana Pro)"
},
"prompt": "Professional employee ID card portrait.\nUse the first input image (binary: data) as the employee reference. Preserve the exact facial features, identity, hairstyle, skin tone, facial hair, facial expression, and natural proportions of the person. Do not alter the person's appearance.\nUse the second input image (binary: logo) as the official company logo. Dress the subject in a Columbia-style outdoor button-up work shirt. The shirt color must be exactly #2d3748. Embroider the provided company logo from the second image on the RIGHT chest (the subject's right side), preserving the original colors, proportions, and details of the logo.\nThe subject must be standing completely facing the camera with the head, neck, and shoulders perfectly square to the camera. Both shoulders must be level and symmetrical with no body rotation, tilt, or angled pose. Maintain direct eye contact with the camera.\nReplace the background with a clean, solid white seamless studio background. Use soft, even professional studio lighting with minimal shadows and natural skin tones.\nFrame the portrait as a wide corporate headshot that starts from the chest area and goes upward. The bottom edge of the frame must cut across the chest, clearly below the company logo, showing the full chest, both shoulders, neck, and head. Do not start the crop below the chest (no waist, no arms, no hands) — the visible body must begin at chest level at the very bottom edge of the image.\nThe face should occupy approximately 4050% of the image height, smaller and further back than a tight close-up. Leave generous, clearly visible white/background space above the head — at least 2025% of the total image height must be empty background between the top of the head and the top edge of the frame. Leave balanced empty margins on both sides as well.\nThe full embroidered company logo on the right chest must be completely visible, clearly readable, and not cropped or cut off by the bottom edge of the frame.\nThe collar, both shoulders, and the upper chest area must all be clearly visible within the frame. Never crop tightly into the face. Never zoom in close on the face; always keep the wider framing described above, with the bottom of the image at chest level and generous white space above the head.\nPhotorealistic, ultra-high resolution, sharp focus on the eyes and facial features, realistic fabric texture, professional corporate photography, studio quality, natural colors, sharp focus throughout the face and upper body.\nOutput every portrait using exactly the same wider framing, crop, camera distance, focal length, and canvas size. Do not automatically zoom in or out based on the subject. Maintain identical head size and shoulder width relative to the frame across all generated images.\nThe final image must have a fixed portrait aspect ratio of 3:4 and an exact resolution of 1200 × 1600 pixels. The subject's eyes should always be positioned at approximately the same height (around 2832% from the top of the frame), with the head occupying approximately 4050% of the image height, and a clearly visible band of empty background space above the head. Keep consistent margins above the head and on both sides for every image.\nUse a fixed virtual camera setup (50mm portrait lens equivalent, eye-level camera position, standing further back from the subject) and identical lighting, perspective, and composition for every generation. Never change the crop or framing based on hairstyle, body size, clothing, or facial features. Every generated portrait must match the same template so all employee photos appear uniform on ID cards, with the frame always starting at chest level and generous white space above the head.",
"images": {
"values": [
{},
{
"binaryPropertyName": "logo"
}
]
},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"typeVersion": 1.2,
"position": [
432,
368
],
"id": "fd945ca4-2ec1-4d0b-878e-6dd4c6a2a19f",
"name": "Edit an image",
"credentials": {
"googlePalmApi": {
"id": "tFqBJras00HUi1hA",
"name": "Eidan - Google Gemini(PaLM) Api account"
}
}
},
{
"parameters": {
"url": "=https://dbit.digitalcompass.agency/storage/v1/object/public/public-assets/GLM_completo.png",
"options": {
"response": {
"response": {
"responseFormat": "file",
"outputPropertyName": "logo"
}
}
}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.4,
"position": [
304,
208
],
"id": "67fae4f4-2158-4552-a712-7aa40b520d72",
"name": "Descargar logo GLM"
},
{
"parameters": {
"fieldToSplitOut": "body.empleados",
"options": {}
},
"type": "n8n-nodes-base.splitOut",
"typeVersion": 1,
"position": [
-800,
544
],
"id": "f0793e22-1567-4a88-8a9b-712283e5f255",
"name": "Split Out"
},
{
"parameters": {
"respondWith": "allIncomingItems",
"options": {}
},
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1.5,
"position": [
-224,
-64
],
"id": "5766587b-d999-4324-8c24-36a00a55b16e",
"name": "Respond to Webhook1"
},
{
"parameters": {
"options": {}
},
"type": "n8n-nodes-base.splitInBatches",
"typeVersion": 3,
"position": [
-512,
272
],
"id": "1275247d-4d5b-4f64-b05d-277e643a0e6f",
"name": "Loop Over Items"
},
{
"parameters": {
"mode": "combine",
"combineBy": "combineByPosition",
"options": {}
},
"type": "n8n-nodes-base.merge",
"typeVersion": 3.2,
"position": [
800,
576
],
"id": "91b86280-864b-49b7-87fb-3060be8b35e3",
"name": "Merge"
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 3
},
"conditions": [
{
"id": "30a53e6f-395e-418a-ac50-98b881dbccd1",
"leftValue": "={{ $json.body.empleados }}",
"rightValue": "",
"operator": {
"type": "array",
"operation": "exists",
"singleValue": true
}
}
],
"combinator": "and"
},
"options": {}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2.3,
"position": [
-992,
656
],
"id": "306f5ee6-0630-46c5-b7ff-65cada9ac5e4",
"name": "Es un binario?"
},
{
"parameters": {
"resource": "image",
"operation": "edit",
"modelId": {
"__rl": true,
"value": "models/gemini-3-pro-image",
"mode": "list",
"cachedResultName": "models/gemini-3-pro-image (Nano Banana Pro)"
},
"prompt": "Professional employee ID card portrait.\nUse the first input image (binary: data) as the employee reference. Preserve the exact facial features, identity, hairstyle, skin tone, facial hair, facial expression, and natural proportions of the person. Do not alter the person's appearance.\nUse the second input image (binary: logo) as the official company logo. Dress the subject in a Columbia-style outdoor button-up work shirt. The shirt color must be exactly #2d3748. Embroider the provided company logo from the second image on the RIGHT chest (the subject's right side), preserving the original colors, proportions, and details of the logo.\nThe subject must be standing completely facing the camera with the head, neck, and shoulders perfectly square to the camera. Both shoulders must be level and symmetrical with no body rotation, tilt, or angled pose. Maintain direct eye contact with the camera.\nReplace the background with a clean, solid white seamless studio background. Use soft, even professional studio lighting with minimal shadows and natural skin tones.\nFrame the portrait as a wide corporate headshot that starts from the chest area and goes upward. The bottom edge of the frame must cut across the chest, clearly below the company logo, showing the full chest, both shoulders, neck, and head. Do not start the crop below the chest (no waist, no arms, no hands) — the visible body must begin at chest level at the very bottom edge of the image.\nThe face should occupy approximately 4050% of the image height, smaller and further back than a tight close-up. Leave generous, clearly visible white/background space above the head — at least 2025% of the total image height must be empty background between the top of the head and the top edge of the frame. Leave balanced empty margins on both sides as well.\nThe full embroidered company logo on the right chest must be completely visible, clearly readable, and not cropped or cut off by the bottom edge of the frame.\nThe collar, both shoulders, and the upper chest area must all be clearly visible within the frame. Never crop tightly into the face. Never zoom in close on the face; always keep the wider framing described above, with the bottom of the image at chest level and generous white space above the head.\nPhotorealistic, ultra-high resolution, sharp focus on the eyes and facial features, realistic fabric texture, professional corporate photography, studio quality, natural colors, sharp focus throughout the face and upper body.\nOutput every portrait using exactly the same wider framing, crop, camera distance, focal length, and canvas size. Do not automatically zoom in or out based on the subject. Maintain identical head size and shoulder width relative to the frame across all generated images.\nThe final image must have a fixed portrait aspect ratio of 3:4 and an exact resolution of 1200 × 1600 pixels. The subject's eyes should always be positioned at approximately the same height (around 2832% from the top of the frame), with the head occupying approximately 4050% of the image height, and a clearly visible band of empty background space above the head. Keep consistent margins above the head and on both sides for every image.\nUse a fixed virtual camera setup (50mm portrait lens equivalent, eye-level camera position, standing further back from the subject) and identical lighting, perspective, and composition for every generation. Never change the crop or framing based on hairstyle, body size, clothing, or facial features. Every generated portrait must match the same template so all employee photos appear uniform on ID cards, with the frame always starting at chest level and generous white space above the head.",
"images": {
"values": [
{
"binaryPropertyName": "edited"
},
{
"binaryPropertyName": "logo"
}
]
},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"typeVersion": 1.2,
"position": [
-416,
1104
],
"id": "7d5ddee1-de8e-487c-a6a4-661b9a093340",
"name": "Edit an image1",
"credentials": {
"googlePalmApi": {
"id": "tFqBJras00HUi1hA",
"name": "Eidan - Google Gemini(PaLM) Api account"
}
}
},
{
"parameters": {
"url": "=https://dbit.digitalcompass.agency/storage/v1/object/public/public-assets/GLM_completo.png",
"options": {
"response": {
"response": {
"responseFormat": "file",
"outputPropertyName": "logo"
}
}
}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.4,
"position": [
-592,
976
],
"id": "5f498427-7d97-4b3a-bf12-182ddafaa61a",
"name": "Descargar logo GLM1"
},
{
"parameters": {
"respondWith": "binary",
"options": {}
},
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1.5,
"position": [
-224,
1104
],
"id": "695fe1ac-29bd-44ec-b902-11d8088ee504",
"name": "Respond to Webhook"
},
{
"parameters": {
"resource": "image",
"operation": "edit",
"modelId": {
"__rl": true,
"value": "models/gemini-3.1-flash-image",
"mode": "list",
"cachedResultName": "models/gemini-3.1-flash-image (Nano Banana 2)"
},
"prompt": "Professional employee ID card portrait.\n\nUse the first input image (binary: data) as the employee reference. Preserve the exact facial features, identity, hairstyle, skin tone, facial hair, facial expression, and natural proportions of the person. Do not alter the person's appearance.\n\nUse the second input image (binary: logo) as the official company logo. Dress the subject in a Columbia-style outdoor button-up work shirt. The shirt color must be exactly #2d3748. Embroider the provided company logo from the second image on the RIGHT chest (the subject's right side), preserving the original colors, proportions, and details of the logo.\n\nThe subject must be standing completely facing the camera with the head, neck, and shoulders perfectly square to the camera. Both shoulders must be level and symmetrical with no body rotation, tilt, or angled pose. Maintain direct eye contact with the camera.\n\nReplace the background with a clean, solid white seamless studio background. Use soft, even professional studio lighting with minimal shadows and natural skin tones.\n\nFrame the portrait as a tight corporate headshot. Crop from just below the shoulders upward, with the face occupying approximately 6575% of the image height. Show the complete head, neck, and both shoulders while minimizing the visible torso. Leave a small amount of space above the head and balanced margins on both sides. The composition should prioritize the face while still showing enough of the shirt collar and upper shoulders to look professional.\n\nOnly the upper portion of the shirt should be visible. The collar must be clearly visible. If possible, include only the very top of the embroidered company logo near the lower edge of the frame without reducing the prominence of the face. Never zoom out to show the chest.\n\nPhotorealistic, ultra-high resolution, sharp focus on the eyes and facial features, realistic fabric texture, professional corporate photography, studio quality, natural colors, shallow depth of field with the entire face in sharp focus.\n\nOutput every portrait using exactly the same framing, crop, camera distance, focal length, and canvas size. Do not automatically zoom in or out based on the subject. Maintain identical head size and shoulder width relative to the frame across all generated images.\n\nThe final image must have a fixed portrait aspect ratio of 3:4 and an exact resolution of 1200 × 1600 pixels. The subject's eyes should always be positioned at approximately the same height (around 42% from the top of the frame), with the head occupying approximately 6570% of the image height. Keep consistent margins above the head and on both sides for every image.\n\nUse a fixed virtual camera setup (85mm portrait lens equivalent, eye-level camera position) and identical lighting, perspective, and composition for every generation. Never change the crop or framing based on hairstyle, body size, clothing, or facial features. Every generated portrait must match the same template so all employee photos appear uniform on ID cards.",
"images": {
"values": [
{},
{
"binaryPropertyName": "logo"
}
]
},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"typeVersion": 1.2,
"position": [
544,
-64
],
"id": "aae51298-3a4b-4191-be62-b3234e34b40e",
"name": "Edit an image2",
"credentials": {
"googlePalmApi": {
"id": "tFqBJras00HUi1hA",
"name": "Eidan - Google Gemini(PaLM) Api account"
}
}
},
{
"parameters": {
"resource": "image",
"operation": "edit",
"modelId": {
"__rl": true,
"value": "models/gemini-3-pro-image",
"mode": "list",
"cachedResultName": "models/gemini-3-pro-image (Nano Banana Pro)"
},
"prompt": "Professional employee ID card portrait.\nUse the first input image (binary: data) as the employee reference. Preserve the exact facial features, identity, hairstyle, skin tone, facial hair, facial expression, and natural proportions of the person. Do not alter the person's appearance.\nUse the second input image (binary: logo) as the official company logo. Dress the subject in a Columbia-style outdoor button-up work shirt. The shirt color must be exactly #2d3748. Embroider the provided company logo from the second image on the RIGHT chest (the subject's right side), preserving the original colors, proportions, and details of the logo.\nThe subject must be standing completely facing the camera with the head, neck, and shoulders perfectly square to the camera. Both shoulders must be level and symmetrical with no body rotation, tilt, or angled pose. Maintain direct eye contact with the camera.\nReplace the background with a clean, solid white seamless studio background. Use soft, even professional studio lighting with minimal shadows and natural skin tones.\nFrame the portrait as a wide corporate headshot that starts from the chest area and goes upward. The bottom edge of the frame must cut across the chest, clearly below the company logo, showing the full chest, both shoulders, neck, and head. Do not start the crop below the chest (no waist, no arms, no hands) — the visible body must begin at chest level at the very bottom edge of the image.\nThe face should occupy approximately 4050% of the image height, smaller and further back than a tight close-up. Leave generous, clearly visible white/background space above the head — at least 2025% of the total image height must be empty background between the top of the head and the top edge of the frame. Leave balanced empty margins on both sides as well.\nThe full embroidered company logo on the right chest must be completely visible, clearly readable, and not cropped or cut off by the bottom edge of the frame.\nThe collar, both shoulders, and the upper chest area must all be clearly visible within the frame. Never crop tightly into the face. Never zoom in close on the face; always keep the wider framing described above, with the bottom of the image at chest level and generous white space above the head.\nPhotorealistic, ultra-high resolution, sharp focus on the eyes and facial features, realistic fabric texture, professional corporate photography, studio quality, natural colors, sharp focus throughout the face and upper body.\nOutput every portrait using exactly the same wider framing, crop, camera distance, focal length, and canvas size. Do not automatically zoom in or out based on the subject. Maintain identical head size and shoulder width relative to the frame across all generated images.\nThe final image must have a fixed portrait aspect ratio of 3:4 and an exact resolution of 1200 × 1600 pixels. The subject's eyes should always be positioned at approximately the same height (around 2832% from the top of the frame), with the head occupying approximately 4050% of the image height, and a clearly visible band of empty background space above the head. Keep consistent margins above the head and on both sides for every image.\nUse a fixed virtual camera setup (50mm portrait lens equivalent, eye-level camera position, standing further back from the subject) and identical lighting, perspective, and composition for every generation. Never change the crop or framing based on hairstyle, body size, clothing, or facial features. Every generated portrait must match the same template so all employee photos appear uniform on ID cards, with the frame always starting at chest level and generous white space above the head.",
"images": {
"values": [
{
"binaryPropertyName": "edited"
},
{
"binaryPropertyName": "logo"
}
]
},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"typeVersion": 1.2,
"position": [
-368,
1328
],
"id": "32b46579-d7f9-43bc-b27b-b25504f67d26",
"name": "Edit an image3",
"credentials": {
"googlePalmApi": {
"id": "tFqBJras00HUi1hA",
"name": "Eidan - Google Gemini(PaLM) Api account"
}
}
},
{
"parameters": {
"name": "={{ $json.employeeId }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"folderId": {
"__rl": true,
"value": "1Gf4XInkmYErR1OhjplQg-kdH74qEBtEk",
"mode": "list",
"cachedResultName": "Fotos Temporal Carnet Empleados",
"cachedResultUrl": "https://drive.google.com/drive/folders/1Gf4XInkmYErR1OhjplQg-kdH74qEBtEk"
},
"options": {}
},
"type": "n8n-nodes-base.googleDrive",
"typeVersion": 3,
"position": [
-16,
64
],
"id": "404efdda-ae45-4b67-a584-bca58e08ec88",
"name": "Guardar foto",
"credentials": {
"googleDriveOAuth2Api": {
"id": "gL2ZTwJb6xojauac",
"name": "Eidan - Google Drive account"
}
}
},
{
"parameters": {
"operation": "share",
"fileId": {
"__rl": true,
"value": "={{ $json.webViewLink }}",
"mode": "url"
},
"permissionsUi": {
"permissionsValues": {
"role": "reader",
"type": "anyone"
}
},
"options": {}
},
"type": "n8n-nodes-base.googleDrive",
"typeVersion": 3,
"position": [
144,
64
],
"id": "0d598bda-4b27-4539-b989-222253918b93",
"name": "Guardar foto1",
"credentials": {
"googleDriveOAuth2Api": {
"id": "gL2ZTwJb6xojauac",
"name": "Eidan - Google Drive account"
}
}
},
{
"parameters": {
"name": "={{ $('Webhook1').item.json.body.employeeId }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"folderId": {
"__rl": true,
"value": "1Gf4XInkmYErR1OhjplQg-kdH74qEBtEk",
"mode": "list",
"cachedResultName": "Fotos Temporal Carnet Empleados",
"cachedResultUrl": "https://drive.google.com/drive/folders/1Gf4XInkmYErR1OhjplQg-kdH74qEBtEk"
},
"options": {}
},
"type": "n8n-nodes-base.googleDrive",
"typeVersion": 3,
"position": [
-1344,
176
],
"id": "698c9524-999a-4e7c-86f8-801e739a3789",
"name": "Guardar foto2",
"credentials": {
"googleDriveOAuth2Api": {
"id": "gL2ZTwJb6xojauac",
"name": "Eidan - Google Drive account"
}
}
},
{
"parameters": {
"content": "## Descarga masiva de foto de perfil para empleados\n\nEste flujo guarda temporalmente la foto del link de\nGoogle Drive en la tabla empleados_glm temporalmente \nhasta que tenga foto en BambooHR",
"height": 880,
"width": 1584
},
"type": "n8n-nodes-base.stickyNote",
"position": [
-640,
-176
],
"typeVersion": 1,
"id": "aa7003e6-969f-4250-8229-a4b820e3f70e",
"name": "Sticky Note"
},
{
"parameters": {
"content": "## Descarga individual de foto de perfil para empleados\n\nAl subir una foto de empleado en el campo \"Subir foto del colaborador\" en vista previa en tiempo real\nla foto llega a este flujo y se edita con IA.",
"height": 480,
"width": 640,
"color": 6
},
"type": "n8n-nodes-base.stickyNote",
"position": [
-640,
768
],
"typeVersion": 1,
"id": "a3becf7e-93de-4356-afaa-f48e46525e40",
"name": "Sticky Note1"
},
{
"parameters": {
"content": "## Guardar temporalmente foto en Google Drive en supabase\n\nEste flujo se activa al clickear el boton de descargar en vista previa en tiempo real. \nLo que hace es guardar la foto con el employeeId como nombre de archivo.",
"height": 480,
"width": 736,
"color": 6
},
"type": "n8n-nodes-base.stickyNote",
"position": [
-1584,
-80
],
"typeVersion": 1,
"id": "28012bbc-2b4b-4561-984e-dcd43470929d",
"name": "Sticky Note2"
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 3
},
"conditions": [
{
"id": "30a53e6f-395e-418a-ac50-98b881dbccd1",
"leftValue": "={{ $json.body.data && $json.body.employeeId }}",
"rightValue": "",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
}
}
],
"combinator": "and"
},
"options": {}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2.3,
"position": [
-1904,
656
],
"id": "f43d07e0-ac3d-462e-837a-b8f8d0e1c224",
"name": "Es un binario y employeeId?"
},
{
"parameters": {
"operation": "toBinary",
"sourceProperty": "body.data",
"options": {}
},
"type": "n8n-nodes-base.convertToFile",
"typeVersion": 1.1,
"position": [
-1520,
176
],
"id": "5d00eb25-ab9f-4851-83bb-a6363a36ad90",
"name": "Convert to File"
},
{
"parameters": {
"operation": "share",
"fileId": {
"__rl": true,
"value": "={{ $json.webViewLink }}",
"mode": "url"
},
"permissionsUi": {
"permissionsValues": {
"role": "reader",
"type": "anyone"
}
},
"options": {}
},
"type": "n8n-nodes-base.googleDrive",
"typeVersion": 3,
"position": [
-1184,
176
],
"id": "02e9a57b-436f-4625-851c-cc6789a92bd7",
"name": "Hacer url publica",
"credentials": {
"googleDriveOAuth2Api": {
"id": "gL2ZTwJb6xojauac",
"name": "Eidan - Google Drive account"
}
}
},
{
"parameters": {
"operation": "update",
"tableId": "empleados_glm",
"filters": {
"conditions": [
{
"keyName": "cedula",
"condition": "eq",
"keyValue": "={{ $('Loop Over Items').item.json.employeeId }}"
}
]
},
"fieldsUi": {
"fieldValues": [
{
"fieldId": "photo_url",
"fieldValue": "={{ $('Guardar foto').item.json.webViewLink }}"
},
{
"fieldId": "photo_uploaded",
"fieldValue": "FALSE"
}
]
}
},
"type": "n8n-nodes-base.supabase",
"typeVersion": 1,
"position": [
304,
64
],
"id": "c5b12702-fc99-4501-884f-0fdb3ace2999",
"name": "Actualizar foto del empleado",
"credentials": {
"supabaseApi": {
"id": "2PlsR6rpK7rQTIEn",
"name": "Sofia test - Supabase account"
}
}
},
{
"parameters": {
"operation": "update",
"tableId": "empleados_glm",
"filters": {
"conditions": [
{
"keyName": "cedula",
"condition": "eq",
"keyValue": "={{ $('Webhook1').item.json.body.employeeId }}"
}
]
},
"fieldsUi": {
"fieldValues": [
{
"fieldId": "photo_url",
"fieldValue": "={{ $('Guardar foto2').item.json.webViewLink }}"
},
{
"fieldId": "photo_uploaded",
"fieldValue": "FALSE"
}
]
}
},
"type": "n8n-nodes-base.supabase",
"typeVersion": 1,
"position": [
-1024,
176
],
"id": "2a4698ea-98dd-49e5-b220-8e2ed451565b",
"name": "Actualizar foto del empleado1",
"credentials": {
"supabaseApi": {
"id": "2PlsR6rpK7rQTIEn",
"name": "Sofia test - Supabase account"
}
}
}
],
"pinData": {
"Webhook1": [
{
"json": {
"headers": {
"host": "agenteit.digitalcompass.agency",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36",
"content-length": "1170",
"accept": "*/*",
"accept-encoding": "gzip, deflate, br, zstd",
"accept-language": "en-US,en;q=0.6",
"authorization": "h8G4tfQ8Bw00M/FtDFpkCW1bqaz8NriE5Z08SjyVDaI=",
"content-type": "application/json",
"origin": "http://localhost:5173",
"priority": "u=1, i",
"referer": "http://localhost:5173/",
"sec-ch-ua": "\"Not;A=Brand\";v=\"8\", \"Chromium\";v=\"150\", \"Brave\";v=\"150\"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "\"Windows\"",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "cross-site",
"sec-gpc": "1",
"x-forwarded-for": "66.98.41.151",
"x-forwarded-host": "agenteit.digitalcompass.agency",
"x-forwarded-port": "443",
"x-forwarded-proto": "https",
"x-forwarded-server": "07b4f09d2c65",
"x-real-ip": "66.98.41.151"
},
"params": {},
"query": {},
"body": {
"empleados": [
{
"name": "Cesario Peguero",
"role": "Mercaderista",
"selectedClient": "Nestle",
"language": "Esp",
"employeeId": "07100525851",
"fotoUrl": "https://drive.google.com/file/d/18SmTmu9XkwIDhS0RwvdKLR4xnDGPbDrG/view?usp=drive_link"
},
{
"name": "Jorge Luis Morales",
"role": "Coordinador de Proyectos",
"selectedClient": "Generico",
"language": "Esp",
"employeeId": "40211123365",
"fotoUrl": "https://drive.google.com/file/d/1TLtTmHdiSoFdXbGkptm9OQxVudY_IRzS/view?usp=drive_link"
},
{
"name": "Francisco Trinidad",
"role": "Mercaderista",
"selectedClient": "Claro",
"language": "Esp",
"employeeId": "40226017321",
"fotoUrl": "https://drive.google.com/file/d/1hbePhkUmPs7e7foXnqRJcPMSUD42Wh5s/view?usp=sharing"
},
{
"name": "Jol Matrille",
"role": "Mercaderista",
"selectedClient": "Claro",
"language": "Esp",
"employeeId": "05601611774",
"fotoUrl": "https://drive.google.com/file/d/1cZDJpyTFRYcfIwQi-6heRORqr2Gp8Yew/view?usp=drive_link"
},
{
"name": "Dorman Pujols Pujols",
"role": "Mercaderista",
"selectedClient": "Claro",
"language": "Esp",
"employeeId": "00114244163",
"fotoUrl": "https://drive.google.com/file/d/1BswV1jxLOBO_Kyvmt9qqF32BbGgY58qU/view?usp=drive_link"
}
],
"total": 5,
"fechaProcesado": "2026-07-17T19:39:55.660Z"
},
"webhookUrl": "https://agenteit.digitalcompass.agency/webhook/carnet",
"executionMode": "production"
},
"pairedItem": {
"item": 0
}
}
]
},
"connections": {
"Webhook1": {
"main": [
[
{
"node": "Es un binario y employeeId?",
"type": "main",
"index": 0
}
]
]
},
"Download file": {
"main": [
[
{
"node": "Edit an image",
"type": "main",
"index": 0
},
{
"node": "Guardar foto",
"type": "main",
"index": 0
},
{
"node": "Descargar logo GLM",
"type": "main",
"index": 0
}
]
]
},
"Descargar logo GLM": {
"main": [
[
{
"node": "Edit an image",
"type": "main",
"index": 0
}
]
]
},
"Split Out": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Edit an image": {
"main": [
[
{
"node": "Extract from File",
"type": "main",
"index": 0
}
]
]
},
"Respond to Webhook1": {
"main": [
[]
]
},
"Loop Over Items": {
"main": [
[
{
"node": "Respond to Webhook1",
"type": "main",
"index": 0
}
],
[
{
"node": "Download file",
"type": "main",
"index": 0
},
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Merge": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Extract from File": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Es un binario?": {
"main": [
[
{
"node": "Split Out",
"type": "main",
"index": 0
}
],
[
{
"node": "Edit an image1",
"type": "main",
"index": 0
},
{
"node": "Descargar logo GLM1",
"type": "main",
"index": 0
}
]
]
},
"Descargar logo GLM1": {
"main": [
[
{
"node": "Edit an image1",
"type": "main",
"index": 0
}
]
]
},
"Edit an image1": {
"main": [
[
{
"node": "Respond to Webhook",
"type": "main",
"index": 0
}
]
]
},
"Guardar foto": {
"main": [
[
{
"node": "Guardar foto1",
"type": "main",
"index": 0
}
]
]
},
"Guardar foto1": {
"main": [
[
{
"node": "Actualizar foto del empleado",
"type": "main",
"index": 0
}
]
]
},
"Guardar foto2": {
"main": [
[
{
"node": "Hacer url publica",
"type": "main",
"index": 0
}
]
]
},
"Respond to Webhook": {
"main": [
[]
]
},
"Es un binario y employeeId?": {
"main": [
[
{
"node": "Convert to File",
"type": "main",
"index": 0
}
],
[
{
"node": "Es un binario?",
"type": "main",
"index": 0
}
]
]
},
"Convert to File": {
"main": [
[
{
"node": "Guardar foto2",
"type": "main",
"index": 0
}
]
]
},
"Hacer url publica": {
"main": [
[
{
"node": "Actualizar foto del empleado1",
"type": "main",
"index": 0
}
]
]
},
"Actualizar foto del empleado": {
"main": [
[]
]
}
},
"active": true,
"settings": {
"executionOrder": "v1",
"binaryMode": "separate",
"timeSavedMode": "fixed",
"callerPolicy": "workflowsFromSameOwner",
"availableInMCP": false,
"errorWorkflow": "lX5ITf9s4TSQglsM",
"timezone": "America/Santo_Domingo"
},
"versionId": "e67d854e-7e97-4afc-ae89-21a636dc9bcd",
"meta": {
"templateCredsSetupCompleted": true,
"instanceId": "b4b77b17af092830e794eef639ce2f6d7daccf7eddc075060b03b3b6545aac70"
},
"id": "D7X6KqXqTCXz9SY0",
"tags": []
}