System zur vorläufigen Vergabe von Zertifikaten für Seminare

Experte

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

Voraussetzungen
  • Google-Konto + Gmail API-Anmeldedaten
  • Google Drive API-Anmeldedaten
  • Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
  • Google Sheets API-Anmeldedaten
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": "",
  "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
          }
        ]
      ]
    }
  }
}
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

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 Nodes24
Kategorie1
Node-Typen11
Schwierigkeitsbeschreibung

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

Autor
Jitesh Dugar

Jitesh Dugar

@jiteshdugar

AI 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.

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34