Ejecución automatizada de pruebas y actualización de estados
Este es unautomatización que contiene 27 nodos.Utiliza principalmente nodos como If, Set, Code, ClickUp, GoogleDrive. Ejecutor automático de pruebas de flujos de trabajo, integración de Google Drive, Sheets y ClickUp para el registro de resultados
- •Credenciales de API de Google Drive
- •Credenciales de API de Google Sheets
Nodos utilizados (27)
Categoría
{
"id": "ZI6iraWt5DF3ohnS",
"meta": {
"instanceId": "8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177",
"templateCredsSetupCompleted": true
},
"name": "Automated Test Run and Status Update",
"tags": [],
"nodes": [
{
"id": "ebbca67b-a5e8-47a6-b0f0-0e01a2cf0c90",
"name": "Al hacer clic en 'Ejecutar flujo de trabajo'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-576,
0
],
"parameters": {},
"typeVersion": 1
},
{
"id": "f90f0568-e7ab-451c-bfe9-7151835fec62",
"name": "Nota adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
-384,
208
],
"parameters": {
"width": 304,
"height": 368,
"content": "## 🔄 Execute Target Workflow Under Test\n**Action:** \n- Calls and executes the \"Archive Payment Receipts\" workflow as a sub-process. \n**Description:** \n- Runs the specified workflow and waits for its completion. \n- Configured to continue execution even if the sub-workflow encounters errors. \n- Captures the output (including any error objects) for validation in subsequent steps. \n- Critical for automated regression testing and CI/CD pipelines."
},
"typeVersion": 1
},
{
"id": "f5de02c6-f686-402f-90df-80bc60151c1c",
"name": "Nota adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-96,
-480
],
"parameters": {
"height": 448,
"content": "## ✅ Test Result Evaluation (Pass/Fail Check)\n**Action:** \n- Determines whether the sub-workflow executed successfully or failed. \n**Description:** \n- Checks if an \"error\" field exists in the returned JSON data. \n- **True Path (No Error):** Routes to success logging branch. \n- **False Path (Error Exists):** Routes to failure logging and error reporting branch. \n- Acts as the decision gateway for all downstream reporting actions."
},
"typeVersion": 1
},
{
"id": "3af7b28f-f3a6-45af-a3c0-49d0d867290d",
"name": "Evaluación de Resultados de Prueba",
"type": "n8n-nodes-base.if",
"position": [
-16,
0
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "c9f7e963-a035-4c64-82ef-f870f1d6587c",
"operator": {
"type": "string",
"operation": "notExists",
"singleValue": true
},
"leftValue": "={{$json[\"error\"]}}",
"rightValue": ""
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2
},
{
"id": "c9ded697-7e80-4c9d-ae63-b34dd83a4b4b",
"name": "Formatear Resultado de Prueba Exitosa",
"type": "n8n-nodes-base.set",
"position": [
384,
-208
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e70c3468-0767-470a-b780-7e17188788c2",
"name": "status",
"type": "string",
"value": "✅ Passed"
},
{
"id": "6b01dbe6-137a-46d0-b909-0c863d25e3a1",
"name": "tested_workflow",
"type": "string",
"value": "Retention Tracking Post-Hire"
},
{
"id": "5ca7a3ff-f30a-4ab4-9a54-b33188458d7a",
"name": "",
"type": "string",
"value": ""
},
{
"id": "f6f5dd9b-379c-4e96-b74f-d394f0e9d83f",
"name": "timestamp",
"type": "string",
"value": "=={{$now}}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "0df832de-9809-4c05-944b-1ab8e62fb6ff",
"name": "Nota adhesiva2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1232,
-704
],
"parameters": {
"height": 448,
"content": "## ☁️ Archive Success Report to Google Drive\n**Action:** \n- Uploads the success test report file to a designated Google Drive folder. \n**Description:** \n- Stores test results in the \"resume store\" folder for centralized access. \n- File name dynamically includes workflow name, status, and timestamp. \n- Provides a permanent record of successful test executions. \n- Supports compliance and audit trail requirements."
},
"typeVersion": 1
},
{
"id": "18671bfd-775b-42e6-a64e-3921ffee5961",
"name": "Nota adhesiva3",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
-640
],
"parameters": {
"height": 384,
"content": "## 📦 Convert Success Report to Text File\n**Action:** \n- Transforms the formatted text into a downloadable .txt file. \n**Description:** \n- Prepares the success report for upload to Google Drive. \n- File naming includes workflow name, status, and timestamp for easy identification. \n- Supports long-term archival and audit requirements."
},
"typeVersion": 1
},
{
"id": "90db750f-6254-40d3-8755-4b22c377f3c3",
"name": "Nota adhesiva4",
"type": "n8n-nodes-base.stickyNote",
"position": [
640,
-640
],
"parameters": {
"height": 400,
"content": "## 📄 Generate Success Report Text\n**Action:** \n- Formats test result data into a human-readable text report. \n**Description:** \n- Concatenates workflow name, pass status, and timestamp into a structured text block. \n- Output is used for file creation and task updates. \n- Ensures consistent formatting across all reporting channels."
},
"typeVersion": 1
},
{
"id": "fcce2d0a-4f68-49c5-a1e6-87be0cadb94b",
"name": "Nota adhesiva5",
"type": "n8n-nodes-base.stickyNote",
"position": [
288,
-672
],
"parameters": {
"height": 448,
"content": "## 🎯 Format Success Test Result\n**Action:** \n- Structures the test outcome data for successful workflow execution. \n**Description:** \n- Creates a standardized result object containing: \n - Status: \"✅ Passed\" \n - Tested Workflow Name: \"Retention Tracking Post-Hire\" \n - Timestamp: Current execution time \n- Prepares data for archival and notification in subsequent nodes."
},
"typeVersion": 1
},
{
"id": "48482dbc-5fa7-47d6-8f4e-94f4f7cecf3c",
"name": "Nota adhesiva6",
"type": "n8n-nodes-base.stickyNote",
"position": [
320,
384
],
"parameters": {
"height": 448,
"content": "## ❌ Format Failed Test Result\n**Action:** \n- Structures the test outcome data for failed workflow execution. \n**Description:** \n- Creates a standardized result object containing: \n - Status: \"❌ Failed\" \n - Tested Workflow Name: \"Retention Tracking Post-Hire\" \n - Timestamp: Current execution time \n- Ensures failure details are captured for debugging and audit trails."
},
"typeVersion": 1
},
{
"id": "163d4cae-b9b2-4317-867e-d5b3ad1d4173",
"name": "Formatear Resultado de Prueba Fallida",
"type": "n8n-nodes-base.set",
"position": [
368,
224
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e70c3468-0767-470a-b780-7e17188788c2",
"name": "status",
"type": "string",
"value": "❌ Failed"
},
{
"id": "6b01dbe6-137a-46d0-b909-0c863d25e3a1",
"name": "tested_workflow",
"type": "string",
"value": "Retention Tracking Post-Hire"
},
{
"id": "f6f5dd9b-379c-4e96-b74f-d394f0e9d83f",
"name": "timestamp",
"type": "string",
"value": "=={{$now}}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "5040deb0-6db6-40c8-9cad-f8637dd2f9fa",
"name": "Generar Texto de Reporte de Éxito",
"type": "n8n-nodes-base.code",
"position": [
736,
-208
],
"parameters": {
"jsCode": "return [\n {\n json: {\n text: `Workflow: ${$json.tested_workflow}\nStatus: ${$json.status}\nTimestamp: ${$json.timestamp}`\n }\n }\n];\n"
},
"typeVersion": 2
},
{
"id": "2b1741e8-7258-4f28-b050-57dc4545692b",
"name": "Nota adhesiva7",
"type": "n8n-nodes-base.stickyNote",
"position": [
1232,
416
],
"parameters": {
"height": 400,
"content": "## ☁️ Archive Failure Report to Google Drive\n**Action:** \n- Uploads the failure test report file to a designated Google Drive folder. \n**Description:** \n- Stores test results in the \"resume store\" folder alongside success reports. \n- Enables team members to review failed test runs without accessing n8n directly. \n- Facilitates root cause analysis and troubleshooting."
},
"typeVersion": 1
},
{
"id": "8e5de5e8-71a1-4a74-b1a9-df712153c9db",
"name": "Nota adhesiva8",
"type": "n8n-nodes-base.stickyNote",
"position": [
944,
416
],
"parameters": {
"height": 352,
"content": "## 📦 Convert Failure Report to Text File\n**Action:** \n- Transforms the formatted text into a downloadable .txt file. \n**Description:** \n- Prepares the failure report for upload to Google Drive. \n- File naming convention matches success reports for consistent organization. \n- Critical for post-mortem analysis and debugging."
},
"typeVersion": 1
},
{
"id": "54f6ba7c-b99c-40c3-a0ec-14bfd933ca2c",
"name": "Nota adhesiva9",
"type": "n8n-nodes-base.stickyNote",
"position": [
672,
400
],
"parameters": {
"height": 368,
"content": "## 📄 Generate Failure Report Text\n**Action:** \n- Formats test result data into a human-readable text report. \n**Description:** \n- Concatenates workflow name, fail status, and timestamp into a structured text block. \n- Mirrors the success report structure for consistency. \n- Enables quick identification of failed test runs in logs and notifications."
},
"typeVersion": 1
},
{
"id": "6637cf99-13de-4668-bb63-ea921dccc182",
"name": "Generar Texto de Reporte de Falla",
"type": "n8n-nodes-base.code",
"position": [
736,
224
],
"parameters": {
"jsCode": "return [\n {\n json: {\n text: `Workflow: ${$json.tested_workflow}\nStatus: ${$json.status}\nTimestamp: ${$json.timestamp}`\n }\n }\n];\n"
},
"typeVersion": 2
},
{
"id": "1140f35d-1fc6-4dab-b7a5-4ac118ea4a6d",
"name": "Convertir Reporte de Éxito a Archivo de Texto",
"type": "n8n-nodes-base.convertToFile",
"position": [
1024,
-208
],
"parameters": {
"options": {},
"operation": "toText",
"sourceProperty": "=text"
},
"typeVersion": 1.1
},
{
"id": "57b36b45-ebfb-4e36-8b3d-79641f1831a9",
"name": "Convertir Reporte de Falla a Archivo de Texto",
"type": "n8n-nodes-base.convertToFile",
"position": [
1008,
224
],
"parameters": {
"options": {},
"operation": "toText",
"sourceProperty": "=text"
},
"typeVersion": 1.1
},
{
"id": "4b572d2b-e233-410b-aa83-abae2b023184",
"name": "Archivar Reporte de Éxito en Google Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
1296,
-208
],
"parameters": {
"name": "={{ $json.tested_workflow }}_{{ $json.status }}_{{ $json.timestamp.replace(/[:.]/g, \"-\") }}.txt\n",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "16lOVXsq0xkvJ8sCM7hCFAghQvDOXann7",
"cachedResultUrl": "https://drive.google.com/drive/folders/16lOVXsq0xkvJ8sCM7hCFAghQvDOXann7",
"cachedResultName": "resume store"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "E7nEqUL27GUx1xHa",
"name": "Techdome Account"
}
},
"typeVersion": 3
},
{
"id": "0c3a0ce7-61bd-4ab4-9e3b-a0f6a97c75bb",
"name": "Archivar Reporte de Falla en Google Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
1312,
224
],
"parameters": {
"name": "={{ $json.tested_workflow }}_{{ $json.status }}_{{ $json.timestamp.replace(/[:.]/g, \"-\") }}.txt\n",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "16lOVXsq0xkvJ8sCM7hCFAghQvDOXann7",
"cachedResultUrl": "https://drive.google.com/drive/folders/16lOVXsq0xkvJ8sCM7hCFAghQvDOXann7",
"cachedResultName": "resume store"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "E7nEqUL27GUx1xHa",
"name": "Techdome Account"
}
},
"typeVersion": 3
},
{
"id": "dcde5325-c1a3-4e33-acf9-661587287d9f",
"name": "Nota adhesiva10",
"type": "n8n-nodes-base.stickyNote",
"position": [
1552,
400
],
"parameters": {
"height": 400,
"content": "## ✏️ Update ClickUp Task with Failure Status\n**Action:** \n- Posts the failure test result to a specific ClickUp task for team visibility. \n**Description:** \n- Updates task ID .. with formatted test outcome. \n- Alerts the team to failed test runs immediately. \n- Centralizes test monitoring in the project management platform."
},
"typeVersion": 1
},
{
"id": "5622acb4-1563-498d-9ac8-cb0d2fdadebf",
"name": "Nota adhesiva11",
"type": "n8n-nodes-base.stickyNote",
"position": [
1520,
-656
],
"parameters": {
"height": 400,
"content": "## ✏️ Update ClickUp Task with Success Status\n**Action:** \n- Posts the success test result to a specific ClickUp task for team visibility. \n**Description:** \n- Updates task ID with formatted test outcome. \n- Keeps project management tools synchronized with test results. \n- Enables real-time notifications to stakeholders without manual updates."
},
"typeVersion": 1
},
{
"id": "7c80063a-3bfe-4677-9dfc-9f24616bb84a",
"name": "Actualizar Tarea en ClickUp con Estado de Éxito",
"type": "n8n-nodes-base.clickUp",
"position": [
1552,
-208
],
"parameters": {
"id": "86b700vbb",
"operation": "update",
"updateFields": {
"content": "={{ $('Generate Success Report Text').item.json.text }}"
}
},
"credentials": {
"clickUpApi": {
"id": "kahuAqa6VKsSxhn1",
"name": "ClickUp account 3"
}
},
"typeVersion": 1
},
{
"id": "b26d1493-d58a-4395-b4d3-d2bdfa4080cb",
"name": "Actualizar Tarea en ClickUp con Estado de Falla",
"type": "n8n-nodes-base.clickUp",
"position": [
1584,
224
],
"parameters": {
"id": "86b700vbb",
"operation": "update",
"updateFields": {
"content": "={{ $('Generate Failure Report Text').item.json.text }}"
}
},
"credentials": {
"clickUpApi": {
"id": "kahuAqa6VKsSxhn1",
"name": "ClickUp account 3"
}
},
"typeVersion": 1
},
{
"id": "5dff41d1-8ca3-49e2-a6cd-f181bb402cb0",
"name": "Nota adhesiva12",
"type": "n8n-nodes-base.stickyNote",
"position": [
-144,
784
],
"parameters": {
"height": 448,
"content": "## 📊 Log Error Details to Error Tracking Sheet\n**Action:** \n- Appends error information to a dedicated error log in Google Sheets. \n**Description:** \n- Writes to the \"error log sheet\" tab in the \"Interviewer Brief Pack\" spreadsheet. \n- Captures raw error objects for detailed analysis. \n- Creates a queryable database of all test failures for trend analysis. \n- Supports continuous improvement of workflow reliability."
},
"typeVersion": 1
},
{
"id": "4a18b563-f4ef-4ad8-8b19-74d45ac01736",
"name": "Registrar Detalles de Error en Hoja de Seguimiento",
"type": "n8n-nodes-base.googleSheets",
"position": [
144,
752
],
"parameters": {
"columns": {
"value": {
"error": "={{ $json.error }}"
},
"schema": [
{
"id": "error_id",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "error_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "error",
"type": "string",
"display": true,
"required": false,
"displayName": "error",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1338537721,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y/edit#gid=1338537721",
"cachedResultName": "error log sheet"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y/edit?usp=drivesdk",
"cachedResultName": "Interviewer Brief Pack "
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "kpPEOLCGn963qpoh",
"name": "automations@techdome.ai"
}
},
"typeVersion": 4.6
},
{
"id": "4158484c-a8ed-4c33-8ea2-f0fb7cf2194d",
"name": "Ejecutar Flujo de Trabajo Objetivo en Prueba",
"type": "n8n-nodes-base.executeWorkflow",
"onError": "continueRegularOutput",
"position": [
-288,
0
],
"parameters": {
"options": {
"waitForSubWorkflow": true
},
"workflowId": {
"__rl": true,
"mode": "list",
"value": "gr2rafzxOw1ks4Bd",
"cachedResultUrl": "/workflow/gr2rafzxOw1ks4Bd",
"cachedResultName": "Archive Payment Receipts with Stripe, Google Drive, and Google Sheets"
},
"workflowInputs": {
"value": {},
"mappingMode": "defineBelow"
}
},
"retryOnFail": false,
"typeVersion": 1.3,
"alwaysOutputData": true
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "034f6efb-c4fc-498e-95fa-b58bedd10782",
"connections": {
"3af7b28f-f3a6-45af-a3c0-49d0d867290d": {
"main": [
[
{
"node": "c9ded697-7e80-4c9d-ae63-b34dd83a4b4b",
"type": "main",
"index": 0
}
],
[
{
"node": "163d4cae-b9b2-4317-867e-d5b3ad1d4173",
"type": "main",
"index": 0
},
{
"node": "4a18b563-f4ef-4ad8-8b19-74d45ac01736",
"type": "main",
"index": 0
}
]
]
},
"163d4cae-b9b2-4317-867e-d5b3ad1d4173": {
"main": [
[
{
"node": "6637cf99-13de-4668-bb63-ea921dccc182",
"type": "main",
"index": 0
}
]
]
},
"c9ded697-7e80-4c9d-ae63-b34dd83a4b4b": {
"main": [
[
{
"node": "5040deb0-6db6-40c8-9cad-f8637dd2f9fa",
"type": "main",
"index": 0
}
]
]
},
"6637cf99-13de-4668-bb63-ea921dccc182": {
"main": [
[
{
"node": "57b36b45-ebfb-4e36-8b3d-79641f1831a9",
"type": "main",
"index": 0
}
]
]
},
"5040deb0-6db6-40c8-9cad-f8637dd2f9fa": {
"main": [
[
{
"node": "1140f35d-1fc6-4dab-b7a5-4ac118ea4a6d",
"type": "main",
"index": 0
}
]
]
},
"4158484c-a8ed-4c33-8ea2-f0fb7cf2194d": {
"main": [
[
{
"node": "3af7b28f-f3a6-45af-a3c0-49d0d867290d",
"type": "main",
"index": 0
}
]
]
},
"57b36b45-ebfb-4e36-8b3d-79641f1831a9": {
"main": [
[
{
"node": "0c3a0ce7-61bd-4ab4-9e3b-a0f6a97c75bb",
"type": "main",
"index": 0
}
]
]
},
"1140f35d-1fc6-4dab-b7a5-4ac118ea4a6d": {
"main": [
[
{
"node": "4b572d2b-e233-410b-aa83-abae2b023184",
"type": "main",
"index": 0
}
]
]
},
"ebbca67b-a5e8-47a6-b0f0-0e01a2cf0c90": {
"main": [
[
{
"node": "4158484c-a8ed-4c33-8ea2-f0fb7cf2194d",
"type": "main",
"index": 0
}
]
]
},
"0c3a0ce7-61bd-4ab4-9e3b-a0f6a97c75bb": {
"main": [
[
{
"node": "b26d1493-d58a-4395-b4d3-d2bdfa4080cb",
"type": "main",
"index": 0
}
]
]
},
"4b572d2b-e233-410b-aa83-abae2b023184": {
"main": [
[
{
"node": "7c80063a-3bfe-4677-9dfc-9f24616bb84a",
"type": "main",
"index": 0
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Avanzado
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
Rahul Joshi
@rahul08Rahul Joshi is a seasoned technology leader specializing in the n8n automation tool and AI-driven workflow automation. With deep expertise in building open-source workflow automation and self-hosted automation platforms, he helps organizations eliminate manual processes through intelligent n8n ai agent automation solutions.
Compartir este flujo de trabajo