Seguimiento automatizado de actualizaciones de dependencias
Este es unDevOps, AI Summarizationflujo de automatización del dominio deautomatización que contiene 23 nodos.Utiliza principalmente nodos como If, Set, Code, Jira, Slack. Análisis de riesgos de actualización de dependencias usando GPT-4o, Slack, Jira y Google Sheets
- •Bot Token de Slack o URL de Webhook
- •Credenciales de API de Google Sheets
- •Clave de API de OpenAI
Nodos utilizados (23)
Categoría
{
"id": "KplaPbnfu8G4ZiCK",
"meta": {
"instanceId": "8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177",
"templateCredsSetupCompleted": true
},
"name": "Automated Dependency Update Tracking",
"tags": [],
"nodes": [
{
"id": "713381f3-700f-4a63-9d45-1fcb875c89dc",
"name": "Al hacer clic en 'Ejecutar flujo de trabajo'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1136,
-16
],
"parameters": {},
"typeVersion": 1
},
{
"id": "b1a86cf1-b4c7-43ff-8da0-b4ca32b90744",
"name": "Nota adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
864,
144
],
"parameters": {
"width": 288,
"height": 384,
"content": "## 🧩 Parse AI Response to Structured Data\n**Action:** \n- Converts AI-generated output into structured JSON fields. \n**Description:** \n- Extracts risk_level and impact_summary. \n- Removes markdown artifacts and trims whitespace. \n- Provides fallback values if parsing fails (“Unknown” risk, “Failed to parse AI output”). \n- Ensures safe and consistent payload for Jira comments and Google Sheets logging.\n"
},
"typeVersion": 1
},
{
"id": "a340ed6c-85ca-48c5-b7ae-a0a4dd93042b",
"name": "Nota adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
384,
432
],
"parameters": {
"width": 368,
"height": 320,
"content": "## ⚙️ GPT-4o Model Configuration\n**Action:** \n- Configures AI model for accurate risk analysis. \n**Description:** \n- Defines model parameters like temperature, max tokens, and system prompt. \n- Ensures consistent, repeatable results in dependency analysis. \n- Focuses on DevOps context including package criticality and versioning. \n- Optimized for speed, reliability, and cost efficiency.\n"
},
"typeVersion": 1
},
{
"id": "b57a7811-2418-482e-94a1-bb48f79c32ba",
"name": "Nota adhesiva2",
"type": "n8n-nodes-base.stickyNote",
"position": [
544,
-480
],
"parameters": {
"width": 272,
"height": 400,
"content": "## 🧠 AI-Powered Risk Assessment Analyzer\n**Action:** \n- Uses GPT-4o to assess risk of dependency updates. \n**Description:** \n- Evaluates risk level (Low/Medium/High) and impact summary. \n- Considers dependency type, version changes, security indicators, and breaking change potential. \n- Provides structured JSON for downstream nodes. \n- Reduces manual triage and ensures consistent assessment across issues.\n"
},
"typeVersion": 1
},
{
"id": "45410e03-c687-4c4c-a833-42d1de6433be",
"name": "Nota adhesiva3",
"type": "n8n-nodes-base.stickyNote",
"position": [
208,
-432
],
"parameters": {
"width": 288,
"height": 384,
"content": "## 🔵 Alert DevOps Team in Slack\n**Action:** \n- Sends a Slack notification about new dependency updates. \n**Description:** \n- Message includes issue key, summary, status, priority, assignee, and Jira link. \n- Notifies DevOps and security teams immediately. \n- Provides formatted, actionable information for rapid response. \n- Creates audit trail of notifications for team transparency.\n"
},
"typeVersion": 1
},
{
"id": "29918ceb-631e-4463-9bb1-d40da0eb3e09",
"name": "Nota adhesiva4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1248,
160
],
"parameters": {
"width": 304,
"height": 384,
"content": "## 💬 Post AI Risk Assessment to Jira Ticket\n**Action:** \n- Adds AI-generated risk assessment as a Jira comment. \n**Description:** \n- Includes risk level, impact summary, and next steps checklist. \n- Provides permanent record for audit and compliance. \n- Allows developers to see AI assessment without leaving Jira. \n- Promotes standardized update validation and quick decision-making.\n"
},
"typeVersion": 1
},
{
"id": "ac6ebd0e-fc6e-4896-9a8c-75eb0d1b816a",
"name": "Nota adhesiva5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-16,
160
],
"parameters": {
"height": 464,
"content": "## 🟠 Extract Relevant Issue Metadata\n**Action:** \n- Extracts key fields from Jira issues for downstream processing. \n**Description:** \n- Keeps only essential fields: key, summary, assignee, priority, status, URL, and issue links. \n- Removes unnecessary metadata to reduce payload size. \n- Prepares structured JSON for Slack notifications and AI risk assessment. \n- Ensures consistency across all downstream nodes.\n"
},
"typeVersion": 1
},
{
"id": "c81ab400-953c-4860-8069-bd335fae4a55",
"name": "Nota adhesiva6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-352,
-464
],
"parameters": {
"width": 304,
"height": 416,
"content": "## 🔴 Identify Dependency Update Issues\n**Action:** \n- Filters Jira issues to isolate dependency/package updates. \n**Description:** \n- Searches summaries and descriptions for keywords like “update,” “bump,” “dependency,” “package,” or “library.” \n- Case-insensitive matching for maximum coverage. \n- **Matched Path:** Send to AI Risk Analysis. \n- **Unmatched Path:** Skip for efficiency. \n- Reduces noise and focuses AI analysis on relevant security/dependency issues.\n"
},
"typeVersion": 1
},
{
"id": "e5c13a32-8fb8-4a2e-b6da-c40c0cf377b7",
"name": "Nota adhesiva7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-688,
-544
],
"parameters": {
"height": 512,
"content": "## ✅ Validate Jira Query Response\n**Action:** \n- Verifies that Jira successfully returned issue data. \n**Description:** \n- Checks if response length > 0 before continuing. \n- **True Path (Data Exists):** Proceeds to filter dependency-related issues. \n- **False Path (No Data/Error):** Routes to error logging. \n- Prevents downstream processing errors from empty datasets. \n- Catches Jira API failures, authentication issues, or permission problems early. \n- Critical quality gate that ensures workflow reliability and proper error handling.\n"
},
"typeVersion": 1
},
{
"id": "d2ce051d-8fb3-47c3-b4f0-333d75a038ae",
"name": "Nota adhesiva8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-400,
432
],
"parameters": {
"width": 304,
"height": 336,
"content": "## 🟡 Log Jira Query Failures to Error Sheet\n**Action:** \n- Records Jira API failures or empty responses into a Google Sheet. \n**Description:** \n- Captures error type, message, and timestamp for debugging. \n- Supports identification of recurring API or authentication issues. \n- Separates errors from main workflow to maintain process continuity. \n- Helps troubleshoot integration problems effectively.\n"
},
"typeVersion": 1
},
{
"id": "f2107f52-9a8a-4cee-bf2e-fdd85b6ba1e2",
"name": "Nota adhesiva9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-960,
144
],
"parameters": {
"width": 304,
"height": 336,
"content": "## 🟣 Fetch All Active Jira Issues\n**Action:** \n- Retrieves all project issues from Jira for processing. \n**Description:** \n- Connects via Jira API using OAuth or credentials. \n- Pulls keys, summaries, statuses, priorities, assignees, and metadata. \n- Supports pagination or “returnAll: true” for a complete dataset. \n- Forms the base dataset for further analysis.\n"
},
"typeVersion": 1
},
{
"id": "3f725293-56f6-43ee-9aa5-1f5cb72e065e",
"name": "Nota adhesiva10",
"type": "n8n-nodes-base.stickyNote",
"position": [
1168,
-752
],
"parameters": {
"width": 336,
"height": 400,
"content": "## 📈 Log Dependency Updates to Tracking Dashboard\n**Action:** \n- Saves all processed dependency updates into a Google Sheet for tracking. \n**Description:** \n- Logs key, summary, assignee, status, risk level, impact summary, and timestamp. \n- Enables historical trend analysis and reporting. \n- Supports dashboards in Looker Studio, Tableau, or Notion. \n- Provides data for compliance audits, risk distribution, and DevOps performance metrics.\n"
},
"typeVersion": 1
},
{
"id": "16c0a63e-1eeb-4408-94f2-11e4b6b74e30",
"name": "Obtener Todos los Issues Activos de Jira",
"type": "n8n-nodes-base.jira",
"position": [
-864,
-16
],
"parameters": {
"options": {},
"operation": "getAll"
},
"credentials": {
"jiraSoftwareCloudApi": {
"id": "199LdjjU3PhhL8xb",
"name": "saurabh jira"
}
},
"typeVersion": 1
},
{
"id": "44a7ac98-cc74-465e-986c-e757963f64fd",
"name": "Validar Respuesta de Consulta de Jira",
"type": "n8n-nodes-base.if",
"position": [
-592,
-16
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "ef3f0536-f084-4c2b-9bf6-7cd172f90035",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $input.all().length > 0 }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "5103029f-44a5-401c-ab8a-0376fbdd8216",
"name": "Registrar Fallos de Consulta a Jira en Hoja de Error",
"type": "n8n-nodes-base.googleSheets",
"position": [
-320,
256
],
"parameters": {
"columns": {
"value": {},
"schema": [
{
"id": "error_id",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "error_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "error",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "error",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"error_id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"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": "b4b6612d-e0c1-41e6-9a16-b0a47bdbcee4",
"name": "Identificar Issues de Actualización de Dependencias",
"type": "n8n-nodes-base.filter",
"position": [
-256,
-16
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "c5a26c9f-55d8-4368-9941-2a90ed537287",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "=(\n ($json.fields.summary && (\n $json.fields.summary.toLowerCase().includes(\"update\") ||\n $json.fields.summary.toLowerCase().includes(\"dependency\") ||\n $json.fields.summary.toLowerCase().includes(\"bump\") ||\n $json.fields.summary.toLowerCase().includes(\"package\") ||\n $json.fields.summary.toLowerCase().includes(\"library\")\n )) ||\n ($json.fields.description && (\n $json.fields.description.toLowerCase().includes(\"update\") ||\n $json.fields.description.toLowerCase().includes(\"dependency\") ||\n $json.fields.description.toLowerCase().includes(\"bump\") ||\n $json.fields.description.toLowerCase().includes(\"package\") ||\n $json.fields.description.toLowerCase().includes(\"library\")\n ))\n)\n",
"rightValue": ""
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2
},
{
"id": "f3d4484f-23ad-4034-8c6e-aa006a9a28e4",
"name": "Extraer Metadatos Relevantes del Issue",
"type": "n8n-nodes-base.set",
"position": [
48,
-16
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "c7c7c164-5365-44d7-884a-0fe7a607adca",
"name": "key",
"type": "string",
"value": "={{ $json.key }}"
},
{
"id": "aa50207e-78bd-4eff-9fc6-1f8004a225df",
"name": "fields.summary",
"type": "string",
"value": "={{ $json.fields.summary }}"
},
{
"id": "2ec071da-e5da-41be-9d20-c78b391bdc97",
"name": "fields.status",
"type": "object",
"value": "={{ $json.fields.status }}"
},
{
"id": "14963da2-aaf5-44b3-b9c5-14bf919ee1da",
"name": "fields.priority",
"type": "object",
"value": "={{ $json.fields.priority }}"
},
{
"id": "92b47242-2b11-4f0c-852b-56cda94c6194",
"name": "fields.assignee",
"type": "object",
"value": "={{ $json.fields.assignee }}"
},
{
"id": "01721dff-85df-4376-93d6-55c549085c41",
"name": "fields.created",
"type": "string",
"value": "={{ $json.fields.created }}"
},
{
"id": "c470eb6c-b48f-43bd-97dc-2b35832fb956",
"name": "fields.issuelinks",
"type": "array",
"value": "={{ $json.fields.issuelinks }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "ffb64563-2919-4c1d-845c-7dc6e4b19506",
"name": "Alertar al Equipo DevOps en Slack",
"type": "n8n-nodes-base.slack",
"position": [
320,
-16
],
"webhookId": "ddaa7632-9e35-4bd3-82d6-572d5cae84cc",
"parameters": {
"text": "=*New Dependency Update Found in Jira!*\n*Issue:* {{ $json.fields.summary }}\n*Key:* {{$json[\"key\"]}}\n*Status:* {{$json[\"fields\"][\"status\"][\"name\"]}}\n*Priority:* {{$json[\"fields\"][\"priority\"][\"name\"]}}\n*Assignee:* {{$json[\"fields\"][\"assignee\"][\"displayName\"]}}\n*URL:* {{$json[\"fields\"][\"status\"][\"self\"].replace(\"/rest/api/2/status/\" + $json[\"fields\"][\"status\"][\"id\"], \"/browse/\" + $json[\"key\"])}}\n*Created:* {{$json[\"fields\"][\"created\"]}}",
"user": {
"__rl": true,
"mode": "list",
"value": "U09HMPVD466",
"cachedResultName": "newscctv22"
},
"select": "user",
"otherOptions": {}
},
"credentials": {
"slackApi": {
"id": "rNqvWj9TfChPVRYY",
"name": "Slack account vivek"
}
},
"typeVersion": 2.3
},
{
"id": "83956de1-806c-4022-82d3-b61ee76bf685",
"name": "Analizador de Evaluación de Riesgo con IA",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
576,
-16
],
"parameters": {
"text": "=You are Techdome’s AI DevOps assistant.\nAnalyze this Jira issue update and assign a risk level (Low, Medium, High) with a short reasoning.\n\nHere’s the issue data in JSON:\n{{ JSON.stringify($json) }}\n\nReturn the response only in this JSON format:\n{\n \"risk_level\": \"\",\n \"impact_summary\": \"\"\n}\n",
"options": {
"systemMessage": "="
},
"promptType": "define"
},
"typeVersion": 2.1
},
{
"id": "5320a5e4-a76f-4a2b-ad4e-d6233ac6b047",
"name": "Configuración del Modelo de Lenguaje GPT-4o",
"type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
"position": [
496,
288
],
"parameters": {
"model": "gpt-4o",
"options": {}
},
"credentials": {
"azureOpenAiApi": {
"id": "C3WzT18XqF8OdVM6",
"name": "Azure Open AI account"
}
},
"typeVersion": 1
},
{
"id": "74e29a6b-182b-425f-8969-861ddf2becff",
"name": "Analizar Respuesta de IA a Datos Estructurados",
"type": "n8n-nodes-base.code",
"position": [
976,
-16
],
"parameters": {
"jsCode": "return items.map(item => {\n try {\n const parsed = JSON.parse(item.json.output.replace(/```json|```/g, \"\").trim());\n return {\n json: {\n ...item.json,\n risk_level: parsed.risk_level,\n impact_summary: parsed.impact_summary\n }\n };\n } catch (error) {\n return {\n json: {\n ...item.json,\n risk_level: \"Unknown\",\n impact_summary: \"Failed to parse AI output\"\n }\n };\n }\n});\n"
},
"typeVersion": 2
},
{
"id": "5fa12a2e-d3c5-496b-820d-d4dad8d9485a",
"name": "Publicar Evaluación de Riesgo de IA en Ticket de Jira",
"type": "n8n-nodes-base.jira",
"position": [
1312,
-16
],
"parameters": {
"comment": "=🤖 *AI Risk Assessment Report* *Risk Level:* {{$json[\"risk_level\"]}} *Impact Summary:* {{$json[\"impact_summary\"]}} ✅ *Next Steps:* - [ ] Review dependency changelog - [ ] Run regression tests - [ ] Verify compatibility with core modules - [ ] QA sign-off before merge",
"options": {},
"issueKey": "={{ $('Extract Relevant Issue Metadata').item.json.key }}",
"resource": "issueComment"
},
"credentials": {
"jiraSoftwareCloudApi": {
"id": "199LdjjU3PhhL8xb",
"name": "saurabh jira"
}
},
"typeVersion": 1
},
{
"id": "04aead69-71ed-4dd0-90d8-f4a0dcb09000",
"name": "Registrar Actualizaciones de Dependencias en el Panel de Seguimiento",
"type": "n8n-nodes-base.googleSheets",
"position": [
1312,
-320
],
"parameters": {
"columns": {
"value": {
"Key": "={{ $('Extract Relevant Issue Metadata').item.json.key }}",
"Date": "={{$now}}",
"Status": "={{ $('Extract Relevant Issue Metadata').item.json.fields.status }}",
"Summary": "={{ $('Extract Relevant Issue Metadata').item.json.fields.summary }}",
"Assignee": "={{ $('Extract Relevant Issue Metadata').item.json.fields.assignee }}",
"Risk Level": "={{ $json.risk_level }}",
"Impact Summary": "={{ $json.impact_summary }}"
},
"schema": [
{
"id": "Date",
"type": "string",
"display": true,
"required": false,
"displayName": "Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Key",
"type": "string",
"display": true,
"required": false,
"displayName": "Key",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Summary",
"type": "string",
"display": true,
"required": false,
"displayName": "Summary",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Risk Level",
"type": "string",
"display": true,
"required": false,
"displayName": "Risk Level",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Impact Summary",
"type": "string",
"display": true,
"required": false,
"displayName": "Impact Summary",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Assignee",
"type": "string",
"display": true,
"required": false,
"displayName": "Assignee",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1144654801,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y/edit#gid=1144654801",
"cachedResultName": "Automated Dependency Update Tracking"
},
"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
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "ad77cf1a-4cea-497d-81f5-c22142cc0bd0",
"connections": {
"ffb64563-2919-4c1d-845c-7dc6e4b19506": {
"main": [
[
{
"node": "83956de1-806c-4022-82d3-b61ee76bf685",
"type": "main",
"index": 0
}
]
]
},
"16c0a63e-1eeb-4408-94f2-11e4b6b74e30": {
"main": [
[
{
"node": "44a7ac98-cc74-465e-986c-e757963f64fd",
"type": "main",
"index": 0
}
]
]
},
"44a7ac98-cc74-465e-986c-e757963f64fd": {
"main": [
[
{
"node": "b4b6612d-e0c1-41e6-9a16-b0a47bdbcee4",
"type": "main",
"index": 0
}
],
[
{
"node": "5103029f-44a5-401c-ab8a-0376fbdd8216",
"type": "main",
"index": 0
}
]
]
},
"f3d4484f-23ad-4034-8c6e-aa006a9a28e4": {
"main": [
[
{
"node": "ffb64563-2919-4c1d-845c-7dc6e4b19506",
"type": "main",
"index": 0
}
]
]
},
"b4b6612d-e0c1-41e6-9a16-b0a47bdbcee4": {
"main": [
[
{
"node": "f3d4484f-23ad-4034-8c6e-aa006a9a28e4",
"type": "main",
"index": 0
}
]
]
},
"83956de1-806c-4022-82d3-b61ee76bf685": {
"main": [
[
{
"node": "74e29a6b-182b-425f-8969-861ddf2becff",
"type": "main",
"index": 0
}
]
]
},
"5320a5e4-a76f-4a2b-ad4e-d6233ac6b047": {
"ai_languageModel": [
[
{
"node": "83956de1-806c-4022-82d3-b61ee76bf685",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"713381f3-700f-4a63-9d45-1fcb875c89dc": {
"main": [
[
{
"node": "16c0a63e-1eeb-4408-94f2-11e4b6b74e30",
"type": "main",
"index": 0
}
]
]
},
"74e29a6b-182b-425f-8969-861ddf2becff": {
"main": [
[
{
"node": "5fa12a2e-d3c5-496b-820d-d4dad8d9485a",
"type": "main",
"index": 0
},
{
"node": "04aead69-71ed-4dd0-90d8-f4a0dcb09000",
"type": "main",
"index": 0
}
]
]
},
"5fa12a2e-d3c5-496b-820d-d4dad8d9485a": {
"main": [
[]
]
}
}
}¿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 - DevOps, Resumen de IA
¿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