Construir un catálogo de errores de API basado en IA: de GitHub a Airtable, Notion y Slack

Avanzado

Este es unTicket Management, AI Summarizationflujo de automatización del dominio deautomatización que contiene 30 nodos.Utiliza principalmente nodos como If, Set, Code, Slack, Notion. Detectar y clasificar automáticamente errores de la API de GitHub en Airtable, Notion y Slack usando GPT-4o

Requisitos previos
  • Bot Token de Slack o URL de Webhook
  • Clave de API de Notion
  • Clave de API de Airtable
  • Personal Access Token de GitHub
  • Clave de API de OpenAI
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": "gceCBgo6PVxGolsl",
  "meta": {
    "instanceId": "8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177",
    "templateCredsSetupCompleted": true
  },
  "name": "Build AI-Powered API Error Catalog from GitHub to Airtable, Notion & Slack",
  "tags": [],
  "nodes": [
    {
      "id": "36883e78-6c02-40b3-8749-8f9c2ca8fcfe",
      "name": "Configuración del Disparador",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1760,
        -64
      ],
      "parameters": {
        "color": 2,
        "width": 564,
        "height": 376,
        "content": "## 🧭 GitHub Issue Trigger  \n\nListens for new or updated issues marked “bug” or “error.”  \nPrepares clean JSON data (title, body, repo, timestamp) for AI processing.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "7d3e76db-cb71-4139-8771-734579629862",
      "name": "Clasificación por IA",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1168,
        -176
      ],
      "parameters": {
        "color": 2,
        "width": 660,
        "height": 680,
        "content": "## 🤖 AI Classification & Parsing  \n\nAnalyzes the GitHub issue text using GPT-4o.  \nExtracts error type, root cause, and severity, then formats structured results for Airtable, Notion, and Slack."
      },
      "typeVersion": 1
    },
    {
      "id": "5e8dbb53-1a51-4ec8-8147-7bde48282472",
      "name": "Análisis de Respuesta",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -480,
        -144
      ],
      "parameters": {
        "color": 2,
        "width": 416,
        "height": 472,
        "content": "## ⚙️ Intelligent Routing  \n\n\nDecides which team should handle the issue based on AI classification.  \nRoutes the data to DevOps, Backend, Support, or API branches automatically."
      },
      "typeVersion": 1
    },
    {
      "id": "911ab0f0-4a1b-4981-9229-39eff9e5fea5",
      "name": "Slack Alertas",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        -352
      ],
      "parameters": {
        "color": 2,
        "width": 460,
        "height": 988,
        "content": "## 🗂️ Database Logging  \n\nSaves each analyzed error to Airtable and Notion for tracking and documentation.  \nMaps standard fields like Error Code, Category, Severity, and Suggested Action."
      },
      "typeVersion": 1
    },
    {
      "id": "34b1571d-94d4-4c19-83ca-66598c20e5b3",
      "name": "Preparar Datos del Problema GitHub",
      "type": "n8n-nodes-base.set",
      "position": [
        -1328,
        128
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "9dfaa4d6-3b16-48e5-8787-36d45fc877d7",
              "name": "Issue Title",
              "type": "string",
              "value": "={{ $json.body.issue.title }}"
            },
            {
              "id": "c1d46bc2-0774-4999-aaa2-80dda17efa9b",
              "name": "Issue Body",
              "type": "string",
              "value": "={{ $json.body.issue.body }}"
            },
            {
              "id": "05f2e592-a943-4fa3-92f7-e635cbd5019b",
              "name": "Issue URL",
              "type": "string",
              "value": "={{ $json.body.issue.html_url }}"
            },
            {
              "id": "6aeef038-6b7e-4953-9a30-518201d90e12",
              "name": "Issue Number",
              "type": "number",
              "value": "={{ $json.body.issue.number }}"
            },
            {
              "id": "ead4db1d-0c1a-49d6-83a7-6368feecbc3c",
              "name": "Repository Name",
              "type": "string",
              "value": "={{ $json.body.repository.full_name }}"
            },
            {
              "id": "0eb094bb-8360-4240-bb60-c1fdf8eebc97",
              "name": "Created At",
              "type": "string",
              "value": "={{ $json.body.repository.created_at }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "5bc68cc4-2dd7-4f06-aee1-720003d1a42e",
      "name": "Problema GitHub Creado/Actualizado",
      "type": "n8n-nodes-base.githubTrigger",
      "position": [
        -1552,
        128
      ],
      "webhookId": "api-error-catalog-webhook",
      "parameters": {
        "owner": {
          "__rl": true,
          "mode": "url",
          "value": "="
        },
        "events": [
          "issues"
        ],
        "options": {},
        "repository": {
          "__rl": true,
          "mode": "url",
          "value": "="
        },
        "authentication": "oAuth2"
      },
      "credentials": {
        "githubOAuth2Api": {
          "id": "Ih8web2ia8dlggr6",
          "name": "GitHub account vivek"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "6ac5f56a-aa1b-4236-a8df-ce3d242721c1",
      "name": "IA: Clasificar Error API (GPT-4o)",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -1056,
        128
      ],
      "parameters": {
        "text": "=Analyze this GitHub API error issue:\n\nTitle: {{ $json[\"Issue Title\"] }}\nRepository: {{ $json[\"Repository Name\"] }}\nIssue Number: #{{ $json[\"Issue Number\"] }}\nCreated: {{ $json[\"Created At\"] }}\nURL: {{ $json[\"Issue URL\"] }}\n\nIssue Details:\n{{ $json[\"Issue Body\"] }}\n\nPlease classify this error, identify the root cause, suggest a fix, and determine if it matches any existing FAQ category.",
        "options": {
          "systemMessage": "=You are an expert API error classification assistant for a SaaS engineering team.\n\nYour responsibilities include:\n1. Analyze GitHub issues related to API errors and exceptions.\n2. Extract and identify error codes, messages, and endpoints.\n3. Classify each error into one of the standard categories:\n   - Authentication\n   - Server Error\n   - Rate Limit\n   - Invalid Request\n   - Database\n   - Network\n   - Configuration\n   - Other\n4. Determine the root cause based on error patterns and context.\n5. Suggest a clear and actionable fix or next step.\n6. Assign a confidence level for your analysis (high / medium / low).\n7. Determine the severity level of the issue (critical / high / medium / low).\n8. Map the issue to an existing internal FAQ topic if relevant.\n9. Assign the responsible internal team based on the error category:\n   - **Backend Team** → Authentication, Database, Server Error\n   - **DevOps Team** → Infrastructure, Rate Limit, Network, Deployment\n   - **API Team** → Invalid Request, Configuration, Schema or Integration Issues\n   - **Support Team** → Other or unclear user-facing errors\n\nAlways respond in **valid JSON** following this exact schema:\n{\n  \"errorCode\": \"\",\n  \"category\": \"\",\n  \"faqMatch\": \"\",\n  \"rootCause\": \"\",\n  \"suggestedAction\": \"\",\n  \"confidence\": \"\",\n  \"severity\": \"\",\n  \"affectedEndpoint\": \"\",\n  \"assignedTeam\": \"\"\n}\n\nBe concise but thorough in your reasoning. Avoid non-JSON text or explanations outside the JSON.\n"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.1
    },
    {
      "id": "481c36b8-cbbe-49c6-9809-e2dc30f6f665",
      "name": "Modelo LLM: GPT-4o",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -1104,
        352
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "options": {
          "temperature": 0.7
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "5Kzt6hGSZ1JHZqWN",
          "name": "OpenAi account 2"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "ba53d5c2-177f-4ffa-84c8-6c1577c6ce03",
      "name": "Analizador de Salida: Esquema Estructurado JSON",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -848,
        352
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"errorCode\": \"AUTH-401\",\n  \"category\": \"Authentication\",\n  \"faqMatch\": \"Token Expiry Issues\",\n  \"rootCause\": \"Expired access token causing authorization failure on /api/v1/users\",\n  \"suggestedAction\": \"Implement token refresh mechanism and validate expiration logic.\",\n  \"confidence\": \"high\",\n  \"severity\": \"medium\",\n  \"affectedEndpoint\": \"/api/v1/users\",\n  \"assignedTeam\": \"Backend Team\"\n}\n"
      },
      "typeVersion": 1.3
    },
    {
      "id": "dba69663-c2b5-4f83-a378-547092bb9100",
      "name": "Búfer de Memoria de IA",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        -976,
        352
      ],
      "parameters": {
        "sessionKey": "\"AI Agent - Error Analyzer\"",
        "sessionIdType": "customKey"
      },
      "typeVersion": 1.3
    },
    {
      "id": "baa722d9-3f87-4391-83e1-30a39ec1942f",
      "name": "Analizar Salida de Clasificación de IA",
      "type": "n8n-nodes-base.code",
      "position": [
        -640,
        128
      ],
      "parameters": {
        "jsCode": "// Get all input items\nconst items = $input.all();\n\n// Process each item\nconst formattedItems = items.map(item => {\n  // Get AI output\n  const aiOutput = item.json.output || item.json;\n\n  // Get original issue data from earlier node\n  const issueData = $('Prepare GitHub Issue Data').first().json || {};\n\n  // Format for Airtable, Notion, and Slack\n  return {\n    json: {\n      // Original Issue Data\n      issueTitle: issueData.issueTitle || issueData[\"Issue Title\"] || \"Untitled Issue\",\n      issueUrl: issueData.issueUrl || issueData[\"Issue URL\"] || \"\",\n      issueNumber: issueData.issueNumber || issueData[\"Issue Number\"] || 0,\n      issueBody: issueData.issueBody || issueData[\"Issue Body\"] || \"\",\n      repoName: issueData.repoName || issueData[\"Repository Name\"] || \"\",\n      createdAt: issueData.createdAt || issueData[\"Created At\"] || new Date().toISOString(),\n\n      // AI Analysis Results\n      errorCode: aiOutput.errorCode || \"UNKNOWN\",\n      category: aiOutput.category || \"Uncategorized\",\n      faqMatch: aiOutput.faqMatch || \"No FAQ Match\",\n      rootCause: aiOutput.rootCause || \"Root cause unknown\",\n      suggestedAction: aiOutput.suggestedAction || \"Manual investigation required\",\n      confidence: aiOutput.confidence || \"low\",\n      severity: aiOutput.severity || \"medium\",\n      affectedEndpoint: aiOutput.affectedEndpoint || \"Unknown endpoint\",\n      assignedTeam: aiOutput.assignedTeam || \"Unassigned\",\n\n      // Additional metadata\n      analyzedAt: new Date().toISOString(),\n      status: \"pending_review\",\n\n      // 🧱 Formatted text for Notion description\n      notionDescription: `**Error Code:** ${aiOutput.errorCode}\n**Category:** ${aiOutput.category}\n**Severity:** ${aiOutput.severity}\n**Confidence:** ${aiOutput.confidence}\n**Assigned Team:** ${aiOutput.assignedTeam}\n\n**Root Cause:**\n${aiOutput.rootCause}\n\n**Suggested Action:**\n${aiOutput.suggestedAction}\n\n**Affected Endpoint:**\n${aiOutput.affectedEndpoint}\n\n**Original Issue:**\n${issueData.issueBody || issueData[\"Issue Body\"] || \"\"}`,\n\n      // 💬 Formatted text for Slack\n      slackMessage: `🚨 *New API Error Analyzed*\n\n*Error Code:* ${aiOutput.errorCode}\n*Category:* ${aiOutput.category}\n*Severity:* ${aiOutput.severity}\n*Confidence:* ${aiOutput.confidence}\n👥 *Assigned Team:* ${aiOutput.assignedTeam}\n\n*FAQ Match:* ${aiOutput.faqMatch}\n\n*Root Cause:*\n${aiOutput.rootCause}\n\n*Suggested Action:*\n${aiOutput.suggestedAction}\n\n*GitHub Issue:* ${issueData.issueUrl || issueData[\"Issue URL\"] || \"N/A\"}\n*Repository:* ${issueData.repoName || issueData[\"Repository Name\"] || \"N/A\"}`,\n\n      // 📊 Airtable fields object (ready to use)\n      airtableFields: {\n        \"Error Code\": aiOutput.errorCode,\n        \"Error Category\": aiOutput.category,\n        \"FAQ Match\": aiOutput.faqMatch,\n        \"Root Cause\": aiOutput.rootCause,\n        \"Suggested Action\": aiOutput.suggestedAction,\n        \"Confidence\": aiOutput.confidence,\n        \"Severity\": aiOutput.severity,\n        \"Affected Endpoint\": aiOutput.affectedEndpoint,\n        \"Assigned Team\": aiOutput.assignedTeam || \"Unassigned\",\n        \"Source URL\": issueData.issueUrl || issueData[\"Issue URL\"] || \"\",\n        \"Repository\": issueData.repoName || issueData[\"Repository Name\"] || \"\",\n        \"Issue Number\": issueData.issueNumber || issueData[\"Issue Number\"] || 0,\n        \"Status\": \"New\",\n        \"Created At\": new Date().toISOString()\n      }\n    }\n  };\n});\n\nreturn formattedItems;\n"
      },
      "typeVersion": 2
    },
    {
      "id": "fc8db243-9c6a-417f-a538-1c6c3dbc747b",
      "name": "Verificación: Respuesta de IA Válida o Datos Faltantes",
      "type": "n8n-nodes-base.if",
      "position": [
        -416,
        128
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 1,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "32a385f7-3200-4e72-9730-555b90a42751",
              "operator": {
                "type": "string",
                "operation": "isEmpty"
              },
              "leftValue": "={{ $json.id }}",
              "rightValue": ""
            },
            {
              "id": "0eca57c7-3933-4f19-856a-7f0d4dc08902",
              "operator": {
                "type": "object",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.airtableFields }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "8cd461a6-208e-4ff1-8fe5-744227986bd8",
      "name": "Enrutar por Equipo Asignado",
      "type": "n8n-nodes-base.switch",
      "position": [
        -192,
        96
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "6fca3214-bd0f-4b4e-9acc-c6806e43584c",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.assignedTeam }}",
                    "rightValue": "DevOps Team"
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "d416b5a4-a371-4f26-b46c-e7e2f8a5b8e3",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.assignedTeam }}",
                    "rightValue": "Backend Team"
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "b294f578-9eef-41db-99a4-63372b575be0",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.assignedTeam }}",
                    "rightValue": "Support Team"
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "8d5d93bb-502e-41c5-9df8-18410f493e0e",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.assignedTeam }}",
                    "rightValue": "API Team"
                  }
                ]
              }
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.3
    },
    {
      "id": "51f79f94-dc6c-41df-984d-fe25efb895ff",
      "name": "Airtable: Crear Registro (DevOps)",
      "type": "n8n-nodes-base.airtable",
      "position": [
        32,
        -160
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblZvyR7J8hndLlUZ",
          "cachedResultUrl": "https://airtable.com/appsZ3Uuh5PnD215s/tblZvyR7J8hndLlUZ",
          "cachedResultName": "Table 1"
        },
        "columns": {
          "value": {
            "Name": "={{ $json.issueTitle }}",
            "Status": "Todo",
            "Severity": "={{ $json.severity }}",
            "FAQ Match": "={{ $json.faqMatch }}",
            "Error Code": "={{ $json.airtableFields[\"Error Code\"] }}",
            "Repository": "={{ $json.airtableFields.Repository }}",
            "Root Cause": "={{ $json.rootCause }}",
            "Source URL": "={{ $json.airtableFields[\"Source URL\"] }}",
            "Error Category": "={{ $json.airtableFields[\"Error Category\"] }}",
            "Suggested Action": "={{ $json.suggestedAction }}",
            "Affected Endpoint": "={{ $json.affectedEndpoint }}"
          },
          "schema": [
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Notes",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Notes",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Assignee",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Assignee",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Todo",
                  "value": "Todo"
                },
                {
                  "name": "In progress",
                  "value": "In progress"
                },
                {
                  "name": "Done",
                  "value": "Done"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Attachments",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Attachments",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Attachment Summary",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Attachment Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Error Code",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Error Code",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Error Category",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Error Category",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "FAQ Match",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "FAQ Match",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Root Cause",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Root Cause",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Suggested Action",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Suggested Action",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Confidence",
              "type": "number",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Confidence",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Severity",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Severity",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Affected Endpoint",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Affected Endpoint",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Source URL",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Source URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Repository",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Repository",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Issue Number",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Issue Number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Created At",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Created At",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "create"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "nWc9JHR6t25WPWVV",
          "name": "Airtable Personal Access Token account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "be976a3b-ab8e-4095-9ba1-b36d47bc6817",
      "name": "Notion: Registrar Problema (DevOps)",
      "type": "n8n-nodes-base.notion",
      "position": [
        256,
        -160
      ],
      "parameters": {
        "title": "={{ $json.fields.Name }}",
        "simple": false,
        "options": {},
        "resource": "databasePage",
        "databaseId": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Status|status",
              "statusValue": "Todo"
            },
            {
              "key": "Error Category|select",
              "selectValue": "={{ $json.fields[\"Error Category\"] }}"
            },
            {
              "key": "FAQ Match|rich_text",
              "textContent": "={{ $json.fields[\"FAQ Match\"] }}"
            },
            {
              "key": "Root Cause|rich_text",
              "textContent": "={{ $json.fields[\"Root Cause\"] }}"
            },
            {
              "key": "Suggested Action|rich_text",
              "textContent": "={{ $json.fields[\"Suggested Action\"] }}"
            },
            {
              "key": "Severity|select",
              "selectValue": "High"
            },
            {
              "key": "Affected Endpoint|rich_text",
              "textContent": "={{ $json.fields[\"Affected Endpoint\"] }}"
            },
            {
              "key": "Source URL|url",
              "urlValue": "={{ $json.fields[\"Source URL\"] }}"
            },
            {
              "key": "Repository|rich_text",
              "textContent": "={{ $json.fields.Repository }}"
            },
            {
              "key": "Created At|date",
              "date": "={{ $json.fields[\"Created At\"] }}"
            }
          ]
        }
      },
      "credentials": {
        "notionApi": {
          "id": "E9jA8DFWT2IxdpMU",
          "name": "Notion account Vivek"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "63b1b8c7-f049-45e7-9985-ed0da37a66c2",
      "name": "Slack Notificar: Equipo DevOps",
      "type": "n8n-nodes-base.slack",
      "position": [
        480,
        -160
      ],
      "webhookId": "4fdaef14-d3a3-4e8b-af66-ec277655146d",
      "parameters": {
        "text": "=:rotating_light: *New API Error FAQ Entry*\n\n*Error Code:* {{ $('Airtable: Create Record (DevOps)').item.json.fields['Error Code'] }}\n*Category:* {{ $('Airtable: Create Record (DevOps)').item.json.fields['Error Category'] }}\n*FAQ Match:* {{ $('Airtable: Create Record (DevOps)').item.json.fields['FAQ Match'] }}\n\n*Suggested Action:*  {{ $('Airtable: Create Record (DevOps)').item.json.fields['Suggested Action'] }}\n\n*GitHub Issue:* {{ $('Parse AI Classification Output').item.json.issueUrl }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": ""
        },
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "id": "rNqvWj9TfChPVRYY",
          "name": "Slack account vivek"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "294932fc-d262-4915-98d1-be5d4a2357c5",
      "name": "Notion: Registrar Problema (Backend)",
      "type": "n8n-nodes-base.notion",
      "position": [
        32,
        32
      ],
      "parameters": {
        "title": "={{ $json.airtableFields[\"Error Code\"] }}",
        "simple": false,
        "options": {},
        "resource": "databasePage",
        "databaseId": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Status|status",
              "statusValue": "Todo"
            },
            {
              "key": "Error Category|select",
              "selectValue": "={{ $json.airtableFields[\"Error Category\"] }}"
            },
            {
              "key": "FAQ Match|rich_text",
              "textContent": "={{ $json.airtableFields[\"FAQ Match\"] }}"
            },
            {
              "key": "Root Cause|rich_text",
              "textContent": "={{ $json.airtableFields[\"Root Cause\"] }}"
            },
            {
              "key": "Suggested Action|rich_text",
              "textContent": "={{ $json.airtableFields[\"Suggested Action\"] }}"
            },
            {
              "key": "Severity|select",
              "selectValue": "High"
            },
            {
              "key": "Affected Endpoint|rich_text",
              "textContent": "={{ $json.airtableFields[\"Affected Endpoint\"] }}"
            },
            {
              "key": "Source URL|url",
              "urlValue": "={{ $json.airtableFields[\"Source URL\"] }}"
            },
            {
              "key": "Repository|rich_text",
              "textContent": "={{ $json.airtableFields.Repository }}"
            },
            {
              "key": "Created At|date",
              "date": "={{ $json.airtableFields[\"Created At\"] }}"
            }
          ]
        }
      },
      "credentials": {
        "notionApi": {
          "id": "E9jA8DFWT2IxdpMU",
          "name": "Notion account Vivek"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "924557fe-310e-43d9-a477-50e195ea9a38",
      "name": "Slack Notificar: Equipo Backend",
      "type": "n8n-nodes-base.slack",
      "position": [
        256,
        32
      ],
      "webhookId": "4fdaef14-d3a3-4e8b-af66-ec277655146d",
      "parameters": {
        "text": "=:rotating_light: *New API Error FAQ Entry*\n\n*Error Code:* {{ $('Airtable: Create Record (DevOps)').item.json.fields['Error Code'] }}\n*Category:* {{ $('Airtable: Create Record (DevOps)').item.json.fields['Error Category'] }}\n*FAQ Match:* {{ $('Airtable: Create Record (DevOps)').item.json.fields['FAQ Match'] }}\n\n*Suggested Action:*  {{ $('Airtable: Create Record (DevOps)').item.json.fields['Suggested Action'] }}\n\n*GitHub Issue:* {{ $('Parse AI Classification Output').item.json.issueUrl }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": ""
        },
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "id": "rNqvWj9TfChPVRYY",
          "name": "Slack account vivek"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "f2160801-0978-4a63-8bba-07b44f075606",
      "name": "Airtable: Crear Registro (Soporte)",
      "type": "n8n-nodes-base.airtable",
      "position": [
        32,
        224
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblZvyR7J8hndLlUZ",
          "cachedResultUrl": "https://airtable.com/appsZ3Uuh5PnD215s/tblZvyR7J8hndLlUZ",
          "cachedResultName": "Table 1"
        },
        "columns": {
          "value": {
            "Name": "={{ $json.issueTitle }}",
            "Status": "Todo",
            "Severity": "={{ $json.severity }}",
            "FAQ Match": "={{ $json.faqMatch }}",
            "Error Code": "={{ $json.airtableFields[\"Error Code\"] }}",
            "Repository": "={{ $json.airtableFields.Repository }}",
            "Root Cause": "={{ $json.rootCause }}",
            "Source URL": "={{ $json.airtableFields[\"Source URL\"] }}",
            "Error Category": "={{ $json.airtableFields[\"Error Category\"] }}",
            "Suggested Action": "={{ $json.suggestedAction }}",
            "Affected Endpoint": "={{ $json.affectedEndpoint }}"
          },
          "schema": [
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Notes",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Notes",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Assignee",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Assignee",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Todo",
                  "value": "Todo"
                },
                {
                  "name": "In progress",
                  "value": "In progress"
                },
                {
                  "name": "Done",
                  "value": "Done"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Attachments",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Attachments",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Attachment Summary",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Attachment Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Error Code",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Error Code",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Error Category",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Error Category",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "FAQ Match",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "FAQ Match",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Root Cause",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Root Cause",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Suggested Action",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Suggested Action",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Confidence",
              "type": "number",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Confidence",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Severity",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Severity",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Affected Endpoint",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Affected Endpoint",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Source URL",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Source URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Repository",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Repository",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Issue Number",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Issue Number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Created At",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Created At",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "create"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "nWc9JHR6t25WPWVV",
          "name": "Airtable Personal Access Token account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "c3bcb44a-b3ce-4da0-8fd3-507dad3d1a99",
      "name": "Slack Notificar: Equipo de Soporte",
      "type": "n8n-nodes-base.slack",
      "position": [
        480,
        224
      ],
      "webhookId": "4fdaef14-d3a3-4e8b-af66-ec277655146d",
      "parameters": {
        "text": "=:rotating_light: *New API Error FAQ Entry*\n\n*Error Code:* {{ $('Airtable: Create Record (Support)').item.json.fields['Error Code'] }}\n*Category:* {{ $('Airtable: Create Record (Support)').item.json.fields['Error Category'] }}\n*FAQ Match:* {{ $('Airtable: Create Record (Support)').item.json.fields['FAQ Match'] }}\n\n*Suggested Action:*  {{ $('Airtable: Create Record (Support)').item.json.fields['Suggested Action'] }}\n\n*GitHub Issue:* {{ $('Parse AI Classification Output').item.json.issueUrl }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": ""
        },
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "id": "rNqvWj9TfChPVRYY",
          "name": "Slack account vivek"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "89a3e79b-89a9-498e-86cd-9fc06a920889",
      "name": "Airtable: Crear Registro (Equipo API)",
      "type": "n8n-nodes-base.airtable",
      "position": [
        32,
        416
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblZvyR7J8hndLlUZ",
          "cachedResultUrl": "https://airtable.com/appsZ3Uuh5PnD215s/tblZvyR7J8hndLlUZ",
          "cachedResultName": "Table 1"
        },
        "columns": {
          "value": {
            "Name": "={{ $json.issueTitle }}",
            "Status": "Todo",
            "Severity": "={{ $json.severity }}",
            "FAQ Match": "={{ $json.faqMatch }}",
            "Error Code": "={{ $json.airtableFields[\"Error Code\"] }}",
            "Repository": "={{ $json.airtableFields.Repository }}",
            "Root Cause": "={{ $json.rootCause }}",
            "Source URL": "={{ $json.airtableFields[\"Source URL\"] }}",
            "Error Category": "={{ $json.airtableFields[\"Error Category\"] }}",
            "Suggested Action": "={{ $json.suggestedAction }}",
            "Affected Endpoint": "={{ $json.affectedEndpoint }}"
          },
          "schema": [
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Notes",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Notes",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Assignee",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Assignee",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Todo",
                  "value": "Todo"
                },
                {
                  "name": "In progress",
                  "value": "In progress"
                },
                {
                  "name": "Done",
                  "value": "Done"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Attachments",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Attachments",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Attachment Summary",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Attachment Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Error Code",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Error Code",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Error Category",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Error Category",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "FAQ Match",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "FAQ Match",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Root Cause",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Root Cause",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Suggested Action",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Suggested Action",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Confidence",
              "type": "number",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Confidence",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Severity",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Severity",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Affected Endpoint",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Affected Endpoint",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Source URL",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Source URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Repository",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Repository",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Issue Number",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Issue Number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Created At",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Created At",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "create"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "nWc9JHR6t25WPWVV",
          "name": "Airtable Personal Access Token account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "e619b7fc-f78b-4899-af27-a97d73578515",
      "name": "Notion: Registrar Problema (Equipo de Soporte)",
      "type": "n8n-nodes-base.notion",
      "position": [
        256,
        224
      ],
      "parameters": {
        "title": "={{ $json.fields.Name }}",
        "simple": false,
        "options": {},
        "resource": "databasePage",
        "databaseId": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Status|status",
              "statusValue": "Todo"
            },
            {
              "key": "Error Category|select",
              "selectValue": "={{ $json.fields[\"Error Category\"] }}"
            },
            {
              "key": "FAQ Match|rich_text",
              "textContent": "={{ $json.fields[\"FAQ Match\"] }}"
            },
            {
              "key": "Root Cause|rich_text",
              "textContent": "={{ $json.fields[\"Root Cause\"] }}"
            },
            {
              "key": "Suggested Action|rich_text",
              "textContent": "={{ $json.fields[\"Suggested Action\"] }}"
            },
            {
              "key": "Severity|select",
              "selectValue": "High"
            },
            {
              "key": "Affected Endpoint|rich_text",
              "textContent": "={{ $json.fields[\"Affected Endpoint\"] }}"
            },
            {
              "key": "Source URL|url",
              "urlValue": "={{ $json.fields[\"Source URL\"] }}"
            },
            {
              "key": "Repository|rich_text",
              "textContent": "={{ $json.fields.Repository }}"
            },
            {
              "key": "Created At|date",
              "date": "={{ $json.fields[\"Created At\"] }}"
            }
          ]
        }
      },
      "credentials": {
        "notionApi": {
          "id": "E9jA8DFWT2IxdpMU",
          "name": "Notion account Vivek"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "eaded3ea-f394-45f8-ad39-cdb71ee40e56",
      "name": "Notion: Registrar Problema (Equipo API)",
      "type": "n8n-nodes-base.notion",
      "position": [
        256,
        416
      ],
      "parameters": {
        "title": "={{ $json.fields.Name }}",
        "simple": false,
        "options": {},
        "resource": "databasePage",
        "databaseId": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Status|status",
              "statusValue": "Todo"
            },
            {
              "key": "Error Category|select",
              "selectValue": "={{ $json.fields[\"Error Category\"] }}"
            },
            {
              "key": "FAQ Match|rich_text",
              "textContent": "={{ $json.fields[\"FAQ Match\"] }}"
            },
            {
              "key": "Root Cause|rich_text",
              "textContent": "={{ $json.fields[\"Root Cause\"] }}"
            },
            {
              "key": "Suggested Action|rich_text",
              "textContent": "={{ $json.fields[\"Suggested Action\"] }}"
            },
            {
              "key": "Severity|select",
              "selectValue": "High"
            },
            {
              "key": "Affected Endpoint|rich_text",
              "textContent": "={{ $json.fields[\"Affected Endpoint\"] }}"
            },
            {
              "key": "Source URL|url",
              "urlValue": "={{ $json.fields[\"Source URL\"] }}"
            },
            {
              "key": "Repository|rich_text",
              "textContent": "={{ $json.fields.Repository }}"
            },
            {
              "key": "Created At|date",
              "date": "={{ $json.fields[\"Created At\"] }}"
            }
          ]
        }
      },
      "credentials": {
        "notionApi": {
          "id": "E9jA8DFWT2IxdpMU",
          "name": "Notion account Vivek"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "5f83906a-f47d-4fad-99d8-916ddf9249c7",
      "name": "Notificar al Equipo API",
      "type": "n8n-nodes-base.slack",
      "position": [
        480,
        416
      ],
      "webhookId": "4fdaef14-d3a3-4e8b-af66-ec277655146d",
      "parameters": {
        "text": "=:rotating_light: *New API Error FAQ Entry*\n\n*Error Code:* {{ $('Airtable: Create Record (API Team)').item.json.fields['Error Code'] }}\n*Category:* {{ $('Airtable: Create Record (API Team)').item.json.fields['Error Category'] }}\n*FAQ Match:* {{ $('Airtable: Create Record (API Team)').item.json.fields['FAQ Match'] }}\n\n*Suggested Action:*  {{ $('Airtable: Create Record (API Team)').item.json.fields['Suggested Action'] }}\n\n*GitHub Issue:* {{ $('Parse AI Classification Output').item.json.issueUrl }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": ""
        },
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "id": "rNqvWj9TfChPVRYY",
          "name": "Slack account vivek"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "72f825c7-add5-49b8-9458-dd4fa4e916b7",
      "name": "Disparador del Manejador de Errores",
      "type": "n8n-nodes-base.errorTrigger",
      "position": [
        -1616,
        640
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "eb4f81f3-7256-4624-b8f5-a8050effbd57",
      "name": "Slack: Enviar Alerta de Error",
      "type": "n8n-nodes-base.slack",
      "position": [
        -1408,
        640
      ],
      "webhookId": "d5eff2c3-ff6e-4116-bdda-59455acd861b",
      "parameters": {
        "text": "=❌ *Error in API Error Catalog Workflow* *Node:* {{ $json.node.name }} *Message:* {{ $json.error.message }} *Time:* {{ $json.timestamp }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": ""
        },
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "id": "rNqvWj9TfChPVRYY",
          "name": "Slack account vivek"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "7c0f800e-2632-4c48-b0ab-da4672f352ae",
      "name": "Nota Adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1888,
        496
      ],
      "parameters": {
        "color": 2,
        "width": 672,
        "height": 336,
        "content": "## 🚨 Error Handling \n\n \nCatches any workflow failure and posts an alert to Slack.  \nIncludes node name, error message, and timestamp for quick debugging.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "07514bfc-fd27-44e9-b269-25ef437daa3e",
      "name": "Nota Adhesiva3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1776,
        -592
      ],
      "parameters": {
        "width": 512,
        "height": 416,
        "content": "## 🧩 Build AI-Powered API Error Catalog  \n### How it works\nThis workflow automatically listens for new GitHub issues labeled as “bug” or “error”, classifies them with OpenAI GPT-4o, and logs structured insights into Airtable, Notion, and Slack.  \nIt routes each issue to the correct internal team (DevOps, Backend, Support, or API) and provides an AI-suggested fix and FAQ match.\n\n### Setup steps\n1. Connect your **GitHub** account and select your repository.\n2. Add your **OpenAI** credentials (GPT-4o or GPT-4o-mini).\n3. Connect **Airtable** and create a table with matching field names.\n4. Connect **Notion** and select your database (status, category, etc.).\n5. Connect **Slack** and set your target channel IDs.\n6. Run once manually to initialize webhook triggers.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "616d9e85-fd78-40be-9508-1aea10a8896f",
      "name": "Nota Adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        432,
        -352
      ],
      "parameters": {
        "color": 2,
        "height": 976,
        "content": "## 💬 Slack Alerts  \nSends team-specific alerts summarizing the error, category, and recommended fix.  \nHelps each team act quickly on critical issues."
      },
      "typeVersion": 1
    },
    {
      "id": "8f53d912-7112-4496-bbee-a5c084fc3765",
      "name": "Nota Adhesiva2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1248,
        -592
      ],
      "parameters": {
        "width": 320,
        "height": 272,
        "content": "## 🔐 Credentials & Security\n\n  \n- Use OAuth2 for GitHub and Slack.  \n- API Keys for OpenAI, Airtable, and Notion.  \n- Remove personal IDs or base URLs before publishing.  \n- Test with dummy accounts before sharing the workflow.\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "7b4afc5d-daca-4124-ac02-953beffca4a2",
  "connections": {
    "dba69663-c2b5-4f83-a378-547092bb9100": {
      "ai_memory": [
        [
          {
            "node": "6ac5f56a-aa1b-4236-a8df-ce3d242721c1",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "481c36b8-cbbe-49c6-9809-e2dc30f6f665": {
      "ai_languageModel": [
        [
          {
            "node": "6ac5f56a-aa1b-4236-a8df-ce3d242721c1",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "72f825c7-add5-49b8-9458-dd4fa4e916b7": {
      "main": [
        [
          {
            "node": "eb4f81f3-7256-4624-b8f5-a8050effbd57",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8cd461a6-208e-4ff1-8fe5-744227986bd8": {
      "main": [
        [
          {
            "node": "51f79f94-dc6c-41df-984d-fe25efb895ff",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "294932fc-d262-4915-98d1-be5d4a2357c5",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "f2160801-0978-4a63-8bba-07b44f075606",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "89a3e79b-89a9-498e-86cd-9fc06a920889",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "34b1571d-94d4-4c19-83ca-66598c20e5b3": {
      "main": [
        [
          {
            "node": "6ac5f56a-aa1b-4236-a8df-ce3d242721c1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "be976a3b-ab8e-4095-9ba1-b36d47bc6817": {
      "main": [
        [
          {
            "node": "63b1b8c7-f049-45e7-9985-ed0da37a66c2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "294932fc-d262-4915-98d1-be5d4a2357c5": {
      "main": [
        [
          {
            "node": "924557fe-310e-43d9-a477-50e195ea9a38",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5bc68cc4-2dd7-4f06-aee1-720003d1a42e": {
      "main": [
        [
          {
            "node": "34b1571d-94d4-4c19-83ca-66598c20e5b3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "eaded3ea-f394-45f8-ad39-cdb71ee40e56": {
      "main": [
        [
          {
            "node": "5f83906a-f47d-4fad-99d8-916ddf9249c7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "baa722d9-3f87-4391-83e1-30a39ec1942f": {
      "main": [
        [
          {
            "node": "fc8db243-9c6a-417f-a538-1c6c3dbc747b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6ac5f56a-aa1b-4236-a8df-ce3d242721c1": {
      "main": [
        [
          {
            "node": "baa722d9-3f87-4391-83e1-30a39ec1942f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "51f79f94-dc6c-41df-984d-fe25efb895ff": {
      "main": [
        [
          {
            "node": "be976a3b-ab8e-4095-9ba1-b36d47bc6817",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e619b7fc-f78b-4899-af27-a97d73578515": {
      "main": [
        [
          {
            "node": "c3bcb44a-b3ce-4da0-8fd3-507dad3d1a99",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f2160801-0978-4a63-8bba-07b44f075606": {
      "main": [
        [
          {
            "node": "e619b7fc-f78b-4899-af27-a97d73578515",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "89a3e79b-89a9-498e-86cd-9fc06a920889": {
      "main": [
        [
          {
            "node": "eaded3ea-f394-45f8-ad39-cdb71ee40e56",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ba53d5c2-177f-4ffa-84c8-6c1577c6ce03": {
      "ai_outputParser": [
        [
          {
            "node": "6ac5f56a-aa1b-4236-a8df-ce3d242721c1",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "fc8db243-9c6a-417f-a538-1c6c3dbc747b": {
      "main": [
        [
          {
            "node": "8cd461a6-208e-4ff1-8fe5-744227986bd8",
            "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 - Gestión de tickets, 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

Sistema de derivación y resumen de soporte al cliente con IA
Procesamiento automático de soporte al cliente con GPT-4o, Slack e integración CRM
If
Set
Code
+
If
Set
Code
32 NodosNodeAlchemy
Gestión de tickets
🎧 Robot de automatización de soporte de voz IT – conversión de mensajes de voz de Telegram a tickets de JIRA (usando OpenAI Whisper)
Convertir mensajes de voz de Telegram automáticamente en tickets JIRA con Whisper y GPT-4.1 Mini
If
Set
Code
+
If
Set
Code
25 NodosTrung Tran
Gestión de tickets
Usar GPT-4 para automatizar la generación de informes matutinos diarios de ClickUp a Slack y Gmail
Generar un informe matutino impulsado por IA desde ClickUp con GPT-4o y enviar a Slack y Gmail
If
Code
Gmail
+
If
Code
Gmail
27 NodosRahul Joshi
Pruebas de FAQ sobre límites de velocidad y autenticación de API
Usar GPT-4o-mini, Google Sheets y recordatorios de Slack para automatizar las pruebas de calidad de preguntas frecuentes de la API
If
Set
Code
+
If
Set
Code
19 NodosRahul Joshi
Extracción de documentos
Asistente de correo electrónico inteligente con clasificación de IA, borrador de Gmail y notificación de Slack
Automatización de la gestión de correos con clasificación de OpenAI, borradores de Gmail y recordatorios de Slack
Set
Code
Gmail
+
Set
Code
Gmail
16 NodosFabian ZNTL
Gestión de tickets
Proceso SmartSupport: procesamiento automático de solicitudes de IT de correo a Jira con notificaciones de Slack
Convertir correos electrónicos automáticamente en tickets Jira con soluciones de IA y recordatorios de Slack
If
Set
Jira
+
If
Set
Jira
25 NodosTrung Tran
Gestión de tickets
Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos30
Categoría2
Tipos de nodos14
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