Nur Formulareingaben – Doppellaut-Transkription --> KI-Zusammenfassung und Sentiment-Analyse --> Gmail-Verteilung

Experte

Dies ist ein Document Extraction, AI Summarization-Bereich Automatisierungsworkflow mit 22 Nodes. Hauptsächlich werden If, Code, Wait, Gmail, FormTrigger und andere Nodes verwendet. Audio-to-Executive Briefing: Transkription und Analyse mit AssemblyAI und GPT-4

Voraussetzungen
  • Google-Konto + Gmail API-Anmeldedaten
  • Google Drive API-Anmeldedaten
  • Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
  • 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": "wtRwIBJPAbnyUbe9",
  "meta": {
    "instanceId": "c6db2bbd15df605c52b03ec6457f801cfcd738d259ddbb148b61be2fb93e4e29",
    "templateCredsSetupCompleted": true
  },
  "name": "Only Onform submission_Two-Source Audio Transcription--> AI summary & Sentiment Analysis--> Gmail delivery",
  "tags": [],
  "nodes": [
    {
      "id": "45c9716a-3d65-4fdc-bdc1-8feb130ecf38",
      "name": "Warten",
      "type": "n8n-nodes-base.wait",
      "position": [
        -304,
        -240
      ],
      "webhookId": "8796adc6-5f2b-4859-a62e-925c59adf474",
      "parameters": {
        "amount": 10
      },
      "typeVersion": 1.1
    },
    {
      "id": "b1163157-dc8c-4573-a967-93a9dea55dcf",
      "name": "Wenn",
      "type": "n8n-nodes-base.if",
      "position": [
        64,
        -240
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "d49d90fa-7138-48b8-a149-7dfcc86a1dd9",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.status }}",
              "rightValue": "completed"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "62aec10f-d637-4cbb-b457-f9bd7a086932",
      "name": "Kurznotiz1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1264,
        -144
      ],
      "parameters": {
        "color": 4,
        "width": 736,
        "height": 432,
        "content": "### Execution flow Form submission + Local file\n#### Upload an audio file \n"
      },
      "typeVersion": 1
    },
    {
      "id": "8b93808e-44cb-4f86-aac7-c8ead6cca669",
      "name": "Kurznotiz2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -384,
        -368
      ],
      "parameters": {
        "color": 2,
        "width": 608,
        "height": 352,
        "content": "### Generate Transcript from Voice to text"
      },
      "typeVersion": 1
    },
    {
      "id": "bb2672af-35a4-4e59-8654-baba7b97d624",
      "name": "Kurznotiz3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        256,
        -368
      ],
      "parameters": {
        "color": 6,
        "width": 608,
        "height": 352,
        "content": "### Generate summary, Sentiment Analysis and send E-mail"
      },
      "typeVersion": 1
    },
    {
      "id": "ea81f226-67de-4a39-92d8-bf315845cd28",
      "name": "Kurznotiz4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -992,
        -96
      ],
      "parameters": {
        "color": 5,
        "width": 432,
        "height": 272,
        "content": " ### Assembly AI\n"
      },
      "typeVersion": 1
    },
    {
      "id": "d9e4b12c-80e2-480d-980d-379c751c9531",
      "name": "Kurznotiz6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -160,
        -304
      ],
      "parameters": {
        "color": 5,
        "width": 192,
        "height": 224,
        "content": " ### Assembly AI\n"
      },
      "typeVersion": 1
    },
    {
      "id": "f0d81a15-4490-47bf-8414-56c6348ec1bd",
      "name": "Transkript abrufen",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -96,
        -240
      ],
      "parameters": {
        "url": "=https://api.assemblyai.com/v2/transcript/{{ $json.id }}",
        "options": {},
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "authorization",
              "value": "<< PROVIDE YOUR ASSEMBLY API KEY >>"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "1957c1fe-7bc3-4db9-ab6e-f25daf24b5e7",
      "name": "Transkriptanalyse (KI)",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        320,
        -256
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ \"gpt-4.1-mini\" }}"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "You are a precise meeting analyst. Output must be valid JSON only."
            },
            {
              "role": "system",
              "content": "=Analyze the following transcript and return strict JSON:\n\nTranscript:\n{{ $node[\"Get Transcript\"].json[\"text\"] }}\n\nRequirements:\n- summary: 120–180 words, crisp and neutral\n- sentiment_label: one of [\"Positive\",\"Neutral\",\"Negative\"]\n- sentiment_score: number from -1 to 1\n- key_points: 5–8 bullet points (short phrases)\n- action_items: array of {owner, task, due?} if present, else []\n- notable_quotes: array of short verbatim quotes (<=120 chars)\n- topics: 3–6 tags\n\nReturn JSON with keys in snake_case:\n{\n  \"summary\": \"...\",\n  \"sentiment_label\": \"Positive\",\n  \"sentiment_score\": 0.64,\n  \"key_points\": [\"...\"],\n  \"action_items\": [{\"owner\":\"Alice\",\"task\":\"...\",\"due\":\"2025-09-30\"}],\n  \"notable_quotes\": [\"...\"],\n  \"topics\": [\"...\",\"...\"]\n}\nNo preamble or Markdown—JSON only."
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "id": "abJxg6bdFN3Tv87x",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "6c2e15bf-ee10-43b0-befc-49001a41a9e6",
      "name": "Analyse-E-Mail senden",
      "type": "n8n-nodes-base.gmail",
      "position": [
        512,
        -256
      ],
      "webhookId": "176798ab-298e-4ea9-b5c7-cf72c212fbfa",
      "parameters": {
        "sendTo": "=<< PROVIDE YOUR GMAIL ID >>",
        "message": "={{\n(() => {\n  const d = $node[\"Transcript Analysis (AI)\"].json.message.content;\n\n  const row = (label, value, i) =>\n    `<tr style=\"background-color:${i % 2 === 0 ? '#f9f9f9' : '#ffffff'};\">\n       <td style=\"padding:12px 16px;border:1px solid #ccc;font-weight:bold;width:220px;background:#f2f2f2;\">${label}</td>\n       <td style=\"padding:12px 16px;border:1px solid #ccc;\">${value || ''}</td>\n     </tr>`;\n\n  const ul = arr => `<ul style=\"margin:0;padding-left:22px;\">${(arr || []).map(x => `<li>${x}</li>`).join('')}</ul>`;\n\n  const actions = (d.action_items || []).length\n    ? `<ol style=\"margin:0;padding-left:22px;\">${d.action_items.map(a =>\n        `<li><strong>${a.owner || '—'}</strong>: ${a.task || ''}${a.due ? ' (Due: ' + a.due + ')' : ''}</li>`\n      ).join('')}</ol>`\n    : \"No explicit action items detected.\";\n\n  let html = `\n  <div style=\"font-family:Arial,sans-serif;font-size:16px;line-height:1.5;\">\n    <h2 style=\"color:#2c3e50;border-bottom:2px solid #2c3e50;padding-bottom:6px;margin-bottom:12px;\">Transcript Analysis</h2>\n    <table style=\"border-collapse:collapse;border:1px solid #ccc;width:100%;font-size:16px;\">\n      <thead>\n        <tr style=\"background:#2c3e50;color:#ffffff;\">\n          <th style=\"padding:12px 16px;text-align:left;width:220px;\">Section</th>\n          <th style=\"padding:12px 16px;text-align:left;\">Details</th>\n        </tr>\n      </thead>\n      <tbody>\n        ${row(\"Executive Summary\", d.summary, 0)}\n        ${row(\"Sentiment\", `<strong>Label:</strong> ${d.sentiment_label || ''}<br/><strong>Score:</strong> ${d.sentiment_score ?? ''}`, 1)}\n        ${row(\"Key Points\", ul(d.key_points), 2)}\n        ${row(\"Action Items\", actions, 3)}\n        ${row(\"Notable Quotes\", ul(d.notable_quotes), 4)}\n        ${row(\"Topics\", (d.topics || []).join(\", \"), 5)}\n      </tbody>\n    </table>\n  </div>\n  `;\n\n  return html;\n})()\n}}\n",
        "options": {},
        "subject": "=Transcript summary & sentiment – \n {{ $now.toISO() }} \n"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "Fy5fuwOcFQfLWPg8",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "19968c49-4e8b-41e4-89f6-54460867dbff",
      "name": "Kurznotiz7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1248,
        -720
      ],
      "parameters": {
        "color": 3,
        "width": 736,
        "height": 528,
        "content": "### Execution flow Form submission + Google Drive link\n#### Receive Google Drive Link "
      },
      "typeVersion": 1
    },
    {
      "id": "65a9f81c-f35a-445e-89d4-17388693fbef",
      "name": "Kurznotiz8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -992,
        -448
      ],
      "parameters": {
        "color": 5,
        "width": 448,
        "height": 240,
        "content": " ### Assembly AI\n"
      },
      "typeVersion": 1
    },
    {
      "id": "30f56c7f-ede6-4037-bce3-a5c43227e28f",
      "name": "Ende",
      "type": "n8n-nodes-base.noOp",
      "position": [
        704,
        -256
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "00ade2c9-7a3e-4e92-abff-342c71c0bc8f",
      "name": "Datei-ID aus Link extrahieren",
      "type": "n8n-nodes-base.code",
      "position": [
        -1040,
        -592
      ],
      "parameters": {
        "jsCode": "const link =\n  $json['Provide the URL/Link of the audio file'] ||\n  $json.drive_link ||\n  '';\n\nconst m = link.match(/(?:\\/d\\/|id=)([A-Za-z0-9_-]{20,})/);\nif (!m) {\n  throw new Error('Could not extract Google Drive file ID from the form field.');\n}\n\nreturn [{ fileId: m[1] }];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "9b86268c-57e6-4778-981b-f55d587be75d",
      "name": "Datei von Google Drive abrufen",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -784,
        -592
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.fileId }}"
        },
        "options": {
          "binaryPropertyName": "file"
        },
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "RVWXcWPinJDBkS1P",
          "name": "<< PROVIDE THE DRIVE NAME >>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "504cfac0-19d2-4d0a-b7e8-97be9f450212",
      "name": "Datei an AssemblyAI hochladen",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -928,
        -368
      ],
      "parameters": {
        "url": "https://api.assemblyai.com/v2/upload",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "binaryData",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "authorization",
              "value": "<< PROVIDE YOUR ASSEMBLY API KEY >>"
            }
          ]
        },
        "inputDataFieldName": "file"
      },
      "typeVersion": 4.2
    },
    {
      "id": "2b514d7f-49b2-4e82-aaa9-6ead8b7154bf",
      "name": "Audiodatei an AssemblyAI hochladen1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -944,
        -64
      ],
      "parameters": {
        "url": "https://api.assemblyai.com/v2/upload",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "binaryData",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "authorization",
              "value": "<< PROVIDE YOUR ASSEMBLY API KEY >>"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "inputDataFieldName": "Upload_file"
      },
      "typeVersion": 4.2
    },
    {
      "id": "25c8cc0e-f416-4d3b-b0e6-e96388cff8e8",
      "name": "Transkript von AssemblyAI anfordern",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -688,
        -368
      ],
      "parameters": {
        "url": "https://api.assemblyai.com/v2/transcript",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"audio_url\": \"{{$json.upload_url}}\",\n  \"speaker_labels\": false,\n  \"auto_highlights\": true,\n  \"punctuate\": true\n}\n",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "authorization",
              "value": "<< PROVIDE YOUR ASSEMBLY API KEY >>"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "78b5a8c9-8f58-41c1-bcee-b149a183d1c0",
      "name": "Transkript von AssemblyAI anfordern1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -704,
        -64
      ],
      "parameters": {
        "url": "https://api.assemblyai.com/v2/transcript",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "audio_url",
              "value": "={{ $json.upload_url }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "authorization",
              "value": "<< PROVIDE YOUR ASSEMBLY API KEY >>"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "9fac3888-e100-4d1c-8af7-9764a930177f",
      "name": "Audio_bei Formularübermittlung",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -1232,
        -592
      ],
      "webhookId": "5fcc6c50-5848-4f95-9cac-dc750a25dcc7",
      "parameters": {
        "options": {},
        "formTitle": "Upload your Audio file",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Name of the Audio file",
              "requiredField": true
            },
            {
              "fieldLabel": "Provide the URL/Link of the audio file",
              "requiredField": true
            },
            {
              "fieldType": "email",
              "fieldLabel": "E-mail",
              "placeholder": "abc@gmail.com",
              "requiredField": true
            }
          ]
        },
        "formDescription": "The audio file will be transcribed, Analysed and summarised. "
      },
      "typeVersion": 2.3
    },
    {
      "id": "6faa3fbf-269b-4bd3-9ff3-633ba4e88603",
      "name": "Audio_bei Formularübermittlung1",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -1216,
        48
      ],
      "webhookId": "ee0a5a6c-d73e-42e1-8f45-91c56db65f69",
      "parameters": {
        "options": {},
        "formTitle": "Upload your Audio file",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Name of the Audio file",
              "requiredField": true
            },
            {
              "fieldType": "file",
              "fieldLabel": "Upload file",
              "requiredField": true,
              "acceptFileTypes": "e.g .MP4"
            },
            {
              "fieldType": "email",
              "fieldLabel": "E-mail",
              "placeholder": "abc@gmail.com",
              "requiredField": true
            }
          ]
        },
        "formDescription": "The audio file will be transcribed, Analysed and summarised. "
      },
      "typeVersion": 2.3
    },
    {
      "id": "28b5a48c-2a91-4583-bd8a-aae180890768",
      "name": "Kurznotiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2016,
        -752
      ],
      "parameters": {
        "width": 656,
        "height": 1200,
        "content": "# Try It Out!\n\nThis n8n template demonstrates how to use AI to transform audio files into **actionable insights**.  \nIt supports both **local file uploads** and **Google Drive links**.  \n\n## How it works\n\n- Users upload an audio file **via form** or provide a **Google Drive link**  \n- Files are passed to **AssemblyAI** for transcription  \n- AssemblyAI converts audio → text with punctuation and highlights  \n- A loop with **Wait + If** ensures the transcript is ready before moving forward  \n- Transcript text is passed to **OpenAI** (via n8n LangChain)  \n- OpenAI generates a **structured summary** including:  \n  - Executive summary  \n  - Sentiment label + score  \n  - Key points and highlights  \n  - Action items (if detected)  \n  - Notable quotes  \n  - Topics  \n- The AI output is formatted into a **rich HTML email**  \n- Gmail node sends the email to the provided recipient  \n- The workflow ends with a clean, structured delivery  \n\n---\n\n## How to use\n\n- Replace the **manual trigger** with your own (e.g., webhook or form submission)  \n- Provide either a **local audio file** or a **Google Drive link**  \n- Ensure AssemblyAI and Gmail credentials are set in n8n  \n- Run the workflow end-to-end to generate insights  \n- Check your email inbox for the **analysis report**  \n- Use it for meetings, lectures, or podcasts instantly  \n\n---\n\n## Requirements\n\n- n8n instance with HTTP + Gmail integration  \n- **AssemblyAI account** for transcription  \n- **OpenAI account** (or equivalent LLM integration) for analysis  \n- Google Drive (optional, if using Drive links)  \n\n---\n\n## Need Help?\n\n- Join the [n8n Forum](https://community.n8n.io)  \n- Or connect with the n8n Discord community  \n\nHappyAutomating !!! \n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "719df1dc-95af-42bb-9cca-3a83b2f4b6b6",
  "connections": {
    "b1163157-dc8c-4573-a967-93a9dea55dcf": {
      "main": [
        [
          {
            "node": "1957c1fe-7bc3-4db9-ab6e-f25daf24b5e7",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "45c9716a-3d65-4fdc-bdc1-8feb130ecf38",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "45c9716a-3d65-4fdc-bdc1-8feb130ecf38": {
      "main": [
        [
          {
            "node": "f0d81a15-4490-47bf-8414-56c6348ec1bd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f0d81a15-4490-47bf-8414-56c6348ec1bd": {
      "main": [
        [
          {
            "node": "b1163157-dc8c-4573-a967-93a9dea55dcf",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6c2e15bf-ee10-43b0-befc-49001a41a9e6": {
      "main": [
        [
          {
            "node": "30f56c7f-ede6-4037-bce3-a5c43227e28f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9fac3888-e100-4d1c-8af7-9764a930177f": {
      "main": [
        [
          {
            "node": "00ade2c9-7a3e-4e92-abff-342c71c0bc8f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1957c1fe-7bc3-4db9-ab6e-f25daf24b5e7": {
      "main": [
        [
          {
            "node": "6c2e15bf-ee10-43b0-befc-49001a41a9e6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6faa3fbf-269b-4bd3-9ff3-633ba4e88603": {
      "main": [
        [
          {
            "node": "2b514d7f-49b2-4e82-aaa9-6ead8b7154bf",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "00ade2c9-7a3e-4e92-abff-342c71c0bc8f": {
      "main": [
        [
          {
            "node": "9b86268c-57e6-4778-981b-f55d587be75d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "504cfac0-19d2-4d0a-b7e8-97be9f450212": {
      "main": [
        [
          {
            "node": "25c8cc0e-f416-4d3b-b0e6-e96388cff8e8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9b86268c-57e6-4778-981b-f55d587be75d": {
      "main": [
        [
          {
            "node": "504cfac0-19d2-4d0a-b7e8-97be9f450212",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2b514d7f-49b2-4e82-aaa9-6ead8b7154bf": {
      "main": [
        [
          {
            "node": "78b5a8c9-8f58-41c1-bcee-b149a183d1c0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "25c8cc0e-f416-4d3b-b0e6-e96388cff8e8": {
      "main": [
        [
          {
            "node": "45c9716a-3d65-4fdc-bdc1-8feb130ecf38",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "78b5a8c9-8f58-41c1-bcee-b149a183d1c0": {
      "main": [
        [
          {
            "node": "45c9716a-3d65-4fdc-bdc1-8feb130ecf38",
            "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 - Dokumentenextraktion, 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 Nodes22
Kategorie2
Node-Typen10
Schwierigkeitsbeschreibung

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

Autor
Sridevi Edupuganti

Sridevi Edupuganti

@edupuganti

I help customers experience 10x faster ROI through AI Automation. AI Generalist | Pursuing Generative AI & ML(IIT-G) | Google Certified Prompt Engineer | Ex-VP | Ex-Microsoft | ISB Certified CTO & AI Leader | Azure & AI Strategist | 5X Azure | n8n level2 | Wellness Advocate & Cult Ninja

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34