Création de profil utilisateur vérifié
Ceci est unDocument Extractionworkflow d'automatisation du domainecontenant 20 nœuds.Utilise principalement des nœuds comme If, Set, Gmail, Webhook, HttpRequest. Créer un profil utilisateur vérifié via vérification par e-mail, génération de PDF et livraison via Gmail
- •Compte Google et informations d'identification Gmail API
- •Point de terminaison HTTP Webhook (généré automatiquement par n8n)
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
- •Informations d'identification Google Sheets API
Nœuds utilisés (20)
Catégorie
{
"id": "",
"meta": {
"instanceId": "",
"templateCredsSetupCompleted": false
},
"name": "Verified User Profile Creation",
"tags": [],
"nodes": [
{
"id": "6b5340c0-efc3-42ed-ba9b-f87d4df66ca9",
"name": "Note adhésive1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-192,
-32
],
"parameters": {
"color": 6,
"width": 405,
"height": 410,
"content": "## 🔧 SETUP CREDENTIALS\n\n**Required Credentials:**\n\n1. **VerifiEmail API**\n - Sign up at https://verifi.email\n - Get your API key\n\n2. **HTMLcsstoPDF API**\n - Register at https://htmlcsstoimg.com\n - Get User ID & API Key\n\n3. **Gmail OAuth2**\n - Authenticate your Google account\n\n4. **Google Sheets OAuth2**\n - Same Google account as Gmail\n"
},
"typeVersion": 1
},
{
"id": "a5433c21-6cc1-4147-aaae-2c12102e95b5",
"name": "Webhook - Recevoir les données utilisateur",
"type": "n8n-nodes-base.webhook",
"position": [
368,
224
],
"webhookId": "",
"parameters": {
"path": "create-profile",
"options": {},
"httpMethod": "POST",
"responseMode": "lastNode"
},
"typeVersion": 1
},
{
"id": "3bd46209-c0c6-4b89-acaf-752e5e16f332",
"name": "Note adhésive2",
"type": "n8n-nodes-base.stickyNote",
"position": [
240,
-112
],
"parameters": {
"color": 5,
"width": 356,
"height": 493,
"content": "## 📥 STEP 1: WEBHOOK TRIGGER\n\n**Purpose:** Receive user signup data\n\n**Expected JSON Input:**\n```json\n{\n \"name\": \"John Doe\",\n \"email\": \"john@example.com\",\n \"city\": \"Gurugram\",\n \"profession\": \"Software Engineer\",\n \"bio\": \"Loves building software\"\n}\n```\n"
},
"typeVersion": 1
},
{
"id": "0033dc9f-4322-4fd2-9df9-7e78761dce5d",
"name": "Note adhésive3",
"type": "n8n-nodes-base.stickyNote",
"position": [
608,
0
],
"parameters": {
"color": 5,
"width": 248,
"height": 381,
"content": "## ✅ STEP 2: EMAIL VERIFICATION\n\n**Purpose:** Validate email using VerifiEmail API\n\n**Parameters:**\n- email: User's email from webhook\n\n"
},
"typeVersion": 1
},
{
"id": "d171efbb-aeb3-48dc-ba89-34ad1308c22d",
"name": "IF Email Valide ?",
"type": "n8n-nodes-base.if",
"position": [
960,
224
],
"parameters": {
"conditions": {
"boolean": [
{
"value1": "={{ $json.valid }}",
"value2": "={{ true }}"
}
]
}
},
"typeVersion": 1
},
{
"id": "c5ef3261-eeda-4934-bee0-0ecc3549ce4a",
"name": "Note adhésive4",
"type": "n8n-nodes-base.stickyNote",
"position": [
880,
-144
],
"parameters": {
"color": 5,
"width": 316,
"height": 507,
"content": "## ⚖️ STEP 3: CONDITIONAL LOGIC\n\n**Purpose:** Branch workflow based on email validation\n\n**TRUE Path (Green):**\n→ Email is valid\n→ Generate HTML template\n→ Create PDF\n→ Send profile email\n→ Log to Google Sheets\n\n**FALSE Path (Red):**\n→ Email is invalid\n→ Send rejection email\n→ End workflow"
},
"typeVersion": 1
},
{
"id": "d8664417-6235-4331-b37a-ee0a216d04f2",
"name": "Générer un modèle HTML",
"type": "n8n-nodes-base.set",
"position": [
1328,
64
],
"parameters": {
"values": {
"string": [
{
"name": "html_content",
"value": "=<html>\n <head>\n <style>\n body { font-family: 'Inter', sans-serif; padding: 40px; background: #f9fafb; }\n .container { background: white; border-radius: 20px; padding: 30px; max-width: 600px; margin: auto; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }\n h1 { color: #2563eb; text-align: center; margin-bottom: 20px; }\n h2 { color: #1f2937; margin-top: 20px; }\n p { color: #4b5563; line-height: 1.6; margin: 10px 0; }\n .label { font-weight: 600; color: #374151; }\n .footer { color: #9ca3af; font-size: 12px; margin-top: 30px; text-align: center; border-top: 1px solid #e5e7eb; padding-top: 15px; }\n </style>\n </head>\n <body>\n <div class=\"container\">\n <h1>👤 Verified User Profile</h1>\n <h2>{{ $('Webhook - Receive User Data').item.json.body.name }}</h2>\n <p><span class=\"label\">Email:</span> {{ $('Webhook - Receive User Data').item.json.body.email }}</p>\n <p><span class=\"label\">City:</span> {{ $('Webhook - Receive User Data').item.json.body.city }}</p>\n <p><span class=\"label\">Profession:</span> {{ $('Webhook - Receive User Data').item.json.body.profession }}</p>\n <p><span class=\"label\">Bio:</span> {{ $('Webhook - Receive User Data').item.json.body.bio }}</p>\n <div class=\"footer\">\n ✅ Verified by n8n Automation<br>\n Generated on: {{ new Date().toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' }) }}\n </div>\n </div>\n </body>\n </html>"
}
]
},
"options": {}
},
"typeVersion": 2
},
{
"id": "7633467d-1190-4223-bcd0-07f03cecafc5",
"name": "Note adhésive5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1216,
-208
],
"parameters": {
"color": 5,
"width": 284,
"height": 428,
"content": "## 🧾 STEP 4: HTML TEMPLATE CREATION\n\n**Purpose:** Create beautiful HTML profile layout\n\n**Features:**\n- Modern, responsive design\n- Custom styling with CSS\n- Dynamic data from webhook\n- Professional appearance\n"
},
"typeVersion": 1
},
{
"id": "225534ff-724a-4009-8886-add1b3bb63e4",
"name": "Note adhésive6",
"type": "n8n-nodes-base.stickyNote",
"position": [
1520,
-176
],
"parameters": {
"color": 5,
"width": 364,
"height": 385,
"content": "## 📄 STEP 5: PDF GENERATION\n\n**Purpose:** Convert HTML to downloadable image/PDF\n\n**Request Body:**\n- html: The generated HTML content\n- google_fonts: Inter font family\n- viewport_width: 800px\n- viewport_height: 1200px\n\n\n"
},
"typeVersion": 1
},
{
"id": "defd69e1-8347-4418-914e-5808e0d0440e",
"name": "Télécharger le PDF binaire",
"type": "n8n-nodes-base.httpRequest",
"position": [
2016,
64
],
"parameters": {
"url": "={{ $json.pdf_url }}",
"options": {
"response": {
"response": {
"responseFormat": "file"
}
}
}
},
"typeVersion": 4.2
},
{
"id": "d4be989c-6907-4a51-84ff-60ddc8f3747a",
"name": "Note adhésive7",
"type": "n8n-nodes-base.stickyNote",
"position": [
1904,
-144
],
"parameters": {
"color": 5,
"width": 332,
"height": 333,
"content": "## 💾 STEP 6: DOWNLOAD PDF\n\n**Purpose:** Fetch the generated PDF as binary data\n\n**Method:** GET request to the URL returned by HTMLcsstoPDF\n\n"
},
"typeVersion": 1
},
{
"id": "d6e3ca94-dd1f-425b-91ab-e9c060102c07",
"name": "Envoyer l'email de profil - Gmail",
"type": "n8n-nodes-base.gmail",
"position": [
2336,
64
],
"webhookId": "",
"parameters": {
"sendTo": "={{ $('Webhook - Receive User Data').item.json.body.email }}",
"message": "=<!DOCTYPE html>\n<html>\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n</head>\n<body style=\"margin: 0; padding: 0; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\">\n \n <!-- Main Container -->\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 40px 20px;\">\n <tr>\n <td align=\"center\">\n \n <!-- Content Card -->\n <table width=\"600\" cellpadding=\"0\" cellspacing=\"0\" style=\"background: #ffffff; border-radius: 16px; box-shadow: 0 20px 60px rgba(0,0,0,0.3); overflow: hidden;\">\n \n <!-- Header Section with Icon -->\n <tr>\n <td style=\"background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 40px; text-align: center;\">\n <div style=\"background: rgba(255,255,255,0.2); width: 80px; height: 80px; border-radius: 50%; margin: 0 auto 20px; display: inline-flex; align-items: center; justify-content: center; backdrop-filter: blur(10px);\">\n <span style=\"font-size: 48px;\">✅</span>\n </div>\n <h1 style=\"color: #ffffff; margin: 0; font-size: 32px; font-weight: 700; text-shadow: 0 2px 4px rgba(0,0,0,0.1);\">Profile Verified!</h1>\n <p style=\"color: rgba(255,255,255,0.9); margin: 10px 0 0 0; font-size: 16px;\">Your account has been successfully verified</p>\n </td>\n </tr>\n \n <!-- Greeting Section -->\n <tr>\n <td style=\"padding: 40px 40px 20px 40px;\">\n <h2 style=\"color: #1f2937; margin: 0 0 20px 0; font-size: 24px; font-weight: 600;\">\n Hi {{ $('Webhook - Receive User Data').item.json.body.name }} 👋\n </h2>\n <p style=\"color: #4b5563; line-height: 1.8; font-size: 16px; margin: 0 0 20px 0;\">\n Congratulations! Your profile has been <strong style=\"color: #667eea;\">successfully verified</strong> and is now active. Your personalized profile PDF is ready and attached to this email.\n </p>\n </td>\n </tr>\n \n <!-- Profile Details Card -->\n <tr>\n <td style=\"padding: 0 40px 30px 40px;\">\n <div style=\"background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%); border-radius: 12px; padding: 30px; border-left: 4px solid #667eea;\">\n <h3 style=\"color: #1f2937; margin: 0 0 20px 0; font-size: 18px; font-weight: 600; display: flex; align-items: center;\">\n <span style=\"background: #667eea; color: white; width: 32px; height: 32px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; margin-right: 12px; font-size: 16px;\">📋</span>\n Your Profile Details\n </h3>\n \n <!-- Profile Items -->\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">\n <tr>\n <td style=\"padding: 12px 0; border-bottom: 1px solid #d1d5db;\">\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">\n <tr>\n <td style=\"width: 40px; vertical-align: top;\">\n <span style=\"font-size: 20px;\">👤</span>\n </td>\n <td>\n <div style=\"color: #6b7280; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px;\">Full Name</div>\n <div style=\"color: #1f2937; font-size: 16px; font-weight: 600;\">{{ $('Webhook - Receive User Data').item.json.body.name }}</div>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n \n <tr>\n <td style=\"padding: 12px 0; border-bottom: 1px solid #d1d5db;\">\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">\n <tr>\n <td style=\"width: 40px; vertical-align: top;\">\n <span style=\"font-size: 20px;\">📧</span>\n </td>\n <td>\n <div style=\"color: #6b7280; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px;\">Email Address</div>\n <div style=\"color: #1f2937; font-size: 16px; font-weight: 600;\">{{ $('Webhook - Receive User Data').item.json.body.email }}</div>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n \n <tr>\n <td style=\"padding: 12px 0; border-bottom: 1px solid #d1d5db;\">\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">\n <tr>\n <td style=\"width: 40px; vertical-align: top;\">\n <span style=\"font-size: 20px;\">📍</span>\n </td>\n <td>\n <div style=\"color: #6b7280; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px;\">Location</div>\n <div style=\"color: #1f2937; font-size: 16px; font-weight: 600;\">{{ $('Webhook - Receive User Data').item.json.body.city }}</div>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n \n <tr>\n <td style=\"padding: 12px 0;\">\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">\n <tr>\n <td style=\"width: 40px; vertical-align: top;\">\n <span style=\"font-size: 20px;\">💼</span>\n </td>\n <td>\n <div style=\"color: #6b7280; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px;\">Profession</div>\n <div style=\"color: #1f2937; font-size: 16px; font-weight: 600;\">{{ $('Webhook - Receive User Data').item.json.body.profession }}</div>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n </table>\n </div>\n </td>\n </tr>\n \n <!-- PDF Attachment Notice -->\n <tr>\n <td style=\"padding: 0 40px 30px 40px;\">\n <div style=\"background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%); border-radius: 12px; padding: 20px; border: 2px solid #10b981; text-align: center;\">\n <span style=\"font-size: 32px; display: block; margin-bottom: 10px;\">📎</span>\n <p style=\"color: #065f46; margin: 0; font-size: 16px; font-weight: 600;\">\n Your Profile PDF is attached to this email\n </p>\n <p style=\"color: #047857; margin: 8px 0 0 0; font-size: 14px;\">\n Download and save it for your records\n </p>\n </div>\n </td>\n </tr>\n \n <!-- What's Next Section -->\n <tr>\n <td style=\"padding: 0 40px 40px 40px;\">\n <h3 style=\"color: #1f2937; margin: 0 0 16px 0; font-size: 18px; font-weight: 600;\">What's Next? 🚀</h3>\n <ul style=\"margin: 0; padding: 0 0 0 20px; color: #4b5563; line-height: 1.8;\">\n <li style=\"margin-bottom: 8px;\">Access your dashboard and complete your profile</li>\n <li style=\"margin-bottom: 8px;\">Explore all available features and tools</li>\n <li style=\"margin-bottom: 8px;\">Connect with our community</li>\n <li>Start your journey with us today!</li>\n </ul>\n </td>\n </tr>\n \n <!-- Footer Section -->\n <tr>\n <td style=\"background: #f9fafb; padding: 30px 40px; border-top: 1px solid #e5e7eb;\">\n <p style=\"color: #1f2937; margin: 0 0 20px 0; font-size: 16px; line-height: 1.6;\">\n Thank you for registering with us! We're excited to have you on board. 🎉\n </p>\n <p style=\"color: #6b7280; margin: 0; font-size: 14px; line-height: 1.6;\">\n If you have any questions or need assistance, feel free to reach out to our support team.\n </p>\n \n <!-- Signature -->\n <div style=\"margin-top: 24px; padding-top: 24px; border-top: 1px solid #e5e7eb;\">\n <p style=\"color: #1f2937; margin: 0 0 4px 0; font-size: 15px; font-weight: 600;\">\n Best regards,\n </p>\n <p style=\"color: #667eea; margin: 0; font-size: 15px; font-weight: 700;\">\n The Verification Team\n </p>\n </div>\n </td>\n </tr>\n \n <!-- Social Links / Contact Info (Optional) -->\n <tr>\n <td style=\"background: #1f2937; padding: 20px 40px; text-align: center;\">\n <p style=\"color: #9ca3af; margin: 0; font-size: 12px;\">\n © 2025 Your Company Name. All rights reserved.\n </p>\n <p style=\"color: #6b7280; margin: 8px 0 0 0; font-size: 11px;\">\n This is an automated message. Please do not reply to this email.\n </p>\n </td>\n </tr>\n \n </table>\n \n </td>\n </tr>\n </table>\n \n</body>\n</html>",
"options": {
"attachmentsUi": {
"attachmentsBinary": [
{}
]
}
},
"subject": "Your Verified Profile PDF is Ready ✅"
},
"credentials": {
"gmailOAuth2": {
"id": "YOUR_GMAIL_OAUTH2_ID",
"name": "Gmail account OAuth2"
}
},
"typeVersion": 2.1
},
{
"id": "382aabcc-1bee-4536-845c-caf8bcef2522",
"name": "Note adhésive8",
"type": "n8n-nodes-base.stickyNote",
"position": [
2256,
-192
],
"parameters": {
"color": 5,
"width": 368,
"height": 423,
"content": "## 📧 STEP 7: EMAIL DELIVERY\n\n**Purpose:** Send profile PDF to verified user\n\n**Gmail Configuration:**\n- **To:** User's email from webhook\n- **Subject:** \"Your Verified Profile PDF is Ready ✅\"\n- **Type:** HTML email\n- **Body:** Personalized message with profile summary\n- **Attachment:** PDF binary data from previous node\n"
},
"typeVersion": 1
},
{
"id": "e8c9e5b1-7c63-49e3-acc4-bd390a0349f9",
"name": "Journaliser vers Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
2736,
64
],
"parameters": {
"columns": {
"value": {
"City": "={{ $('Webhook - Receive User Data').item.json.body.city }}",
"Date": "={{ new Date().toLocaleDateString('en-US') }}",
"Name": "={{ $('Webhook - Receive User Data').item.json.body.name }}",
"Email": "={{ $('Webhook - Receive User Data').item.json.body.email }}",
"Verified": "✅",
"Profession": "={{ $('Webhook - Receive User Data').item.json.body.profession }}"
},
"schema": [
{
"id": "Name",
"type": "string",
"display": true,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "City",
"type": "string",
"display": true,
"required": false,
"displayName": "City",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Profession",
"type": "string",
"display": true,
"required": false,
"displayName": "Profession",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Verified",
"type": "string",
"display": true,
"required": false,
"displayName": "Verified",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Date",
"type": "string",
"display": true,
"required": false,
"displayName": "Date",
"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": "Verified_Users_Profiles"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "YOUR_GOOGLE_SHEETS_OAUTH2_ID",
"name": "Google Sheets account OAuth2"
}
},
"typeVersion": 4.4
},
{
"id": "a21a9553-ff14-4184-a9ea-01a213d9df07",
"name": "Note adhésive9",
"type": "n8n-nodes-base.stickyNote",
"position": [
2640,
-224
],
"parameters": {
"color": 5,
"width": 380,
"height": 448,
"content": "## 📊 STEP 8: DATA LOGGING\n\n**Purpose:** Track all verified users in Google Sheets\n\n**Spreadsheet Columns:**\n1. **Name** - User's full name\n2. **Email** - Verified email address\n3. **City** - User's location\n4. **Profession** - Job title/role\n5. **Verified** - ✅ checkmark\n6. **PDF_URL** - Link to generated PDF\n7. **Date** - Verification timestamp\n"
},
"typeVersion": 1
},
{
"id": "7795da16-16bd-485f-a44f-6880253dcfde",
"name": "Envoyer l'email de rejet - Gmail",
"type": "n8n-nodes-base.gmail",
"position": [
1648,
352
],
"webhookId": "",
"parameters": {
"sendTo": "={{ $('Webhook - Receive User Data').item.json.body.email }}",
"message": "=<h3>Hi {{ $('Webhook - Receive User Data').item.json.body.name }},</h3>\n<p>We couldn't verify your email address: <strong>{{ $('Webhook - Receive User Data').item.json.body.email }}</strong></p>\n<p>This could be due to:</p>\n<ul>\n <li>Invalid email format</li>\n <li>Non-existent email domain</li>\n <li>Temporary email service</li>\n <li>Disposable email address</li>\n</ul>\n<p><strong>What to do next:</strong></p>\n<p>Please check your email address and try registering again with a valid email.</p>\n<p>If you believe this is an error, please contact our support team.</p>\n<p style=\"color: #666; margin-top: 20px;\">– The Verification Team</p>",
"options": {},
"subject": "Profile Verification Failed ❌"
},
"credentials": {
"gmailOAuth2": {
"id": "YOUR_GMAIL_OAUTH2_ID",
"name": "Gmail account OAuth2"
}
},
"typeVersion": 2.1
},
{
"id": "6349b52f-f398-49be-9847-6280a023639a",
"name": "Note adhésive10",
"type": "n8n-nodes-base.stickyNote",
"position": [
1536,
336
],
"parameters": {
"color": 5,
"width": 372,
"height": 560,
"content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n## 🚫 STEP 9: INVALID EMAIL HANDLING\n\n**Purpose:** Notify users when email verification fails\n\n**Email Details:**\n- **Subject:** \"Profile Verification Failed ❌\"\n- **Message:** Explains why verification failed\n- **Guidance:** Steps to resolve the issue\n\n**Common Failure Reasons:**\n- Invalid format\n- Non-existent domain\n- Temporary/disposable email\n- Typo in email address\n"
},
"typeVersion": 1
},
{
"id": "26712fee-42f0-4c18-b345-aeed77bfc290",
"name": "Note adhésive11",
"type": "n8n-nodes-base.stickyNote",
"position": [
3040,
-112
],
"parameters": {
"color": 4,
"width": 368,
"height": 336,
"content": "## ✅ WORKFLOW COMPLETE!\n\n**Success Path Summary:**\n✅ Webhook receives user data\n✅ Email verified via API\n✅ HTML profile generated\n✅ PDF created and downloaded\n✅ Profile emailed to user\n✅ Data logged to Google Sheets\n\n**Failure Path Summary:**\n❌ Email verification fails\n❌ Rejection email sent\n❌ No PDF generated\n❌ No data logged\n"
},
"typeVersion": 1
},
{
"id": "b91d5210-1e6b-4ee4-9217-5ac7c9760fba",
"name": "Verifi Email",
"type": "n8n-nodes-verifiemail.verifiEmail",
"position": [
656,
224
],
"parameters": {
"email": "={{ $json.body.email }}"
},
"credentials": {
"verifiEmailApi": {
"id": "YOUR_VERIFI_EMAIL_API_ID",
"name": "VerifiEmail API"
}
},
"typeVersion": 1
},
{
"id": "1b44d9a8-e00d-4400-a00b-8c45b3dabea4",
"name": "HTML en PDF",
"type": "n8n-nodes-htmlcsstopdf.htmlcsstopdf",
"position": [
1600,
64
],
"parameters": {
"html_content": "={{ $json.html_content }}"
},
"credentials": {
"htmlcsstopdfApi": {
"id": "YOUR_HTML_TO_PDF_API_ID",
"name": "HTML to PDF account API"
}
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "",
"connections": {
"1b44d9a8-e00d-4400-a00b-8c45b3dabea4": {
"main": [
[
{
"node": "defd69e1-8347-4418-914e-5808e0d0440e",
"type": "main",
"index": 0
}
]
]
},
"b91d5210-1e6b-4ee4-9217-5ac7c9760fba": {
"main": [
[
{
"node": "d171efbb-aeb3-48dc-ba89-34ad1308c22d",
"type": "main",
"index": 0
}
]
]
},
"d171efbb-aeb3-48dc-ba89-34ad1308c22d": {
"main": [
[
{
"node": "d8664417-6235-4331-b37a-ee0a216d04f2",
"type": "main",
"index": 0
}
],
[
{
"node": "7795da16-16bd-485f-a44f-6880253dcfde",
"type": "main",
"index": 0
}
]
]
},
"defd69e1-8347-4418-914e-5808e0d0440e": {
"main": [
[
{
"node": "d6e3ca94-dd1f-425b-91ab-e9c060102c07",
"type": "main",
"index": 0
}
]
]
},
"d8664417-6235-4331-b37a-ee0a216d04f2": {
"main": [
[
{
"node": "1b44d9a8-e00d-4400-a00b-8c45b3dabea4",
"type": "main",
"index": 0
}
]
]
},
"d6e3ca94-dd1f-425b-91ab-e9c060102c07": {
"main": [
[
{
"node": "e8c9e5b1-7c63-49e3-acc4-bd390a0349f9",
"type": "main",
"index": 0
}
]
]
},
"a5433c21-6cc1-4147-aaae-2c12102e95b5": {
"main": [
[
{
"node": "b91d5210-1e6b-4ee4-9217-5ac7c9760fba",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Avancé - Extraction de documents
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
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.
Partager ce workflow