Sistema de preemisión de certificados de seminarios
Este es unDocument Extractionflujo de automatización del dominio deautomatización que contiene 24 nodos.Utiliza principalmente nodos como If, Code, Gmail, Merge, GoogleDrive. Sistema automatizado de certificados de seminarios, integrando JotForm, verificación por correo y Google Workspace
- •Cuenta de Google y credenciales de API de Gmail
- •Credenciales de API de Google Drive
- •Pueden requerirse credenciales de autenticación para la API de destino
- •Credenciales de API de Google Sheets
Nodos utilizados (24)
Categoría
{
"id": "",
"meta": {
"instanceId": "",
"templateCredsSetupCompleted": false
},
"name": "Workshop Certificate Pre-Issuance System",
"tags": [],
"nodes": [
{
"id": "5e7bec79-8951-4388-890c-73e37a6ef8b2",
"name": "IF - ¿Correo válido?",
"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": "Preparar datos del certificado",
"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": "Descargar archivo PDF",
"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": "Enviar correo de confirmación",
"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": "Registrar en Google Sheets",
"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": "Registrar inscripciones fallidas",
"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": "Activador JotForm",
"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": "Combinar",
"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 a 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": "Subir archivo",
"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": "Nota adhesiva",
"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": "Nota adhesiva - Paso 3 Combinar",
"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": "Nota adhesiva - Paso 5 Preparación de datos",
"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": "Nota adhesiva - Paso 6 Generación de PDF",
"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": "Nota adhesiva - Paso 7 Descargar PDF",
"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": "Nota adhesiva - Paso 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": "Nota adhesiva - Paso 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": "Nota adhesiva - Paso 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": "Nota adhesiva - Rama falsa",
"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": "Nota adhesiva - Estado de credenciales",
"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": "Nota adhesiva - Paso 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": "Nota adhesiva - Paso 2 Verificación de correo",
"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": "Nota adhesiva - Paso 4 Condición IF",
"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
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Avanzado - Extracción de documentos
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
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.
Compartir este flujo de trabajo