Automatisierte Tracking-Abhängigkeitsaktualisierung

Experte

Dies ist ein DevOps, AI Summarization-Bereich Automatisierungsworkflow mit 23 Nodes. Hauptsächlich werden If, Set, Code, Jira, Slack und andere Nodes verwendet. Abhängigkeitsaktualisierungsrisikoanalyse mit GPT-4o, Slack, Jira und Google Sheets

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

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Experte - DevOps, KI-Zusammenfassung

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes23
Kategorie2
Node-Typen11
Schwierigkeitsbeschreibung

Für fortgeschrittene Benutzer, komplexe Workflows mit 16+ Nodes

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.

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34