System zur vorläufigen Vergabe von Zertifikaten für Seminare
Dies ist ein Document Extraction-Bereich Automatisierungsworkflow mit 24 Nodes. Hauptsächlich werden If, Code, Gmail, Merge, GoogleDrive und andere Nodes verwendet. Automatisiertes Workshop-Zertifikatssystem, integriert mit JotForm, E-Mail-Verifikation und Google Workspace
- •Google-Konto + Gmail API-Anmeldedaten
- •Google Drive API-Anmeldedaten
- •Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
- •Google Sheets API-Anmeldedaten
Verwendete Nodes (24)
Kategorie
{
"id": "",
"meta": {
"instanceId": "",
"templateCredsSetupCompleted": false
},
"name": "Workshop Certificate Pre-Issuance System",
"tags": [],
"nodes": [
{
"id": "5e7bec79-8951-4388-890c-73e37a6ef8b2",
"name": "IF - E-Mail gültig?",
"type": "n8n-nodes-base.if",
"position": [
560,
560
],
"parameters": {
"conditions": {
"boolean": [
{
"value1": "={{ $json.valid }}",
"value2": "={{ true }}"
}
]
}
},
"typeVersion": 1
},
{
"id": "1e9a2800-bab2-47f2-8fff-5f52f0d3e903",
"name": "Zertifikatsdaten vorbereiten",
"type": "n8n-nodes-base.code",
"position": [
880,
368
],
"parameters": {
"jsCode": "// Get current item (merged data)\nconst data = $input.first().json;\n\n// Build full name\nconst fullName = `${data[\"Full Name\"].first} ${data[\"Full Name\"].last}`.trim();\n\n// Format date\nconst dateObj = data[\"Select Workshop Date\"];\nconst displayDate = new Date(`${dateObj.year}-${dateObj.month}-${dateObj.day}`).toLocaleDateString('en-US', {\n year: 'numeric',\n month: 'long',\n day: 'numeric'\n});\n\n// QR Code URL\nconst verificationUrl = `https://your-domain.com/verify?email=${encodeURIComponent(data.Email)}&event=${encodeURIComponent(data[\"Select Workshop\"])}`;\n\n// Unique Certificate ID\nconst certificateId = `CERT-${Date.now().toString(36).toUpperCase()}-${Math.random().toString(36).substr(2, 5).toUpperCase()}`;\n\n// Return clean data for HTML\nreturn [\n {\n json: {\n name: fullName,\n email: data.Email,\n event: data[\"Select Workshop\"],\n date: displayDate,\n qrCodeUrl: `https://api.qrserver.com/v1/create-qr-code/?data=${encodeURIComponent(verificationUrl)}&size=200x200&margin=10`,\n verificationUrl: verificationUrl,\n certificateId: certificateId,\n verifiedAt: new Date().toISOString(),\n emailProvider: data.details?.mx?.provider || \"Unknown\",\n isValid: data.valid\n }\n }\n];"
},
"typeVersion": 2
},
{
"id": "ff60e9dc-464e-4b54-8bbd-1e90874436d5",
"name": "PDF-Datei herunterladen",
"type": "n8n-nodes-base.httpRequest",
"position": [
1536,
368
],
"parameters": {
"url": "={{ $json.pdf_url }}",
"options": {
"response": {
"response": {
"responseFormat": "file",
"outputPropertyName": "pdfData"
}
}
}
},
"typeVersion": 4.2
},
{
"id": "f8ec0f94-b7c6-43c8-8598-7cb5e324b523",
"name": "Bestätigungs-E-Mail senden",
"type": "n8n-nodes-base.gmail",
"position": [
2464,
368
],
"webhookId": "",
"parameters": {
"sendTo": "={{ $('Prepare Certificate Data').item.json.email }}",
"message": "=<!DOCTYPE html>\n<html>\n<head>\n <meta charset=\"utf-8\">\n <style>\n body { font-family: 'Segoe UI', Tahoma, sans-serif; background: #f4f4f9; color: #333; padding: 20px; }\n .container { max-width: 600px; margin: auto; background: white; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }\n .header { background: #1a5fb4; color: white; padding: 30px; text-align: center; }\n .header h1 { margin: 0; font-size: 24px; }\n .body { padding: 30px; line-height: 1.6; }\n .highlight { background: #e3f2fd; padding: 15px; border-radius: 8px; margin: 20px 0; font-weight: bold; }\n .qr { text-align: center; margin: 25px 0; }\n .qr img { width: 140px; height: 140px; border: 1px solid #ddd; padding: 8px; border-radius: 8px; }\n .footer { background: #f0f0f0; padding: 20px; text-align: center; font-size: 12px; color: #777; }\n .btn { display: inline-block; background: #1a5fb4; color: white; padding: 12px 24px; text-decoration: none; border-radius: 6px; margin-top: 15px; font-weight: bold; }\n </style>\n</head>\n<body>\n <div class=\"container\">\n <div class=\"header\">\n <h1>Workshop Confirmation</h1>\n </div>\n <div class=\"body\">\n <p>Hi <strong>{{ $json['Full Name'] }}</strong>,</p>\n <p>Congratulations! Your registration for:</p>\n <div class=\"highlight\">\n <strong>{{ $json.Workshop }}</strong><br>\n {{ $json.Date }}\n </div>\n <p>has been <strong>verified and confirmed</strong>.</p>\n\n <div class=\"qr\">\n <img src=\"{{ $json['QR Code URL'] }}\" alt=\"QR Code\">\n <p><em>Scan on event day for instant check-in</em></p>\n </div>\n\n <p><strong>Certificate ID:</strong> <code>{{ $json['Certificate ID'] }}</code></p>\n <p><strong>Verified Email:</strong> {{ $json.Email }}</p>\n\n <p>Your official <strong>pre-issued certificate is attached</strong> as a PDF.</p>\n\n <a href=\"{{ $json['PDF Link'] }}\" class=\"btn\" target=\"_blank\">\n View Certificate Online\n </a>\n </div>\n <div class=\"footer\">\n Issued on {{ new Date().toLocaleDateString() }} • Powered by <strong>n8n Automation</strong>\n </div>\n </div>\n</body>\n</html>",
"options": {},
"subject": "=🎉 Your Workshop Seat is Confirmed - {{ $('Prepare Certificate Data').item.json.event }}"
},
"credentials": {
"gmailOAuth2": {
"id": "YOUR_GMAIL_OAUTH2_ID",
"name": "Gmail OAuth2"
}
},
"typeVersion": 2.1
},
{
"id": "96b09356-225b-41dd-8684-b003df5b7f1c",
"name": "In Google Sheets protokollieren",
"type": "n8n-nodes-base.googleSheets",
"position": [
2176,
368
],
"parameters": {
"columns": {
"value": {
"Date": "={{ $('Prepare Certificate Data').item.json.date }}",
"Email": "={{ $('Prepare Certificate Data').item.json.email }}",
"PDF Link": "={{ $json.webViewLink }}",
"Workshop": "={{ $('Prepare Certificate Data').item.json.event }}",
"Full Name": "={{ $('Prepare Certificate Data').item.json.name }}",
"Timestamp": "={{ new Date().toISOString() }}",
"QR Code URL": "={{ $('Prepare Certificate Data').item.json.qrCodeUrl }}",
"Verified At": "={{ $json.createdTime }}",
"Certificate ID": "={{ $('Prepare Certificate Data').item.json.certificateId }}"
},
"schema": [
{
"id": "Timestamp",
"type": "string",
"display": true,
"required": false,
"displayName": "Timestamp",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Full Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Full Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Workshop",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Workshop",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Date",
"type": "string",
"display": true,
"required": false,
"displayName": "Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Certificate ID",
"type": "string",
"display": true,
"required": false,
"displayName": "Certificate ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "QR Code URL",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "QR Code URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "PDF Link",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "PDF Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Verified At",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Verified At",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Email"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEETS_DOCUMENT_ID/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "YOUR_GOOGLE_SHEETS_DOCUMENT_ID",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEETS_DOCUMENT_ID/edit?usp=drivesdk",
"cachedResultName": "Workshop Registrations & Certificates"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "YOUR_GOOGLE_SHEETS_OAUTH2_ID",
"name": "Google Sheets OAuth2"
}
},
"typeVersion": 4.4
},
{
"id": "4c34e01e-c47f-4879-a79b-f358b4e774e6",
"name": "Fehlgeschlagene Registrierungen protokollieren",
"type": "n8n-nodes-base.googleSheets",
"position": [
880,
736
],
"parameters": {
"columns": {
"value": {
"Date": "={{ new Date(\n $json[\"Select Workshop Date\"].year + '-' +\n String($json[\"Select Workshop Date\"].month).padStart(2, '0') + '-' +\n String($json[\"Select Workshop Date\"].day).padStart(2, '0')\n).toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' }) }}",
"Email": "={{ $json.Email }}",
"Status": "Invalid Email",
"PDF Link": "Invalid Email",
"Workshop": "={{ $json[\"Select Workshop\"] }}",
"Full Name": "={{ $json['Full Name'].first + ' ' + $json['Full Name'].last }}",
"Timestamp": "={{ $now }}",
"QR Code URL": "Invalid Email",
"Verified At": "Invalid Email",
"Certificate ID": "Invalid Email"
},
"schema": [
{
"id": "Timestamp",
"type": "string",
"display": true,
"required": false,
"displayName": "Timestamp",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Full Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Full Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Workshop",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Workshop",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Date",
"type": "string",
"display": true,
"required": false,
"displayName": "Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Certificate ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Certificate ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "QR Code URL",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "QR Code URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "PDF Link",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "PDF Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Verified At",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Verified At",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEETS_DOCUMENT_ID/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "YOUR_GOOGLE_SHEETS_DOCUMENT_ID",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEETS_DOCUMENT_ID/edit?usp=drivesdk",
"cachedResultName": "Workshop Registrations & Certificates"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "YOUR_GOOGLE_SHEETS_OAUTH2_ID",
"name": "Google Sheets OAuth2"
}
},
"typeVersion": 4.4
},
{
"id": "0d26d3cd-509b-4f95-b188-00d41bb17e3c",
"name": "JotForm Trigger",
"type": "n8n-nodes-base.jotFormTrigger",
"position": [
-224,
544
],
"webhookId": "",
"parameters": {
"form": "YOUR_JOTFORM_FORM_ID"
},
"credentials": {
"jotFormApi": {
"id": "YOUR_JOTFORM_API_ID",
"name": "JotForm API"
}
},
"typeVersion": 1
},
{
"id": "de18b560-5a30-4b26-998f-a701590b4e9d",
"name": "Verifi Email",
"type": "n8n-nodes-verifiemail.verifiEmail",
"position": [
0,
752
],
"parameters": {
"email": "={{ $json.Email }}"
},
"credentials": {
"verifiEmailApi": {
"id": "YOUR_VERIFI_EMAIL_API_ID",
"name": "VerifiEmail API"
}
},
"typeVersion": 1
},
{
"id": "1eb2b648-b557-42f1-aed5-d6b3f5b6419e",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
288,
560
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineByPosition"
},
"typeVersion": 3.2
},
{
"id": "5b63e21f-3504-4081-8422-800bda3803b5",
"name": "HTML zu PDF",
"type": "n8n-nodes-htmlcsstopdf.htmlcsstopdf",
"position": [
1200,
368
],
"parameters": {
"html_content": "=<div style=\"font-family: 'Georgia', serif; text-align: center; padding: 40px; border: 8px double #1a5fb4; background: #f9f9fb; max-width: 600px; margin: auto; color: #1a1a1a;\">\n <h1 style=\"color: #1a5fb4; margin-bottom: 10px;\">Certificate of Confirmation</h1>\n <p style=\"font-size: 18px; color: #555;\">This certifies that</p>\n \n <h2 style=\"font-size: 28px; margin: 15px 0; color: #1a5fb4;\">{{ $json.name }}</h2>\n \n <p style=\"font-size: 18px; color: #555;\">has successfully registered for</p>\n <h3 style=\"font-size: 22px; color: #000;\">{{ $json.event }}</h3>\n \n <p style=\"font-size: 16px; margin: 10px 0;\"><strong>Date:</strong> {{ $json.date }}</p>\n \n <div style=\"margin: 30px 0;\">\n <img src=\"{{ $json.qrCodeUrl }}\" alt=\"QR Code\" style=\"width: 150px; height: 150px;\" />\n </div>\n \n <p style=\"font-size: 14px; color: #666;\">\n <strong>Certificate ID:</strong> {{ $json.certificateId }}<br>\n <strong>Verified Email:</strong> {{ $json.email }} ({{ $json.emailProvider }})<br>\n <em>Scan QR code on event day for instant check-in</em>\n </p>\n \n <hr style=\"border: 1px dashed #ccc; margin: 30px 0;\">\n <p style=\"font-size: 12px; color: #999;\">\n Issued: {{ new Date().toLocaleDateString() }} • Powered by n8n Automation\n </p>\n</div>"
},
"credentials": {
"htmlcsstopdfApi": {
"id": "YOUR_HTML_TO_PDF_API_ID",
"name": "HTML to PDF API"
}
},
"typeVersion": 1
},
{
"id": "d7504f9f-ee7e-41b0-8ec3-28acf6b139be",
"name": "Datei hochladen",
"type": "n8n-nodes-base.googleDrive",
"position": [
1856,
368
],
"parameters": {
"name": "=Confirmed_Attendee_{{ $('Prepare Certificate Data').item.json.name }}_{{ $('Prepare Certificate Data').item.json.date }}.pdf",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive",
"cachedResultUrl": "https://drive.google.com/drive/my-drive",
"cachedResultName": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "YOUR_GOOGLE_DRIVE_FOLDER_ID",
"cachedResultUrl": "https://drive.google.com/drive/folders/YOUR_GOOGLE_DRIVE_FOLDER_ID",
"cachedResultName": "Attendee Data"
},
"inputDataFieldName": "pdfData"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "YOUR_GOOGLE_DRIVE_OAUTH2_ID",
"name": "Google Drive OAuth2"
}
},
"typeVersion": 3
},
{
"id": "cfe08577-ff68-4961-af0a-20ad40a7393b",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-928,
-32
],
"parameters": {
"width": 368,
"height": 336,
"content": "## 🎯 WORKFLOW OVERVIEW\n\n**Purpose:** Automated Pre-Issued Workshop Certificate System\n\n**What This Workflow Does:**\n1. ✅ Captures workshop registrations from Jotform\n2. ✅ Verifies email validity using VerifiEmail\n3. ✅ Generates professional PDF certificates\n4. ✅ Saves certificates to Google Drive\n5. ✅ Sends confirmation email with certificate\n6. ✅ Logs all registrations to Google Sheets\n7. ✅ Handles invalid email addresses gracefully\n"
},
"typeVersion": 1
},
{
"id": "3bc160b5-b5f3-4b6d-82cc-85a70e6f7beb",
"name": "Sticky Note - Schritt 3 Merge",
"type": "n8n-nodes-base.stickyNote",
"position": [
176,
336
],
"parameters": {
"color": 5,
"width": 300,
"height": 381,
"content": "## 🔀 STEP 3: Data Merge\n\n**What It Does:**\n- Combines Jotform data with email verification results\n- Merges by position (1st submission + 1st verification)\n- Creates unified data object for downstream nodes\n"
},
"typeVersion": 1
},
{
"id": "343482c5-6df5-41c2-9954-5047ff76d18f",
"name": "Sticky Note - Schritt 5 Datenvorbereitung",
"type": "n8n-nodes-base.stickyNote",
"position": [
784,
160
],
"parameters": {
"color": 5,
"width": 348,
"height": 343,
"content": "## 🧠 STEP 5: Data Preparation\n\n**What It Does:**\n- Formats and cleans data for certificate\n- Builds full name from first + last\n- Formats date in readable format\n- Generates unique Certificate ID\n- Creates QR code URL for verification"
},
"typeVersion": 1
},
{
"id": "66a19ac2-10fb-465d-b54c-08593974aae0",
"name": "Sticky Note - Schritt 6 PDF-Generierung",
"type": "n8n-nodes-base.stickyNote",
"position": [
1136,
112
],
"parameters": {
"color": 5,
"width": 316,
"height": 405,
"content": "## 🎨 STEP 6: PDF Certificate Generation\n\n**Certificate Design Features:**\n✨ Professional Georgia serif font\n✨ Blue theme (#1a5fb4) with double border\n✨ Centered layout\n✨ QR code for instant check-in\n✨ Certificate ID & verification details\n✨ Timestamp footer\n\n"
},
"typeVersion": 1
},
{
"id": "7e7c6eda-9d79-4cc2-97a4-3c70a1c42f5b",
"name": "Sticky Note - Schritt 7 PDF herunterladen",
"type": "n8n-nodes-base.stickyNote",
"position": [
1456,
128
],
"parameters": {
"color": 5,
"width": 316,
"height": 377,
"content": "## ⬇️ STEP 7: Download PDF File\n\n**What It Does:**\n- Downloads PDF from generated URL\n- Converts to binary data\n- Prepares for Google Drive upload\n- Makes PDF available for email attachment\n\n\n"
},
"typeVersion": 1
},
{
"id": "556585b6-08ee-43c7-9ba0-2d770495b442",
"name": "Sticky Note - Schritt 8 Google Drive",
"type": "n8n-nodes-base.stickyNote",
"position": [
1776,
112
],
"parameters": {
"color": 5,
"width": 300,
"height": 407,
"content": "## ☁️ STEP 8: Save to Google Drive\n\n**What It Does:**\n- Uploads PDF certificate to Google Drive\n- Organizes in \"Attendee Data\" folder\n- Generates shareable web view link\n- Creates permanent backup of all certificates\n\n\n"
},
"typeVersion": 1
},
{
"id": "b236ab7c-1343-401b-809a-46da6da52e78",
"name": "Sticky Note - Schritt 9 Google Sheets",
"type": "n8n-nodes-base.stickyNote",
"position": [
2080,
-80
],
"parameters": {
"color": 5,
"width": 316,
"height": 601,
"content": "## 📊 STEP 9: Log to Google Sheets\n\n**Google Sheet:**\n\"Workshop Registrations & Certificates\"\n\n**Logged Fields:**\n\n| Columns | \n|--------|\n- Timestamp \n- Full Name \n- Email \n- Workshop \n- Date \n- Certificate ID \n- QR Code URL \n- PDF Link \n- Status\n- Verification time \n"
},
"typeVersion": 1
},
{
"id": "92f23ba3-991c-478f-a73a-6066d71c81c9",
"name": "Sticky Note - Schritt 10 Gmail",
"type": "n8n-nodes-base.stickyNote",
"position": [
2400,
0
],
"parameters": {
"color": 5,
"width": 380,
"height": 519,
"content": "## 📧 STEP 10: Send Confirmation Email\n\n**What It Does:**\n- Sends beautiful HTML confirmation email\n- Includes event details & QR code\n- Provides Drive link to certificate\n- Professional branded template\n\n**Email Features:**\n✨ Mobile responsive\n✨ Professional styling\n✨ Blue color theme (#1a5fb4)\n✨ Clean typography\n✨ Embedded QR code\n✨ Direct Drive link\n\n"
},
"typeVersion": 1
},
{
"id": "e52d6ffe-cd32-410f-bc4a-6df2188e3159",
"name": "Sticky Note - False Branch",
"type": "n8n-nodes-base.stickyNote",
"position": [
800,
720
],
"parameters": {
"color": 3,
"width": 380,
"height": 409,
"content": "\n\n\n\n\n\n\n\n\n\n\n\n## ❌ FALSE BRANCH: Invalid Email Path\n\n**Common Failure Reasons:**\n❌ Invalid email format\n❌ Disposable/temporary email\n❌ Domain doesn't exist\n❌ Mailbox doesn't exist\n❌ SMTP verification failed\n❌ Role-based email blocked\n\n"
},
"typeVersion": 1
},
{
"id": "c28f87a3-365f-4fba-aec5-3f9db0f0a571",
"name": "Sticky Note - Anmeldeinformationen Status",
"type": "n8n-nodes-base.stickyNote",
"position": [
-928,
336
],
"parameters": {
"color": 4,
"width": 327,
"height": 339,
"content": "## 🔐 CREDENTIALS SETUP CHECKLIST\n\n**Required Credentials (All Configured ✅):**\n\n1. **✅ Jotform API**\n2. **✅ VerifiEmail API**\n3. **✅ Google Drive OAuth2**\n - Folder: Attendee Data\n4. **✅ Gmail OAuth2**\n5. **✅ Google Sheets OAuth2**\n - Sheet: Workshop Registrations\n6. **✅ HTML to PDF API**\n"
},
"typeVersion": 1
},
{
"id": "8a808aa3-96eb-40c8-b2e1-e46258d936e4",
"name": "Sticky Note - Schritt 1 Jotform",
"type": "n8n-nodes-base.stickyNote",
"position": [
-464,
336
],
"parameters": {
"color": 5,
"width": 364,
"height": 347,
"content": "## 📝 STEP 1: Registration Form Trigger\n\n**What It Does:**\n- Listens for new workshop registrations\n- Captures form data in real-time\n- Starts the automation workflow\n\n**Captured Fields:**\n- Full Name (First + Last)\n- Email Address\n- Workshop Selection\n- Workshop Date\n"
},
"typeVersion": 1
},
{
"id": "9e18f646-f00f-4a08-a22d-866d735cba3b",
"name": "Sticky Note - Schritt 2 E-Mail-Verifizierung",
"type": "n8n-nodes-base.stickyNote",
"position": [
-128,
736
],
"parameters": {
"color": 5,
"width": 364,
"height": 367,
"content": "\n\n\n\n\n\n\n\n\n\n\n\n## ✉️ STEP 2: Email Verification\n\n**What It Does:**\n- Validates email deliverability in real-time\n- Checks for disposable/temporary emails\n- Verifies email format and DNS records\n- Detects role-based emails (info@, admin@)\n"
},
"typeVersion": 1
},
{
"id": "f59bfa08-733e-46d2-925a-97f717ee8162",
"name": "Sticky Note - Schritt 4 IF-Bedingung",
"type": "n8n-nodes-base.stickyNote",
"position": [
480,
288
],
"parameters": {
"color": 5,
"width": 300,
"height": 417,
"content": "## 🔀 STEP 4: Conditional Split\n\n**What It Does:**\n- Routes workflow based on email validation\n- Splits into two branches: SUCCESS & FAILURE\n\n**Condition:**\n`{{ $json.valid }} === true`\n\n"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "",
"connections": {
"1eb2b648-b557-42f1-aed5-d6b3f5b6419e": {
"main": [
[
{
"node": "5e7bec79-8951-4388-890c-73e37a6ef8b2",
"type": "main",
"index": 0
}
]
]
},
"5b63e21f-3504-4081-8422-800bda3803b5": {
"main": [
[
{
"node": "ff60e9dc-464e-4b54-8bbd-1e90874436d5",
"type": "main",
"index": 0
}
]
]
},
"d7504f9f-ee7e-41b0-8ec3-28acf6b139be": {
"main": [
[
{
"node": "96b09356-225b-41dd-8684-b003df5b7f1c",
"type": "main",
"index": 0
}
]
]
},
"de18b560-5a30-4b26-998f-a701590b4e9d": {
"main": [
[
{
"node": "1eb2b648-b557-42f1-aed5-d6b3f5b6419e",
"type": "main",
"index": 1
}
]
]
},
"0d26d3cd-509b-4f95-b188-00d41bb17e3c": {
"main": [
[
{
"node": "de18b560-5a30-4b26-998f-a701590b4e9d",
"type": "main",
"index": 0
},
{
"node": "1eb2b648-b557-42f1-aed5-d6b3f5b6419e",
"type": "main",
"index": 0
}
]
]
},
"ff60e9dc-464e-4b54-8bbd-1e90874436d5": {
"main": [
[
{
"node": "d7504f9f-ee7e-41b0-8ec3-28acf6b139be",
"type": "main",
"index": 0
}
]
]
},
"5e7bec79-8951-4388-890c-73e37a6ef8b2": {
"main": [
[
{
"node": "1e9a2800-bab2-47f2-8fff-5f52f0d3e903",
"type": "main",
"index": 0
}
],
[
{
"node": "4c34e01e-c47f-4879-a79b-f358b4e774e6",
"type": "main",
"index": 0
}
]
]
},
"96b09356-225b-41dd-8684-b003df5b7f1c": {
"main": [
[
{
"node": "f8ec0f94-b7c6-43c8-8598-7cb5e324b523",
"type": "main",
"index": 0
}
]
]
},
"f8ec0f94-b7c6-43c8-8598-7cb5e324b523": {
"main": [
[]
]
},
"1e9a2800-bab2-47f2-8fff-5f52f0d3e903": {
"main": [
[
{
"node": "5b63e21f-3504-4081-8422-800bda3803b5",
"type": "main",
"index": 0
}
]
]
}
}
}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
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.
Verwandte Workflows
Jitesh Dugar
@jiteshdugarAI Automation Specialist - OpenAI, CRM & Automation Expert with a solid understanding of various tools that include Zapier, Make, Zoho CRM, Hubspot, Google Sheets, Airtable, Pipedrive, Google Analytics, and more.
Diesen Workflow teilen