Workflow de gestión de eventos

Avanzado

Este es unDevOpsflujo de automatización del dominio deautomatización que contiene 23 nodos.Utiliza principalmente nodos como If, Set, Code, Jira, Merge. Automatizar la respuesta a incidentes con Jira, Slack, Google Sheets y Drive

Requisitos previos
  • Bot Token de Slack o URL de Webhook
  • Credenciales de API de Google Drive
  • Credenciales de API de Google Sheets

Categoría

Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "id": "J93LxYXb9IHdMR7s",
  "meta": {
    "instanceId": "8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177",
    "templateCredsSetupCompleted": true
  },
  "name": "Incident Management Workflow",
  "tags": [],
  "nodes": [
    {
      "id": "70b38182-4e4c-4f33-9955-18712a2734ef",
      "name": "Al hacer clic en 'Ejecutar flujo de trabajo'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -1008,
        -48
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "c5e9b101-a3bb-4095-9931-10cb47abf60c",
      "name": "Nota adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1760,
        176
      ],
      "parameters": {
        "height": 560,
        "content": "## ☁️ Archive Incident Timeline to Drive\n**Action:** Saves incident timeline report to Google Drive for permanent storage.\n\n**Description:**\n- Uploads to designated folder (rename to \"Incident Reports\" in production)\n- Filename includes timestamp for chronological organization\n- Creates audit-compliant documentation trail for compliance requirements\n- Enables easy access during postmortem reviews and RCA sessions\n- Provides shareable links for stakeholder communication\n- Ensures documentation survives even if Jira/Slack history expire"
      },
      "typeVersion": 1
    },
    {
      "id": "1701890b-1a58-4f8e-8d96-94bb3d717d1d",
      "name": "Nota adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1440,
        160
      ],
      "parameters": {
        "height": 496,
        "content": "## 📄 Convert Timeline to Text File\n**Action:** Transforms incident timeline report into downloadable .txt file.\n\n**Description:**\n- Creates properly formatted text file from timeline string\n- Filename dynamically includes Jira key (e.g., \"Incident-SCRUM-123.txt\")\n- Maintains text formatting with line breaks and separators\n- Prepares document for long-term archival in Google Drive\n- Enables easy sharing with postmortem reviewers and stakeholders"
      },
      "typeVersion": 1
    },
    {
      "id": "eb3eeb1a-0b12-46d3-8272-47ae01ab3185",
      "name": "Nota adhesiva2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1120,
        144
      ],
      "parameters": {
        "height": 608,
        "content": "## 📋 Generate Incident Timeline Report\n**Action:** Creates comprehensive incident timeline from Slack message data.\n\n**Description:**\n- Parses Slack message blocks to extract incident details\n- Handles complex rich text formatting to find: Jira key, service, severity, clickable links\n- Generates formatted timeline report with:\n  - Incident metadata header\n  - Timestamped event log (declaration, investigation, resolution)\n  - Placeholder checkboxes for postmortem tracking\n  - Reference links to Jira and Slack\n- Outputs structured text ready for archival"
      },
      "typeVersion": 1
    },
    {
      "id": "1d0f80e7-e631-4054-9159-3c4db04f7d37",
      "name": "Nota adhesiva3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        864,
        -544
      ],
      "parameters": {
        "width": 256,
        "height": 464,
        "content": "## 📢 Alert On-Call Team in Slack\n**Action:** Posts incident notification to #oncall Slack channel.\n\n**Description:**\n- Delivers formatted alert to dedicated incident response channel\n- Includes: Jira key, service, severity, description, direct link\n- Notifies on-call engineers instantly without email delays\n- Creates permanent channel record for timeline reconstruction\n- Returns Slack message metadata for downstream tracking\n- Can be modified to post to different channels or DMs"
      },
      "typeVersion": 1
    },
    {
      "id": "0e077e72-3423-4e55-b44d-592152210bdc",
      "name": "Nota adhesiva4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        672,
        144
      ],
      "parameters": {
        "height": 544,
        "content": "## 💬 Format Incident Alert for Slack\n**Action:** Generates rich, formatted Slack message with incident details.\n\n**Description:**\n- Safely extracts data from merged incident and Jira objects\n- Builds professional alert with:\n  - Attention-grabbing emoji indicators (🚨)\n  - Bold formatting for critical fields\n  - Clickable Jira ticket link\n  - Automation attribution footer\n- Handles missing data gracefully with fallback values (\"N/A\", \"Unknown\")\n- Returns structured message ready for Slack delivery"
      },
      "typeVersion": 1
    },
    {
      "id": "1d072007-08da-468c-8588-673d4b714502",
      "name": "Nota adhesiva5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        -640
      ],
      "parameters": {
        "height": 528,
        "content": "## 🔗 Combine Incident & Jira Data\n**Action:** Merges incident metadata with Jira ticket information.\n\n**Description:**\n- Combines two data streams:\n  1. Incident details from Define Metadata node\n  2. Jira ticket response (key, link, ID)\n- Enables downstream nodes to access both context and Jira reference\n- Critical for building comprehensive Slack notifications with clickable links\n- Uses default merge mode to preserve all fields from both sources"
      },
      "typeVersion": 1
    },
    {
      "id": "13809897-974f-4371-b18c-fcbc03a4fe4c",
      "name": "Nota adhesiva6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -528,
        240
      ],
      "parameters": {
        "height": 480,
        "content": "## 🎫 Create Jira Incident Ticket\n**Action:** Automatically creates Jira task in incident management project.\n\n**Description:**\n- Creates ticket with formatted summary: \"[Severity] Service - Description\"\n- Includes detailed description with service, severity, timestamp, and automation source\n- Generates unique Jira key (e.g., SCRUM-123) for tracking\n- Returns ticket metadata (key, link, ID) for downstream notifications\n- Acts as single source of truth for incident tracking"
      },
      "typeVersion": 1
    },
    {
      "id": "1585af90-5926-46c1-8682-3c3f61682271",
      "name": "Nota adhesiva7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -848,
        128
      ],
      "parameters": {
        "height": 480,
        "content": "## 🏷️ Define Incident Metadata\n**Action:** Structures incident data with service, severity, and description.\n\n**Description:**\n- Sets standardized attributes: Service (API/Database/Frontend), Severity (High/Medium/Low), Description\n- In production, replace with monitoring webhook data (Datadog, New Relic, PagerDuty)\n- Ensures consistent format across Jira, Slack, and tracking systems\n- Template values customizable per service catalog"
      },
      "typeVersion": 1
    },
    {
      "id": "ad55acbf-bd89-435c-b2f1-568749a416be",
      "name": "Nota adhesiva8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1408,
        -1024
      ],
      "parameters": {
        "height": 608,
        "content": "## 📊 Log Incident to Status Tracking Sheet\n**Action:** Records incident details to centralized Google Sheets dashboard.\n\n**Description:**\n- Appends incident record to \"status update\" sheet with:\n  - Jira Key (unique identifier)\n  - Service (affected system/component)\n  - Severity (impact classification)\n  - Status (defaults to \"Investigating\")\n  - Timestamp (incident creation time)\n- Creates real-time dashboard viewable by entire team\n- Enables historical trend analysis and MTTR calculations\n- Supports executive reporting and SLA monitoring"
      },
      "typeVersion": 1
    },
    {
      "id": "9b152b91-f8f5-472d-bb7f-115b89417238",
      "name": "Definir metadatos del incidente",
      "type": "n8n-nodes-base.set",
      "position": [
        -768,
        -48
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "f0e9d84e-9714-4e29-bb86-7e1593284491",
              "name": "service",
              "type": "string",
              "value": "API"
            },
            {
              "id": "52c39d93-bff5-4c9f-a00d-84be94201112",
              "name": "severity",
              "type": "string",
              "value": "High"
            },
            {
              "id": "81d91f46-5028-4b28-a96c-3a595b3847e0",
              "name": "description",
              "type": "string",
              "value": "Response time above 3s"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "492cf3b1-9ad6-4521-b7f5-b5a220174c01",
      "name": "Crear ticket de incidente en Jira",
      "type": "n8n-nodes-base.jira",
      "position": [
        -448,
        80
      ],
      "parameters": {
        "project": {
          "__rl": true,
          "mode": "list",
          "value": "10000",
          "cachedResultName": "Resource Capacity Demo"
        },
        "summary": "=[{{ $json[\"severity\"] }}] {{ $json[\"service\"] }} - {{ $json[\"description\"] }}",
        "issueType": {
          "__rl": true,
          "mode": "list",
          "value": "10004",
          "cachedResultName": "Task"
        },
        "additionalFields": {
          "description": "=Service: {{ $json[\"service\"] }} Severity: {{ $json[\"severity\"] }} Description: {{ $json[\"description\"] }} Created by: n8n Automation Time: {{ $now }}"
        }
      },
      "credentials": {
        "jiraSoftwareCloudApi": {
          "id": "199LdjjU3PhhL8xb",
          "name": "saurabh jira"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b6953fcb-1d76-4736-96c4-ff69fc4a815b",
      "name": "Combinar datos del incidente y Jira",
      "type": "n8n-nodes-base.merge",
      "position": [
        496,
        -32
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "203c7131-85a6-4fee-8475-8ef86e7414d4",
      "name": "Formatear alerta de incidente para Slack",
      "type": "n8n-nodes-base.code",
      "position": [
        720,
        -32
      ],
      "parameters": {
        "jsCode": "// n8n passes input as an array of items\nconst items = $input.all();\n\n// Expecting two objects: [alertData, jiraData]\nconst alertData = items[0].json;\nconst jiraData = items[1].json;\n\n// Merge them safely\nconst jiraKey = jiraData.key || \"N/A\";\nconst jiraLink = jiraData.self || \"N/A\";\nconst service = alertData.service || \"Unknown Service\";\nconst severity = alertData.severity || \"Unknown Severity\";\nconst description = alertData.description || \"No description provided.\";\n\n// Build the Slack message\nconst message = `🚨 *New Incident Created!*\n\n*Jira Key:* ${jiraKey}\n*Service:* ${service}\n*Severity:* ${severity}\n*Description:* ${description}\n\n🔗 [View in Jira](${jiraLink})\n_Automated via n8n Incident Workflow_`;\n\nreturn [\n  {\n    json: {\n      jiraKey,\n      jiraLink,\n      service,\n      severity,\n      description,\n      message,\n    },\n  },\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "9ddd6d0a-4d12-4782-bae8-a7a86c75b339",
      "name": "Alertar al equipo de guardia en Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        944,
        -32
      ],
      "webhookId": "97b0b4bb-4b13-4b4a-b0e2-f1c1aa70dad8",
      "parameters": {
        "text": "={{$json[\"message\"]}}\n",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "C09LGDSC6GM",
          "cachedResultName": "oncall"
        },
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "id": "rNqvWj9TfChPVRYY",
          "name": "Slack account vivek"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "1ddfdaca-339e-4c1c-b556-0642547e605d",
      "name": "Generar informe de línea de tiempo del incidente",
      "type": "n8n-nodes-base.code",
      "position": [
        1184,
        -32
      ],
      "parameters": {
        "jsCode": "const input = $input.item.json;\n\n// Extract Slack message text\nconst messageText = input.message?.text || \"No message text found.\";\n\n// Default placeholders\nlet jiraKey = \"Unknown\";\nlet service = \"Unknown\";\nlet severity = \"Unknown\";\nlet description = \"No description provided.\";\nlet jiraLink = \"\";\n\n// Parse from blocks\nif (input.message?.blocks && Array.isArray(input.message.blocks)) {\n  const elements = input.message.blocks[0]?.elements[0]?.elements || [];\n\n  for (let i = 0; i < elements.length; i++) {\n    const el = elements[i];\n    const text = (el.text || \"\").trim();\n\n    if (text.startsWith(\"SCRUM-\")) jiraKey = text;\n    if (text === \"API\") service = text;\n    if (text === \"High\" || text === \"Medium\" || text === \"Low\") severity = text;\n    if (text.includes(\"Response time\")) description = text;\n    if (el.type === \"link\" && el.url.includes(\"atlassian.net\")) jiraLink = el.url;\n  }\n}\n\n// Create the report text\nconst report = `\n════════════════════════════════════════════════════════════════\n                    INCIDENT TIMELINE REPORT\n════════════════════════════════════════════════════════════════\n\nIncident Key: ${jiraKey}\nService: ${service}\nSeverity: ${severity}\nDescription: ${description}\nStart Time: ${new Date().toLocaleString()}\n\n------------------------------------------------------------\nTimeline:\n- [${new Date().toLocaleString()}] Incident declared in Slack\n- [ ] Root cause identified\n- [ ] Fix deployed\n- [ ] Postmortem completed\n------------------------------------------------------------\n\nJira Link: ${jiraLink}\nSlack Channel: #oncall\n\n════════════════════════════════════════════════════════════════\n`;\n\nreturn [{\n  json: { jiraKey, service, severity, description, jiraLink, report }\n}];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "a397d4ed-a764-4a5c-947c-a35846d12bf1",
      "name": "Convertir línea de tiempo a archivo de texto",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        1504,
        -32
      ],
      "parameters": {
        "options": {
          "fileName": "=Incident-{{$json[\"jiraKey\"]}}.txt"
        },
        "operation": "toText",
        "sourceProperty": "report"
      },
      "typeVersion": 1.1
    },
    {
      "id": "89bff2d5-0927-41bf-a959-4f65ace76fa3",
      "name": "Registrar incidente en hoja de seguimiento de estado",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1488,
        -384
      ],
      "parameters": {
        "columns": {
          "value": {
            "Status": "=\"Investigating\"",
            "Service": "={{ $json.service }}",
            "Jira Key": "={{ $json.jiraKey }}",
            "Severity": "={{ $json.severity }}",
            "Timestamp": "={{$now}}"
          },
          "schema": [
            {
              "id": "Jira Key",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Jira Key",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Service",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Service",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Severity",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Severity",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Timestamp",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Timestamp",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1819778305,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y/edit#gid=1819778305",
          "cachedResultName": "status update"
        },
        "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": "a73f4bf6-4196-472c-8351-51a19f017f2f",
      "name": "Archivar línea de tiempo del incidente en Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1792,
        -32
      ],
      "parameters": {
        "name": "=Incident-Report-{{ $now.toISOString().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": "744d9530-fe3e-4620-bbe1-8f38fd44a879",
      "name": "Nota adhesiva9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        96,
        496
      ],
      "parameters": {
        "width": 304,
        "height": 416,
        "content": "## 📊 Log Jira Creation Failures to Error Sheet\n**Action:** Records Jira ticket creation failures to error tracking spreadsheet.\n\n**Description:**\n- Appends error details to \"error log sheet\" when Jira API fails\n- Captures: authentication errors, rate limiting, invalid configs, network issues\n- Creates queryable database for troubleshooting integration problems\n- Ensures no silent failures—every creation attempt documented\n- Helps identify patterns in API reliability\n- Critical for maintaining incident response SLA"
      },
      "typeVersion": 1
    },
    {
      "id": "ab12294c-05b5-4143-939a-242f0a432fd5",
      "name": "Nota adhesiva10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -240,
        240
      ],
      "parameters": {
        "height": 528,
        "content": "## ✅ Validate Jira Ticket Creation Success\n**Action:** Verifies Jira ticket was created successfully before proceeding.\n\n**Description:**\n- Checks if Jira response contains valid ticket key\n- **True Path:** Routes to Merge node for Slack alerts and timeline generation\n- **False Path:** Routes to error logging when creation fails\n- Prevents downstream processing of incomplete/failed responses\n- Catches auth failures, permission issues, API rate limiting\n- Critical quality gate for workflow reliability"
      },
      "typeVersion": 1
    },
    {
      "id": "dd851020-a962-46ac-89d6-85d873479b32",
      "name": "Validar éxito de creación de ticket en Jira",
      "type": "n8n-nodes-base.if",
      "position": [
        -176,
        80
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "b2ef1047-1b2f-4e10-bd6a-dcab015a7f99",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "=={{ $json[\"key\"] }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "e48b4e31-981b-49fc-a395-fd23827aae5a",
      "name": "Registrar fallos de creación en Jira en hoja de errores",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        192,
        320
      ],
      "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
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "4d3622bd-f789-440f-993f-4573a1734744",
  "connections": {
    "9b152b91-f8f5-472d-bb7f-115b89417238": {
      "main": [
        [
          {
            "node": "b6953fcb-1d76-4736-96c4-ff69fc4a815b",
            "type": "main",
            "index": 0
          },
          {
            "node": "492cf3b1-9ad6-4521-b7f5-b5a220174c01",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9ddd6d0a-4d12-4782-bae8-a7a86c75b339": {
      "main": [
        [
          {
            "node": "1ddfdaca-339e-4c1c-b556-0642547e605d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "492cf3b1-9ad6-4521-b7f5-b5a220174c01": {
      "main": [
        [
          {
            "node": "dd851020-a962-46ac-89d6-85d873479b32",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b6953fcb-1d76-4736-96c4-ff69fc4a815b": {
      "main": [
        [
          {
            "node": "203c7131-85a6-4fee-8475-8ef86e7414d4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a397d4ed-a764-4a5c-947c-a35846d12bf1": {
      "main": [
        [
          {
            "node": "a73f4bf6-4196-472c-8351-51a19f017f2f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "203c7131-85a6-4fee-8475-8ef86e7414d4": {
      "main": [
        [
          {
            "node": "9ddd6d0a-4d12-4782-bae8-a7a86c75b339",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1ddfdaca-339e-4c1c-b556-0642547e605d": {
      "main": [
        [
          {
            "node": "a397d4ed-a764-4a5c-947c-a35846d12bf1",
            "type": "main",
            "index": 0
          },
          {
            "node": "89bff2d5-0927-41bf-a959-4f65ace76fa3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "70b38182-4e4c-4f33-9955-18712a2734ef": {
      "main": [
        [
          {
            "node": "9b152b91-f8f5-472d-bb7f-115b89417238",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dd851020-a962-46ac-89d6-85d873479b32": {
      "main": [
        [
          {
            "node": "b6953fcb-1d76-4736-96c4-ff69fc4a815b",
            "type": "main",
            "index": 1
          }
        ],
        [
          {
            "node": "e48b4e31-981b-49fc-a395-fd23827aae5a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿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

¿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.

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos23
Categoría1
Tipos de nodos11
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Autor
Rahul Joshi

Rahul Joshi

@rahul08

Rahul 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.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34