Backup von N8N-Workflows auf Github

Experte

Dies ist ein Automatisierungsworkflow mit 30 Nodes. Hauptsächlich werden If, N8n, Set, Code, Wait und andere Nodes verwendet. Backup von N8N-Arbeitsabläufen zu GitHub

Voraussetzungen
  • GitHub Personal Access Token
  • Discord Bot Token oder Webhook

Kategorie

-
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "meta": {
    "instanceId": "7a94cd64cdcb53cb721e010cea9e90907c1dc5fd6766b2d732b573c42bb273f8",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "696255b0-7786-410c-927f-ffb4fa7784b9",
      "name": "Bei Klick auf 'Ausführen'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        400,
        -400
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "5ffbd7ff-596c-4d69-a327-95ab9e31c144",
      "name": "Haftnotiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        160,
        140
      ],
      "parameters": {
        "color": 6,
        "width": 2111,
        "height": 752,
        "content": "## Subworkflow"
      },
      "typeVersion": 1
    },
    {
      "id": "d552bfbd-24cc-43ab-b008-ba837525e234",
      "name": "Execute Workflow Trigger",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        180,
        540
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "4cf656ea-b62c-4c9a-9a2c-f3cd4736af6f",
      "name": "n8n",
      "type": "n8n-nodes-base.n8n",
      "position": [
        800,
        -300
      ],
      "parameters": {
        "filters": {},
        "requestOptions": {}
      },
      "credentials": {
        "n8nApi": {
          "id": "n99peePbw8bFtE9X",
          "name": "N8N Key (Github Backup)"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "bc776b1e-de7a-4c5c-ab3e-fc6ede7f6d93",
      "name": "Return",
      "type": "n8n-nodes-base.set",
      "position": [
        2140,
        340
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "8d513345-6484-431f-afb7-7cf045c90f4f",
              "name": "Done",
              "type": "boolean",
              "value": true
            }
          ]
        }
      },
      "typeVersion": 3.3
    },
    {
      "id": "cc1748c6-972e-4909-a0d9-2aada40e49b6",
      "name": "Wenn Datei zu groß",
      "type": "n8n-nodes-base.if",
      "position": [
        820,
        260
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 1,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "45ce825e-9fa6-430c-8931-9aaf22c42585",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.content }}",
              "rightValue": ""
            },
            {
              "id": "3ce332ca-3827-4c2d-becd-837da737d285",
              "operator": {
                "type": "string",
                "operation": "notExists",
                "singleValue": true
              },
              "leftValue": "={{ $json.error }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "68c529b3-8530-42c9-8efa-7c35ea6c24f0",
      "name": "Merge Items",
      "type": "n8n-nodes-base.merge",
      "position": [
        820,
        520
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "627cc21c-1f7f-4266-a558-357289bb2746",
      "name": "Gleiche Datei - Nichts tun",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1680,
        340
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "6e77f25e-b58c-4e23-a5c7-1951c36e59b6",
      "name": "Datei ist unterschiedlich",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1680,
        500
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "37d72317-7140-45eb-ac62-e88ec7b9fc97",
      "name": "Datei ist neu",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1680,
        700
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "770c9612-e6fb-4d6c-9a89-459e7d5acc31",
      "name": "Neue Datei erstellen",
      "type": "n8n-nodes-base.github",
      "position": [
        1900,
        700
      ],
      "webhookId": "fc6b1cf0-6440-4fb0-94bf-fadabb6ea1fd",
      "parameters": {
        "owner": {
          "__rl": true,
          "mode": "name",
          "value": "={{ $('Config').first().json.repo_owner }}"
        },
        "filePath": "={{ $('Create sub path').item.json.subPath }}/{{ $('Execute Workflow Trigger').first().json.id }}.json",
        "resource": "file",
        "repository": {
          "__rl": true,
          "mode": "name",
          "value": "={{ $('Config').first().json.repo_name }}"
        },
        "fileContent": "={{ JSON.stringify($('Config').first().json.data) }}",
        "commitMessage": "={{$('Execute Workflow Trigger').first().json.name}} ({{$json.githubStatus}})"
      },
      "credentials": {
        "githubApi": {
          "id": "nEsQmNXwV6LPvaNE",
          "name": "GitHub account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "121272d6-0535-494e-b14a-3cc00f87cb8d",
      "name": "Vorhandene Datei bearbeiten",
      "type": "n8n-nodes-base.github",
      "position": [
        1900,
        500
      ],
      "webhookId": "81fc5f33-06e3-4368-ba2e-0ef46dd8b021",
      "parameters": {
        "owner": {
          "__rl": true,
          "mode": "name",
          "value": "={{ $('Config').first().json.repo_owner }}"
        },
        "filePath": "={{ $('Create sub path').item.json.subPath }}/{{ $('Execute Workflow Trigger').first().json.id }}.json",
        "resource": "file",
        "operation": "edit",
        "repository": {
          "__rl": true,
          "mode": "name",
          "value": "={{ $('Config').first().json.repo_name }}"
        },
        "fileContent": "={{ JSON.stringify($('Config').first().json.data) }}",
        "commitMessage": "={{$('Execute Workflow Trigger').first().json.name}} ({{ $json.githubStatus }})"
      },
      "credentials": {
        "githubApi": {
          "id": "nEsQmNXwV6LPvaNE",
          "name": "GitHub account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "2847116a-c862-4803-8079-a40e4edd22f7",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1000,
        -300
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "ec0c92a3-73fa-480b-bdd3-e51648e8b0a0",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        400,
        -200
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "weeks",
              "triggerAtDay": [
                6
              ],
              "triggerAtHour": 1
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "289ec775-7191-4710-85e8-ae33542f9fbd",
      "name": "Unterpfad erstellen",
      "type": "n8n-nodes-base.set",
      "position": [
        1260,
        520
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "dae43d3b-56e5-4098-b602-862ebf5cd073",
              "name": "subPath",
              "type": "string",
              "value": "={{ $now.setZone('UTC').toFormat('yyyy') }}/{{ $now.setZone('UTC').toFormat('MM') }}/{{ $now.setZone('UTC').toFormat('dd') }}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.3
    },
    {
      "id": "b9bf504a-3acf-4706-992d-a522e9693df8",
      "name": "Haftnotiz2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        160,
        -500
      ],
      "parameters": {
        "color": 7,
        "width": 2113,
        "height": 616,
        "content": "## Main workflow loop"
      },
      "typeVersion": 1
    },
    {
      "id": "2470503e-cb6a-44a5-a4aa-b431874e2e09",
      "name": "Config",
      "type": "n8n-nodes-base.set",
      "position": [
        440,
        540
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "8f6d1741-772f-462a-811f-4c334185e4f0",
              "name": "repo_owner",
              "type": "string",
              "value": "=datproto"
            },
            {
              "id": "8cac215c-4fd7-422f-9fd2-6b2d1e5e0383",
              "name": "repo_name",
              "type": "string",
              "value": "=datproto-backup-n8n"
            },
            {
              "id": "2b38f96a-a970-4d13-900e-f15e4cd65c51",
              "name": "data",
              "type": "object",
              "value": "={{\n  {\n    \"nodes\": $('Execute Workflow Trigger').item.json.nodes,\n    \"connections\": $('Execute Workflow Trigger').item.json.connections,\n    \"pinData\": $('Execute Workflow Trigger').item.json.pinData,\n    \"meta\": $('Execute Workflow Trigger').item.json.meta\n  }\n}}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "a7d835f2-de5e-4121-acad-9041c126401c",
      "name": "Startnachricht",
      "type": "n8n-nodes-base.discord",
      "position": [
        600,
        -300
      ],
      "webhookId": "53d9dd11-ca31-4eea-8dc8-bac95c8bcc04",
      "parameters": {
        "content": "=The Git backup here. Below is my latest activity:\n```\n👉 Starting Workflow Backup [{{ $execution.id }}]\n```",
        "guildId": {
          "__rl": true,
          "mode": "list",
          "value": "1344944764851851344",
          "cachedResultUrl": "https://discord.com/channels/1344944764851851344",
          "cachedResultName": "Dat Proto's server"
        },
        "options": {},
        "resource": "message",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "1344944973958873212",
          "cachedResultUrl": "https://discord.com/channels/1344944764851851344/1344944973958873212",
          "cachedResultName": "n8n"
        }
      },
      "credentials": {
        "discordBotApi": {
          "id": "i8z7R64uXW2cjYik",
          "name": "N8N Bot"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "c71ddc51-cbf9-4437-b2b4-9d60f2e1a039",
      "name": "Abschlussbenachrichtigung",
      "type": "n8n-nodes-base.discord",
      "position": [
        1640,
        -440
      ],
      "webhookId": "53d9dd11-ca31-4eea-8dc8-bac95c8bcc04",
      "parameters": {
        "content": "=The Git backup here. Below is my latest activity:\n```\n✅ Backup has completed - {{ $('n8n').all().length }} workflows have been processed.\n```",
        "guildId": {
          "__rl": true,
          "mode": "list",
          "value": "1344944764851851344",
          "cachedResultUrl": "https://discord.com/channels/1344944764851851344",
          "cachedResultName": "Dat Proto's server"
        },
        "options": {},
        "resource": "message",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "1344944973958873212",
          "cachedResultUrl": "https://discord.com/channels/1344944764851851344/1344944973958873212",
          "cachedResultName": "n8n"
        }
      },
      "credentials": {
        "discordBotApi": {
          "id": "i8z7R64uXW2cjYik",
          "name": "N8N Bot"
        }
      },
      "executeOnce": true,
      "typeVersion": 2
    },
    {
      "id": "110ba2cd-6a39-4663-81d5-6b2893d42e18",
      "name": "Dateidaten abrufen",
      "type": "n8n-nodes-base.github",
      "position": [
        620,
        260
      ],
      "webhookId": "883c4829-4a9d-4320-ab49-226a5bc15863",
      "parameters": {
        "owner": {
          "__rl": true,
          "mode": "name",
          "value": "={{ $json.repo_owner }}"
        },
        "filePath": "={{ $now.setZone('UTC').toFormat('yyyy') }}/{{ $now.setZone('UTC').toFormat('MM') }}/{{ $now.setZone('UTC').toFormat('dd') }}/{{ $('Execute Workflow Trigger').item.json.id }}.json",
        "resource": "file",
        "operation": "get",
        "repository": {
          "__rl": true,
          "mode": "name",
          "value": "={{ $json.repo_name }}"
        },
        "asBinaryProperty": false,
        "additionalParameters": {}
      },
      "credentials": {
        "githubApi": {
          "id": "nEsQmNXwV6LPvaNE",
          "name": "GitHub account"
        }
      },
      "typeVersion": 1,
      "continueOnFail": true,
      "alwaysOutputData": true
    },
    {
      "id": "2bdbcb80-2c2b-4fb8-bddb-eb9e6c6db0e0",
      "name": "Execute Workflow",
      "type": "n8n-nodes-base.executeWorkflow",
      "onError": "continueErrorOutput",
      "position": [
        1420,
        -200
      ],
      "parameters": {
        "options": {},
        "workflowId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $workflow.id }}"
        },
        "workflowInputs": {
          "value": {},
          "schema": [],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": true
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "2366b904-8f2f-42ce-aa2f-fc941cb73ad4",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        1640,
        -100
      ],
      "webhookId": "577d599b-e2eb-4e7c-92aa-b9ca787cc40a",
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "e9ad632a-0506-4709-a485-67c45bf388f6",
      "name": "Datei abrufen",
      "type": "n8n-nodes-base.github",
      "position": [
        1040,
        240
      ],
      "webhookId": "81fc5f33-06e3-4368-ba2e-0ef46dd8b021",
      "parameters": {
        "owner": {
          "__rl": true,
          "mode": "name",
          "value": "={{ $('Config').item.json.repo_owner }}"
        },
        "filePath": "={{ $now.setZone('UTC').toFormat('yyyy') }}/{{ $now.setZone('UTC').toFormat('MM') }}/{{ $now.setZone('UTC').toFormat('dd') }}/{{ $('Execute Workflow Trigger').item.json.id }}.json",
        "resource": "file",
        "operation": "get",
        "repository": {
          "__rl": true,
          "mode": "name",
          "value": "={{ $('Config').item.json.repo_name }}"
        },
        "additionalParameters": {}
      },
      "credentials": {
        "githubApi": {
          "id": "nEsQmNXwV6LPvaNE",
          "name": "GitHub account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "656913c3-cb57-4129-ae12-42f70800a9ef",
      "name": "Wait1",
      "type": "n8n-nodes-base.wait",
      "position": [
        1420,
        -440
      ],
      "webhookId": "4a7448b4-930e-4110-b205-95c55cac5bba",
      "parameters": {
        "amount": 10
      },
      "typeVersion": 1.1
    },
    {
      "id": "09738ea8-1a61-4967-ac3d-2a9f64b39329",
      "name": "verifyTheDifference",
      "type": "n8n-nodes-base.code",
      "position": [
        1040,
        520
      ],
      "parameters": {
        "jsCode": "const _ = require(\"underscore\")\n\nlet fileInput = null\n\nif (Object.keys($input.first().json).includes(\"content\")) {\n  fileInput = JSON.parse(Buffer.from($input.all()[0].json.content, 'base64').toString())\n}\n\nconst n8nInput = $input.last().json.data\n\nif (!fileInput) {\n  return {\n    \"githubStatus\": \"new\"\n  }\n}\n\nif (_.isMatch(fileInput, n8nInput)) {\n  return {\n    \"githubStatus\": \"same\"\n  }\n} else {\n  return {\n    \"githubStatus\": \"different\"\n  }\n}"
      },
      "typeVersion": 2
    },
    {
      "id": "7cb7b34c-8742-44c3-9792-1084abf2783a",
      "name": "Switch",
      "type": "n8n-nodes-base.switch",
      "position": [
        1460,
        520
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "same",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "1e6de6b4-3074-41bc-8a9d-465c0eb9a773",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $('verifyTheDifference').first().json.githubStatus }}",
                    "rightValue": "same"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "different",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "cf6e130e-c85d-4a24-b11a-abfd0ecfcb19",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $('verifyTheDifference').first().json.githubStatus }}",
                    "rightValue": "different"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "=new",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "f2fc6dda-85f5-4b81-b016-3e033b1dbcab",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $('verifyTheDifference').first().json.githubStatus }}",
                    "rightValue": "new"
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "c6410f39-34d8-448f-9efd-d66da067637b",
      "name": "Wait2",
      "type": "n8n-nodes-base.wait",
      "position": [
        1640,
        -280
      ],
      "webhookId": "4a7448b4-930e-4110-b205-95c55cac5bba",
      "parameters": {
        "amount": 10
      },
      "typeVersion": 1.1
    },
    {
      "id": "a3c4ff40-9887-4e38-985a-f32536d9306f",
      "name": "Haftnotiz1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -540,
        -500
      ],
      "parameters": {
        "color": 4,
        "width": 680,
        "height": 1400,
        "content": "# Workflows backup to Github\n======================================================================\n\n## Introduction\nThis workflow will backup all of your existed workflows to a single Github repository.\n\nThe Backup folders' name are based on the current backup date and have default format: \"yyyy/MM/dd\" (setup at \"Create sub path\" node).\n\nThroughout the backup process, the N8N will inform user via discord with clear message about Start, Success and Failure backups.\n\n## Tech Stack\nThe following nodes / services / libraries are used in this workflow:\n\n### Nodes:\n1. **Discord:** To send message to configured setup channel.\n2. **N8N:** To get all workflows' information.\n3. **Github:** To store backup data.\n4. **Code:** To run data comparison (Existed vs Latest workflow data).\n5. **Wait:** To avoid discord message rate limit.\n\n### External libraries:\n1. **Underscore.js:** JavaScript library that provides lots of common Javascript functions, to help user save time when using code node.\n\n## Guideline\n1. Open \"Config\" node and setup the following information:\n    - **repo_owner:** Your Github username.\n    - **repo_name:** The repository that you want to store workflows backup data.\n2. Open \"Create sub path\" node and change the naming and path format of backup folder(s).\n3. Setup custom messages in 3 discord nodes:\n    - **Starting Message:** N8N inform user at the time workflow start.\n    - **Inform Success Flows:** After each success backup, N8N will notify user.\n    - **Inform Failed Flows:** After each failure backup, N8N will notify user to have appropriate action.\n    - **Completed Notifications:** Then at the final, the workflow will give user a summary."
      },
      "typeVersion": 1
    },
    {
      "id": "d511ce8a-1617-4a2a-96d8-6e71ddc372b7",
      "name": "Erfolgsflows informieren",
      "type": "n8n-nodes-base.discord",
      "onError": "continueRegularOutput",
      "position": [
        1840,
        -280
      ],
      "webhookId": "53d9dd11-ca31-4eea-8dc8-bac95c8bcc04",
      "parameters": {
        "content": "=The Git backup here. Below is my latest activity:\n```\n✅ Success to backup {{ $('Loop Over Items').item.json.id }}\n```",
        "guildId": {
          "__rl": true,
          "mode": "list",
          "value": "1344944764851851344",
          "cachedResultUrl": "https://discord.com/channels/1344944764851851344",
          "cachedResultName": "Dat Proto's server"
        },
        "options": {},
        "resource": "message",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "1344944973958873212",
          "cachedResultUrl": "https://discord.com/channels/1344944764851851344/1344944973958873212",
          "cachedResultName": "n8n"
        }
      },
      "credentials": {
        "discordBotApi": {
          "id": "i8z7R64uXW2cjYik",
          "name": "N8N Bot"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "21052f64-d4b6-4b67-8cb4-dd022a0dab71",
      "name": "Fehlgeschlagene Flows informieren",
      "type": "n8n-nodes-base.discord",
      "position": [
        1840,
        -100
      ],
      "webhookId": "53d9dd11-ca31-4eea-8dc8-bac95c8bcc04",
      "parameters": {
        "content": "=The Git backup here. Below is my latest activity:\n```\n👉 Failed to backup {{ $('Loop Over Items').item.json.id }}\n```",
        "guildId": {
          "__rl": true,
          "mode": "list",
          "value": "1344944764851851344",
          "cachedResultUrl": "https://discord.com/channels/1344944764851851344",
          "cachedResultName": "Dat Proto's server"
        },
        "options": {},
        "resource": "message",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "1344944973958873212",
          "cachedResultUrl": "https://discord.com/channels/1344944764851851344/1344944973958873212",
          "cachedResultName": "n8n"
        }
      },
      "credentials": {
        "discordBotApi": {
          "id": "i8z7R64uXW2cjYik",
          "name": "N8N Bot"
        }
      },
      "typeVersion": 2
    }
  ],
  "pinData": {},
  "connections": {
    "4cf656ea-b62c-4c9a-9a2c-f3cd4736af6f": {
      "main": [
        [
          {
            "node": "2847116a-c862-4803-8079-a40e4edd22f7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2366b904-8f2f-42ce-aa2f-fc941cb73ad4": {
      "main": [
        [
          {
            "node": "21052f64-d4b6-4b67-8cb4-dd022a0dab71",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "656913c3-cb57-4129-ae12-42f70800a9ef": {
      "main": [
        [
          {
            "node": "c71ddc51-cbf9-4437-b2b4-9d60f2e1a039",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c6410f39-34d8-448f-9efd-d66da067637b": {
      "main": [
        [
          {
            "node": "d511ce8a-1617-4a2a-96d8-6e71ddc372b7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2470503e-cb6a-44a5-a4aa-b431874e2e09": {
      "main": [
        [
          {
            "node": "68c529b3-8530-42c9-8efa-7c35ea6c24f0",
            "type": "main",
            "index": 1
          },
          {
            "node": "110ba2cd-6a39-4663-81d5-6b2893d42e18",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7cb7b34c-8742-44c3-9792-1084abf2783a": {
      "main": [
        [
          {
            "node": "627cc21c-1f7f-4266-a558-357289bb2746",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "6e77f25e-b58c-4e23-a5c7-1951c36e59b6",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "37d72317-7140-45eb-ac62-e88ec7b9fc97",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e9ad632a-0506-4709-a485-67c45bf388f6": {
      "main": [
        [
          {
            "node": "68c529b3-8530-42c9-8efa-7c35ea6c24f0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "37d72317-7140-45eb-ac62-e88ec7b9fc97": {
      "main": [
        [
          {
            "node": "770c9612-e6fb-4d6c-9a89-459e7d5acc31",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "68c529b3-8530-42c9-8efa-7c35ea6c24f0": {
      "main": [
        [
          {
            "node": "09738ea8-1a61-4967-ac3d-2a9f64b39329",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "110ba2cd-6a39-4663-81d5-6b2893d42e18": {
      "main": [
        [
          {
            "node": "cc1748c6-972e-4909-a0d9-2aada40e49b6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "770c9612-e6fb-4d6c-9a89-459e7d5acc31": {
      "main": [
        [
          {
            "node": "bc776b1e-de7a-4c5c-ab3e-fc6ede7f6d93",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "289ec775-7191-4710-85e8-ae33542f9fbd": {
      "main": [
        [
          {
            "node": "7cb7b34c-8742-44c3-9792-1084abf2783a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2847116a-c862-4803-8079-a40e4edd22f7": {
      "main": [
        [
          {
            "node": "656913c3-cb57-4129-ae12-42f70800a9ef",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "2bdbcb80-2c2b-4fb8-bddb-eb9e6c6db0e0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2bdbcb80-2c2b-4fb8-bddb-eb9e6c6db0e0": {
      "main": [
        [
          {
            "node": "c6410f39-34d8-448f-9efd-d66da067637b",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "2366b904-8f2f-42ce-aa2f-fc941cb73ad4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ec0c92a3-73fa-480b-bdd3-e51648e8b0a0": {
      "main": [
        [
          {
            "node": "a7d835f2-de5e-4121-acad-9041c126401c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a7d835f2-de5e-4121-acad-9041c126401c": {
      "main": [
        [
          {
            "node": "4cf656ea-b62c-4c9a-9a2c-f3cd4736af6f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6e77f25e-b58c-4e23-a5c7-1951c36e59b6": {
      "main": [
        [
          {
            "node": "121272d6-0535-494e-b14a-3cc00f87cb8d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cc1748c6-972e-4909-a0d9-2aada40e49b6": {
      "main": [
        [
          {
            "node": "e9ad632a-0506-4709-a485-67c45bf388f6",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "68c529b3-8530-42c9-8efa-7c35ea6c24f0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "121272d6-0535-494e-b14a-3cc00f87cb8d": {
      "main": [
        [
          {
            "node": "bc776b1e-de7a-4c5c-ab3e-fc6ede7f6d93",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "21052f64-d4b6-4b67-8cb4-dd022a0dab71": {
      "main": [
        [
          {
            "node": "2847116a-c862-4803-8079-a40e4edd22f7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "09738ea8-1a61-4967-ac3d-2a9f64b39329": {
      "main": [
        [
          {
            "node": "289ec775-7191-4710-85e8-ae33542f9fbd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d511ce8a-1617-4a2a-96d8-6e71ddc372b7": {
      "main": [
        [
          {
            "node": "2847116a-c862-4803-8079-a40e4edd22f7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "696255b0-7786-410c-927f-ffb4fa7784b9": {
      "main": [
        [
          {
            "node": "a7d835f2-de5e-4121-acad-9041c126401c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "627cc21c-1f7f-4266-a558-357289bb2746": {
      "main": [
        [
          {
            "node": "bc776b1e-de7a-4c5c-ab3e-fc6ede7f6d93",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d552bfbd-24cc-43ab-b008-ba837525e234": {
      "main": [
        [
          {
            "node": "2470503e-cb6a-44a5-a4aa-b431874e2e09",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
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

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 Nodes30
Kategorie-
Node-Typen16
Schwierigkeitsbeschreibung

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

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34