KI-gesteuerte Rekrutierungsprozess mit GPT-4o-mini: Von der Bewerbungsfilterung bis zur Interviewplanung

Experte

Dies ist ein HR, AI Summarization-Bereich Automatisierungsworkflow mit 21 Nodes. Hauptsächlich werden Slack, Filter, Webhook, Airtable, EmailSend und andere Nodes verwendet. Automatisierung der Rekrutierung mit GPT-4o-mini in Airtable: Von der Resume-Sichtung bis zur Interview-Planung

Voraussetzungen
  • Slack Bot Token oder Webhook URL
  • HTTP Webhook-Endpunkt (wird von n8n automatisch generiert)
  • Airtable API Key
  • 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": "i7hRouNsQLAJJg4F",
  "meta": {
    "instanceId": "b91e510ebae4127f953fd2f5f8d40d58ca1e71c746d4500c12ae86aad04c1502"
  },
  "name": "AI-Powered GPT-4o-mini Recruitment Pipeline: CV Screening to Interview Scheduler",
  "tags": [],
  "nodes": [
    {
      "id": "2a69b990-5536-4825-81e2-682ef75fe7a2",
      "name": "Webhook-Trigger - Lebenslauf empfangen",
      "type": "n8n-nodes-base.webhook",
      "position": [
        112,
        352
      ],
      "webhookId": "21c60b52-4d15-48a2-9a70-d51be54905e1",
      "parameters": {
        "path": "candidate-cv",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "responseNode"
      },
      "typeVersion": 2
    },
    {
      "id": "6e476a4e-e2bb-4298-9ddc-5829aeb8306f",
      "name": "Airtable - Kandidat speichern",
      "type": "n8n-nodes-base.airtable",
      "position": [
        304,
        208
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appXXXXXXXXXXXXXX",
          "cachedResultName": "Candidates"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblCandidates",
          "cachedResultName": "Candidates"
        },
        "columns": {
          "value": {
            "Name": "={{ $json.body.name }}",
            "Email": "={{ $json.body.email }}",
            "Phone": "={{ $json.body.phone }}",
            "CV_URL": "={{ $json.body.cv_url }}",
            "Status": "New Application",
            "Application_Date": "={{ $now.toISO() }}",
            "Position_Applied": "={{ $json.body.position }}"
          },
          "mappingMode": "defineBelow"
        },
        "options": {},
        "operation": "create",
        "authentication": "oAuth2"
      },
      "typeVersion": 2
    },
    {
      "id": "56b8fd3c-8f51-44c5-a39c-80c002da4cc7",
      "name": "HTTP-Anfrage - Lebenslauf herunterladen",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        272,
        432
      ],
      "parameters": {
        "url": "={{ $('Webhook - Receive CV').item.json.body.cv_url }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "477e1bb2-ddce-4655-b148-5eddff7a0672",
      "name": "AI - Lebenslaufdaten extrahieren",
      "type": "@n8n/n8n-nodes-langchain.informationExtractor",
      "position": [
        400,
        432
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "0fdb2b79-b63d-42be-9ddc-2cee4cf5a83c",
      "name": "OpenAI-Chat-Modell",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        400,
        592
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "ea434fe7-5922-4413-9d94-a1bb049a1a13",
      "name": "Airtable - Stellenanforderungen abrufen",
      "type": "n8n-nodes-base.airtable",
      "position": [
        464,
        224
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appXXXXXXXXXXXXXX",
          "cachedResultName": "Candidates"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblJobRequirements",
          "cachedResultName": "Job Requirements"
        },
        "options": {},
        "operation": "search",
        "authentication": "oAuth2",
        "filterByFormula": "=AND({Position}='{{ $('Webhook - Receive CV').item.json.body.position }}', {Active}=TRUE())"
      },
      "typeVersion": 2
    },
    {
      "id": "529064ba-9f1e-4a4c-aa5e-ccbae81f2e57",
      "name": "KI-Agent - Qualifikationsbewertung",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        704,
        352
      ],
      "parameters": {
        "text": "=You are a recruitment AI assistant. Analyze if this candidate matches the job requirements.\n\nCandidate Profile:\n{{ $json.text }}\n\nJob Requirements:\n- Position: {{ $('Airtable - Get Job Requirements').item.json.Position }}\n- Required Experience: {{ $('Airtable - Get Job Requirements').item.json.Required_Experience }} years\n- Required Skills: {{ $('Airtable - Get Job Requirements').item.json.Required_Skills }}\n- Education Required: {{ $('Airtable - Get Job Requirements').item.json.Education_Required }}\n- Nice to Have: {{ $('Airtable - Get Job Requirements').item.json.Nice_To_Have }}\n\nProvide:\n1. Match Score (0-100)\n2. Qualification Status (Highly Qualified / Qualified / Potentially Qualified / Not Qualified)\n3. Strengths (3 key points)\n4. Gaps (areas where candidate doesn't meet requirements)\n5. Recommendation (Interview / Phone Screen / Reject)\n\nFormat as JSON: {\"match_score\": number, \"status\": string, \"strengths\": [string], \"gaps\": [string], \"recommendation\": string, \"reasoning\": string}",
        "options": {
          "systemMessage": "You are an expert recruitment AI that provides objective, fair candidate assessments based on qualifications and job requirements."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.7
    },
    {
      "id": "2f34882a-fce9-4f89-9563-438f9aa82795",
      "name": "OpenAI-Chat-Modell Assessment",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        704,
        576
      ],
      "parameters": {
        "model": "gpt-4o",
        "options": {
          "temperature": 0.3
        }
      },
      "typeVersion": 1
    },
    {
      "id": "c68e5f48-5033-45f5-b7a7-75bfa8f472b6",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        864,
        576
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "259d8989-fd79-402d-8993-00eafc43e86c",
      "name": "Airtable - Bewertung aktualisieren",
      "type": "n8n-nodes-base.airtable",
      "position": [
        976,
        352
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appXXXXXXXXXXXXXX",
          "cachedResultName": "Candidates"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblCandidates",
          "cachedResultName": "Candidates"
        },
        "columns": {
          "value": {
            "Skills": "={{ $('AI - Extract CV Data').item.json.skills.join(', ') }}",
            "Status": "={{ $json.recommendation === 'Reject' ? 'Rejected' : 'Qualified' }}",
            "AI_Gaps": "={{ $json.gaps.join(', ') }}",
            "Education": "={{ $('AI - Extract CV Data').item.json.education }}",
            "Match_Score": "={{ $json.match_score }}",
            "AI_Reasoning": "={{ $json.reasoning }}",
            "AI_Strengths": "={{ $json.strengths.join(', ') }}",
            "Years_Experience": "={{ $('AI - Extract CV Data').item.json.years_experience }}",
            "AI_Recommendation": "={{ $json.recommendation }}",
            "Qualification_Status": "={{ $json.status }}"
          },
          "mappingMode": "defineBelow"
        },
        "options": {},
        "operation": "update",
        "authentication": "oAuth2"
      },
      "typeVersion": 2
    },
    {
      "id": "dda61fa4-8d96-40d3-aa9f-2feac1b03fe9",
      "name": "Filter - Qualifizierte Kandidaten",
      "type": "n8n-nodes-base.filter",
      "position": [
        1136,
        224
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "f8db4e5d-3c5e-4e0a-a0a5-d4c8e2d0a3f1",
              "operator": {
                "type": "string",
                "operation": "notEquals"
              },
              "leftValue": "={{ $json.recommendation }}",
              "rightValue": "Reject"
            }
          ]
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "eb06c596-bfed-4bd2-8d5d-6eec33740b1b",
      "name": "KI-Agent - E-Mail generieren",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1296,
        224
      ],
      "parameters": {
        "text": "=Generate a personalized recruitment email for this candidate.\n\nCandidate: {{ $('Airtable - Store Candidate').item.json.Name }}\nPosition: {{ $('Webhook - Receive CV').item.json.body.position }}\nMatch Score: {{ $json.match_score }}\nStatus: {{ $json.status }}\nRecommendation: {{ $json.recommendation }}\n\nKey Strengths:\n{{ $json.strengths.join('\\n') }}\n\nEmail should:\n- Be professional and warm\n- Congratulate them on their application\n- Mention 1-2 specific strengths that stood out\n- {{ $json.recommendation === 'Interview' ? 'Invite them for a formal interview' : 'Suggest a preliminary phone screening' }}\n- Include next steps\n- Be concise (150-200 words)\n\nProvide: {\"subject\": string, \"body\": string}",
        "options": {
          "systemMessage": "You are a professional recruitment communications specialist. Write engaging, personalized emails that make candidates feel valued."
        },
        "promptType": "define"
      },
      "typeVersion": 1.7
    },
    {
      "id": "558ed33e-f2e1-41a6-af31-699ba4324675",
      "name": "OpenAI-Chat-Modell Email",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1296,
        448
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "OGYj7DgYv5GFLFZk",
          "name": "OpenAi account 2"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "12222fa6-a277-4af1-8cbb-7b27c67ea2d0",
      "name": "Send E-Mail - Candidate Outreach",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        1584,
        224
      ],
      "webhookId": "88019c7f-4d4b-4fda-af01-f3021ccb399c",
      "parameters": {
        "options": {},
        "subject": "={{ $json.subject }}",
        "toEmail": "={{ $('Airtable - Store Candidate').item.json.Email }}",
        "fromEmail": "recruitment@company.com"
      },
      "typeVersion": 2.1
    },
    {
      "id": "72a2753a-535f-4e77-9901-a4007124c76a",
      "name": "Filter - Interviewkandidaten",
      "type": "n8n-nodes-base.filter",
      "position": [
        1760,
        224
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "a2c4f6e8-1b3d-4a7c-9e5f-0d8b2c4a6e1f",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $('AI Agent - Qualification Assessment').item.json.recommendation }}",
              "rightValue": "Interview"
            }
          ]
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "0a7e25e8-767a-4e1f-ae2e-c398efabca7c",
      "name": "Google Kalender - Interview planen",
      "type": "n8n-nodes-base.googleCalendar",
      "position": [
        1984,
        224
      ],
      "parameters": {
        "end": "={{ $now.plus({ days: 3, hours: 1 }).toISO() }}",
        "start": "={{ $now.plus({ days: 3 }).toISO() }}",
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "primary",
          "cachedResultName": "Primary"
        },
        "additionalFields": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "7d6c9426-4719-4516-b8f5-dcd5e86170f3",
      "name": "Airtable - Interviewdetails aktualisieren",
      "type": "n8n-nodes-base.airtable",
      "position": [
        2208,
        224
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appXXXXXXXXXXXXXX",
          "cachedResultName": "Candidates"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblCandidates",
          "cachedResultName": "Candidates"
        },
        "columns": {
          "value": {
            "Status": "Interview Scheduled",
            "Interview_Link": "={{ $json.hangoutLink }}",
            "Calendar_Event_ID": "={{ $json.id }}",
            "Interview_Scheduled": "={{ $json.start.dateTime }}"
          },
          "mappingMode": "defineBelow"
        },
        "options": {},
        "operation": "update",
        "authentication": "oAuth2"
      },
      "typeVersion": 2
    },
    {
      "id": "993a2d90-9ec0-4ba5-9c3f-0704704dd8ae",
      "name": "Slack - Benachrichtigung senden",
      "type": "n8n-nodes-base.slack",
      "position": [
        1664,
        432
      ],
      "webhookId": "e7445fd1-5292-4e82-923a-e979940ba3b3",
      "parameters": {
        "text": "=🎯 *New Candidate Processed*\n\n*Candidate:* {{ $('Airtable - Store Candidate').item.json.Name }}\n*Position:* {{ $('Webhook - Receive CV').item.json.body.position }}\n*Match Score:* {{ $('AI Agent - Qualification Assessment').item.json.match_score }}%\n*Status:* {{ $('AI Agent - Qualification Assessment').item.json.status }}\n*Recommendation:* {{ $('AI Agent - Qualification Assessment').item.json.recommendation }}\n\n*Key Strengths:*\n{{ $('AI Agent - Qualification Assessment').item.json.strengths.map((s, i) => `${i+1}. ${s}`).join('\\n') }}\n\n{{ $('AI Agent - Qualification Assessment').item.json.recommendation === 'Interview' ? '📅 *Interview Scheduled:* ' + $now.plus({ days: 3 }).toFormat('MMM dd, yyyy HH:mm') : '📞 *Next Step:* Phone screening' }}\n\n<https://airtable.com/appXXXXXXXXXXXXXX/tblCandidates/{{ $('Airtable - Store Candidate').item.json.id }}|View in Airtable>",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "C0123456789",
          "cachedResultName": "#recruitment"
        },
        "otherOptions": {}
      },
      "typeVersion": 2.2
    },
    {
      "id": "9d640257-d798-4d6a-97ad-0e1344c459b9",
      "name": "Respond to Webhook-Trigger",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        2384,
        352
      ],
      "parameters": {
        "options": {},
        "respondWith": "json",
        "responseBody": "={{ {\n  \"success\": true,\n  \"candidate_id\": $('Airtable - Store Candidate').item.json.id,\n  \"name\": $('Airtable - Store Candidate').item.json.Name,\n  \"match_score\": $('AI Agent - Qualification Assessment').item.json.match_score,\n  \"status\": $('AI Agent - Qualification Assessment').item.json.status,\n  \"recommendation\": $('AI Agent - Qualification Assessment').item.json.recommendation,\n  \"message\": \"Application processed successfully\"\n} }}"
      },
      "typeVersion": 1.1
    },
    {
      "id": "1ca1599c-5e50-4231-b384-73e58678fce9",
      "name": "Haftnotiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        -80
      ],
      "parameters": {
        "width": 480,
        "height": 640,
        "content": "## Introduction\nAutomate candidate evaluation from CV submission to interview booking. Perfect for HR teams and recruiters.\n## How It Works\nWebhook receives CVs, extracts Airtable data, AI assesses qualifications, filters candidates, sends emails, schedules Google Calendar interviews, and updates records.\n## Workflow Template\nWebhook → Airtable (Get Data) → AI Extract CV → AI Assessment → Filter Qualified → Generate Email → Send Email → Filter Interview Candidates → Schedule Calendar → Update Airtable → Slack Notification → Respond\n## Workflow Steps\n1. Receive & Store: Webhook receives CVs, saves to Airtable.\n2. Fetch & Download: Gets job criteria, downloads CVs.\n3. AI Assessment: Parses skills, scores candidates.\n4. Filter & Email: Routes qualified, sends messages.\n5. Schedule & Update: Books interviews, updates Airtable.\n6. Notify: Alerts via Slack, confirms status.\n## Setup Instructions\n1. **Webhook & Airtable:** Set URL, create tables, add credentials.\n2. **AI Configuration:** Add OpenAI key, define schema, customize scoring.\n3. **Communication:** Connect Gmail, Calendar, and Slack.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "7c2b3a99-8480-4344-a98f-7a223ad253ef",
      "name": "Haftnotiz1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        640,
        -80
      ],
      "parameters": {
        "color": 6,
        "width": 448,
        "height": 384,
        "content": "\n## Prerequisites\n- Airtable account\n- OpenAI API key\n- Gmail and Google Calendar\n- Slack workspace (optional)\n\n## Customization\n- Multi-stage scheduling\n- ATS integration (Greenhouse, Lever)\n\n## Benefits\n- Reduces screening time by 90%\n- Ensures uniform evaluation\n- Cuts time-to-hire by 60%"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "32b604ba-da3d-49a1-89dc-7e8a37f787b7",
  "connections": {
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "477e1bb2-ddce-4655-b148-5eddff7a0672",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "477e1bb2-ddce-4655-b148-5eddff7a0672": {
      "main": [
        [
          {
            "node": "AI Agent - Qualifikationsbewertung",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook - Lebenslauf empfangen": {
      "main": [
        [
          {
            "node": "6e476a4e-e2bb-4298-9ddc-5829aeb8306f",
            "type": "main",
            "index": 0
          },
          {
            "node": "HTTP Request - Lebenslauf herunterladen",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model Email": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent - E-Mail generieren",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "c68e5f48-5033-45f5-b7a7-75bfa8f472b6": {
      "ai_outputParser": [
        [
          {
            "node": "AI Agent - Qualifikationsbewertung",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent - E-Mail generieren": {
      "main": [
        [
          {
            "node": "Send Email - Candidate Outreach",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "993a2d90-9ec0-4ba5-9c3f-0704704dd8ae": {
      "main": [
        [
          {
            "node": "Respond to Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6e476a4e-e2bb-4298-9ddc-5829aeb8306f": {
      "main": [
        [
          {
            "node": "ea434fe7-5922-4413-9d94-a1bb049a1a13",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request - Lebenslauf herunterladen": {
      "main": [
        [
          {
            "node": "477e1bb2-ddce-4655-b148-5eddff7a0672",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "259d8989-fd79-402d-8993-00eafc43e86c": {
      "main": [
        [
          {
            "node": "dda61fa4-8d96-40d3-aa9f-2feac1b03fe9",
            "type": "main",
            "index": 0
          },
          {
            "node": "993a2d90-9ec0-4ba5-9c3f-0704704dd8ae",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model Assessment": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent - Qualifikationsbewertung",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "72a2753a-535f-4e77-9901-a4007124c76a": {
      "main": [
        [
          {
            "node": "Google Calendar - Interview planen",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dda61fa4-8d96-40d3-aa9f-2feac1b03fe9": {
      "main": [
        [
          {
            "node": "AI Agent - E-Mail generieren",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ea434fe7-5922-4413-9d94-a1bb049a1a13": {
      "main": [
        [
          {
            "node": "AI Agent - Qualifikationsbewertung",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Email - Candidate Outreach": {
      "main": [
        [
          {
            "node": "72a2753a-535f-4e77-9901-a4007124c76a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent - Qualifikationsbewertung": {
      "main": [
        [
          {
            "node": "259d8989-fd79-402d-8993-00eafc43e86c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7d6c9426-4719-4516-b8f5-dcd5e86170f3": {
      "main": [
        [
          {
            "node": "Respond to Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Calendar - Interview planen": {
      "main": [
        [
          {
            "node": "7d6c9426-4719-4516-b8f5-dcd5e86170f3",
            "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 - Personalwesen, 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 Nodes21
Kategorie2
Node-Typen13
Schwierigkeitsbeschreibung

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

Autor
Cheng Siong Chin

Cheng Siong Chin

@cschin

Prof. Cheng Siong CHIN serves as Chair Professor in Intelligent Systems Modelling and Simulation in Newcastle University, Singapore. His academic credentials include an M.Sc. in Advanced Control and Systems Engineering from The University of Manchester and a Ph.D. in Robotics from Nanyang Technological University.

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34