Verifizierter Produkt-Rückführungsleitlinien-Generator

Experte

Dies ist ein Content Creation, Multimodal AI-Bereich Automatisierungsworkflow mit 23 Nodes. Hauptsächlich werden Set, Code, Gmail, Merge, Switch und andere Nodes verwendet. Automatisierung von E-Commerce-Rückgabeleitlinien mit E-Mail-Verifizierung, PDF-/Bildgenerierung und QR-Codes

Voraussetzungen
  • Google-Konto + Gmail API-Anmeldedaten
  • HTTP Webhook-Endpunkt (wird von n8n automatisch generiert)
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "name": "Verified Product Return Guide Generator",
  "tags": [
    "CustomerService",
    "EcommerceAutomation",
    "FraudPrevention",
    "PDF",
    "EmailAutomation",
    "Returns",
    "QRCode"
  ],
  "nodes": [
    {
      "id": "464b2f78-5628-4e89-bc6c-9f7042ee365c",
      "name": "Webhook-Trigger",
      "type": "n8n-nodes-base.webhook",
      "position": [
        0,
        0
      ],
      "parameters": {
        "path": "/return-guide",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2.1
    },
    {
      "id": "ce00c4ea-2c67-4bbc-95a8-16fc5b7a1619",
      "name": "Verifi Email",
      "type": "n8n-nodes-verifiemail.verifiEmail",
      "position": [
        176,
        -224
      ],
      "parameters": {
        "email": "={{ $json.body.customer_email }}"
      },
      "credentials": {
        "verifiEmailApi": {
          "id": "VERIFI_EMAIL_CREDENTIAL_ID",
          "name": "VerifiEmail API"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "3fe3e398-a883-418e-b492-2e3c6b2a0f3b",
      "name": "Schalter",
      "type": "n8n-nodes-base.switch",
      "position": [
        352,
        -144
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "79d1536b-afac-47cd-9275-c4b9ddd8e8f0",
                    "operator": {
                      "type": "boolean",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.valid }}",
                    "rightValue": true
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "7ef0a1ec-a909-4047-8c98-1a93b2e83b73",
                    "operator": {
                      "type": "boolean",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.valid }}",
                    "rightValue": false
                  }
                ]
              }
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "0228f0be-9e93-4183-be31-f2bf0ade679e",
      "name": "Stoppen und Fehler",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        544,
        -336
      ],
      "parameters": {
        "errorMessage": "Email validation failed"
      },
      "typeVersion": 1
    },
    {
      "id": "1291babb-4454-467c-b7f9-ccbc4a40a66d",
      "name": "Edit Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        736,
        112
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "4f3c06c9-058b-4208-bec4-bd0287bc2504",
              "name": "instructions",
              "type": "string",
              "value": "={{ \"1. Carefully pack the item in its original packaging\\n2. Attach the return label to the outside of package\\n3. Drop off at any post office or schedule pickup\\n4. Track your return using the provided tracking number\" }}"
            },
            {
              "id": "ce98acec-f236-4bb0-9f2e-8b3d32d1b4ba",
              "name": "qr_url",
              "type": "string",
              "value": "={{ \"https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=\" + $('Webhook').item.json.body.order_id }}"
            },
            {
              "id": "0b0b9251-a2aa-4328-b42d-b48fd3d72e3d",
              "name": "return_deadline",
              "type": "string",
              "value": "={{ $now.plus(7, 'days').toFormat('yyyy-MM-dd') }}"
            },
            {
              "id": "eeae6616-0977-4895-9a96-8795abff8cc1",
              "name": "tracking_url",
              "type": "string",
              "value": "={{ \"https://track.example.com/\" + $('Webhook').item.json.body.order_id }}"
            },
            {
              "id": "44ecca02-201f-4b98-a9ae-2dc509e619bb",
              "name": "customer_name",
              "type": "string",
              "value": "={{$input.all()[1].json.body.customer_name}}"
            },
            {
              "id": "921c0f42-b7e4-4e9b-abdd-990e682f0a49",
              "name": "customer_email",
              "type": "string",
              "value": "={{$input.all()[1].json.body.customer_email}}"
            },
            {
              "id": "c4b1bd0b-4f8e-46e9-a72e-c4f9a0ab93e8",
              "name": " order_id",
              "type": "string",
              "value": "={{$input.all()[1].json.body.order_id}}"
            },
            {
              "id": "1a074f7a-0bde-4ef8-86c0-97e4c9372d71",
              "name": "return_reason",
              "type": "string",
              "value": "={{$input.all()[1].json.body.return_reason}}"
            },
            {
              "id": "33cf2a33-535e-4154-a8f9-9beae030d02b",
              "name": " product_name",
              "type": "string",
              "value": "={{$input.all()[1].json.body.product_name}}"
            },
            {
              "id": "a2f9508d-64be-48d7-9632-ad6407bc81cf",
              "name": " purchase_date",
              "type": "string",
              "value": "={{$input.all()[1].json.body.purchase_date}}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "5e2840f5-e714-49e2-bb7b-220461b0d286",
      "name": "Code in JavaScript",
      "type": "n8n-nodes-base.code",
      "position": [
        1232,
        -16
      ],
      "parameters": {
        "jsCode": "// Get data from Remove Duplicates node (clean single item)\nconst data = $input.all()[0].json;\n\n// Note: Some fields have a space at the beginning, so we need to handle that\nconst cleanData = {\n  instructions: data.instructions,\n  qr_url: data.qr_url,\n  return_deadline: data.return_deadline,\n  tracking_url: data.tracking_url,\n  customer_name: data.customer_name,\n  customer_email: data.customer_email,\n  order_id: data[' order_id'] || data.order_id, // Handle space in field name\n  return_reason: data.return_reason,\n  product_name: data[' product_name'] || data.product_name, // Handle space in field name\n  purchase_date: data[' purchase_date'] || data.purchase_date // Handle space in field name\n};\n\n// Generate HTML content\nconst html = `\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Return Guide - Order ${cleanData.order_id}</title>\n    <style>\n        body {\n            font-family: 'Arial', sans-serif;\n            line-height: 1.6;\n            color: #333;\n            max-width: 800px;\n            margin: 0 auto;\n            padding: 20px;\n            background-color: #f9f9f9;\n        }\n        .guide {\n            background: white;\n            border-radius: 10px;\n            padding: 30px;\n            box-shadow: 0 2px 10px rgba(0,0,0,0.1);\n        }\n        .header {\n            text-align: center;\n            border-bottom: 2px solid #007bff;\n            padding-bottom: 20px;\n            margin-bottom: 30px;\n        }\n        .header h1 {\n            color: #007bff;\n            margin: 0 0 10px 0;\n        }\n        .qr {\n            text-align: center;\n            margin: 20px 0;\n            padding: 20px;\n            background: #f8f9fa;\n            border-radius: 8px;\n            border: 2px dashed #007bff;\n        }\n        .qr img {\n            border: 2px solid #007bff;\n            border-radius: 8px;\n            padding: 10px;\n            background: white;\n        }\n        .item-img {\n            max-width: 200px;\n            height: auto;\n            border-radius: 8px;\n            margin: 10px 0;\n            border: 1px solid #dee2e6;\n        }\n        .instructions {\n            background: #e9ecef;\n            padding: 20px;\n            border-radius: 8px;\n            margin: 20px 0;\n            border-left: 4px solid #007bff;\n        }\n        .instructions h3 {\n            color: #007bff;\n            margin-top: 0;\n        }\n        .instructions ol {\n            margin: 0;\n            padding-left: 20px;\n        }\n        .instructions li {\n            margin: 10px 0;\n            font-weight: 500;\n        }\n        .details-table {\n            width: 100%;\n            border-collapse: collapse;\n            margin: 20px 0;\n            background: white;\n            border-radius: 8px;\n            overflow: hidden;\n            box-shadow: 0 1px 3px rgba(0,0,0,0.1);\n        }\n        .details-table td {\n            padding: 15px;\n            border-bottom: 1px solid #dee2e6;\n        }\n        .details-table tr:last-child td {\n            border-bottom: none;\n        }\n        .details-table td:first-child {\n            font-weight: bold;\n            width: 35%;\n            background: #f8f9fa;\n            color: #007bff;\n        }\n        .footer {\n            text-align: center;\n            margin-top: 30px;\n            padding-top: 20px;\n            border-top: 1px solid #dee2e6;\n            color: #6c757d;\n            font-size: 14px;\n        }\n        .status-badge {\n            display: inline-block;\n            background: #28a745;\n            color: white;\n            padding: 5px 10px;\n            border-radius: 15px;\n            font-size: 12px;\n            font-weight: bold;\n            margin-bottom: 10px;\n        }\n        .deadline-warning {\n            background: #fff3cd;\n            border: 1px solid #ffeaa7;\n            color: #856404;\n            padding: 15px;\n            border-radius: 8px;\n            margin: 20px 0;\n        }\n        .contact-box {\n            background: #e3f2fd;\n            border-left: 4px solid #2196f3;\n            padding: 15px;\n            margin: 20px 0;\n            border-radius: 0 8px 8px 0;\n        }\n    </style>\n</head>\n<body>\n    <div class=\"guide\">\n        <div class=\"header\">\n            <div class=\"status-badge\">RETURN APPROVED</div>\n            <h1>Return Authorization Guide</h1>\n            <p><strong>Order ID:</strong> ${cleanData.order_id}</p>\n            <p><strong>Customer:</strong> ${cleanData.customer_name}</p>\n        </div>\n        \n        <div class=\"deadline-warning\">\n            <strong>⚠️ Important:</strong> Return must be shipped by <strong>${cleanData.return_deadline}</strong> to be eligible for refund.\n        </div>\n        \n        <div class=\"qr\">\n            <h3>🏷️ Scan for Quick Processing</h3>\n            <img src=\"${cleanData.qr_url}\" alt=\"QR Code for Order ${cleanData.order_id}\">\n            <p><strong>Present this QR code at any drop-off location</strong></p>\n            <p style=\"font-size: 12px; color: #666;\">This QR code contains your order information for faster processing</p>\n        </div>\n        \n        <div class=\"instructions\">\n            <h3>📦 Step-by-Step Return Instructions</h3>\n            <ol>\n                <li>Carefully pack the item in its original packaging</li>\n                <li>Attach the return label to the outside of package</li>\n                <li>Drop off at any post office or schedule pickup</li>\n                <li>Track your return using the provided tracking number</li>\n            </ol>\n        </div>\n        \n        <table class=\"details-table\">\n            <tr>\n                <td>Customer Name</td>\n                <td>${cleanData.customer_name}</td>\n            </tr>\n            <tr>\n                <td>Email Address</td>\n                <td>${cleanData.customer_email}</td>\n            </tr>\n            <tr>\n                <td>Product</td>\n                <td>${cleanData.product_name}</td>\n            </tr>\n            <tr>\n                <td>Return Reason</td>\n                <td>${cleanData.return_reason}</td>\n            </tr>\n            <tr>\n                <td>Original Purchase Date</td>\n                <td>${cleanData.purchase_date}</td>\n            </tr>\n            <tr>\n                <td>Return Deadline</td>\n                <td><strong>${cleanData.return_deadline}</strong></td>\n            </tr>\n        </table>\n        \n        <div style=\"text-align: center; margin: 30px 0;\">\n            <img class=\"item-img\" src=\"https://via.placeholder.com/200x150/007bff/ffffff?text=${encodeURIComponent(cleanData.product_name || 'Product')}\" alt=\"Product Image\">\n            <p style=\"font-size: 12px; color: #666;\">Product representation (actual item may vary)</p>\n        </div>\n        \n        <div class=\"contact-box\">\n            <h4 style=\"margin: 0 0 10px 0;\">📞 Need Help?</h4>\n            <p style=\"margin: 0;\">Contact our support team at <strong>support@yourstore.com</strong> or call <strong>1-800-RETURNS</strong></p>\n        </div>\n        \n        <div class=\"footer\">\n            <p><strong>📦 Track Your Return:</strong></p>\n            <p><a href=\"${cleanData.tracking_url}\" style=\"color: #007bff; text-decoration: none;\">${cleanData.tracking_url}</a></p>\n            <hr style=\"margin: 20px 0; border: none; border-top: 1px solid #dee2e6;\">\n            <p>Return Guide Generated on ${new Date().toLocaleDateString()} at ${new Date().toLocaleTimeString()}</p>\n            <p style=\"font-size: 12px;\">This is an automated return authorization. Please keep this document for your records.</p>\n        </div>\n    </div>\n</body>\n</html>\n`;\n\n// Return the result\nreturn [{\n    json: {\n        html_content: html,\n        customer_name: cleanData.customer_name,\n        customer_email: cleanData.customer_email,\n        order_id: cleanData.order_id,\n        file_name: `return_guide_${cleanData.order_id}`\n    }\n}];"
      },
      "typeVersion": 2
    },
    {
      "id": "21b85c24-5bd7-47dd-b0d3-ee3ab96c3224",
      "name": "Zusammenführen",
      "type": "n8n-nodes-base.merge",
      "position": [
        544,
        112
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "baa731ae-cf48-41f8-869b-cc6b5c1971b9",
      "name": "Duplikate entfernen",
      "type": "n8n-nodes-base.removeDuplicates",
      "position": [
        928,
        112
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 2
    },
    {
      "id": "e438ee05-1d2b-4f3b-8834-120d743f7c84",
      "name": "HTML to PDF",
      "type": "n8n-nodes-htmlcsstopdf.htmlcsstopdf",
      "position": [
        1712,
        -176
      ],
      "parameters": {
        "html_content": "={{ $json.html_content }}"
      },
      "credentials": {
        "htmlcsstopdfApi": {
          "id": "HTML_CSS_TO_PDF_CREDENTIAL_ID",
          "name": "HtmlCssToPdf API"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "c360666e-5bad-4fc1-969e-e9da7ccc135a",
      "name": "HTML/CSS to Image",
      "type": "n8n-nodes-htmlcsstoimage.htmlCssToImage",
      "position": [
        1712,
        128
      ],
      "parameters": {
        "html_content": "={{ $json.html_content }}"
      },
      "credentials": {
        "htmlcsstoimgApi": {
          "id": "HTML_CSS_TO_IMAGE_CREDENTIAL_ID",
          "name": "HtmlCssToImage API"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "8d26ce37-8064-4396-aa91-39aaaffe5c2d",
      "name": "Über Elemente schleifen",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1456,
        -16
      ],
      "parameters": {
        "options": {
          "reset": false
        }
      },
      "typeVersion": 3
    },
    {
      "id": "3d5970f2-981f-4cd9-8dd0-691a9b9a91c9",
      "name": "Zusammenführen1",
      "type": "n8n-nodes-base.merge",
      "position": [
        2112,
        0
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "fieldsToMatchString": "success"
      },
      "typeVersion": 3.2
    },
    {
      "id": "58f8f743-e22b-4c41-a47a-d29dddfee4f0",
      "name": "Send a message",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2448,
        0
      ],
      "parameters": {
        "sendTo": "{{ $('Loop Over Items').item.json.customer_email }}",
        "message": "=Dear {{ $('Code in JavaScript').item.json.customer_name }},\n\nYour return request for order {{ $('Code in JavaScript').item.json.order_id }} has been approved.\n\nDOWNLOAD YOUR RETURN GUIDE:\nPDF Guide:{{ $json.pdf_url }} \nPNG Preview: {{ $json.image_url }}\n\nNEXT STEPS:\n1. Download and print the PDF return guide\n2. Follow the packaging instructions carefully\n3. Use the QR code for faster processing at drop-off\n4. Ship by {{ $('Remove Duplicates').item.json.return_deadline }}\n\nIMPORTANT: Return must be shipped by the deadline to be eligible for refund.\n\nQuestions? Reply to this email or contact our support team.\n\nBest regards,\nCustomer Service Team\n\n---\nThis return authorization was generated automatically on {{ $now.toFormat('yyyy-MM-dd') }}.\nPlease keep this email for your records.",
        "options": {},
        "subject": "=Return Guide for Order {{ $('Loop Over Items').item.json.order_id }} - Action Required",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "GMAIL_OAUTH2_CREDENTIAL_ID",
          "name": "Gmail OAuth2"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "0b1dfe14-47de-43c7-aff9-0a61ec2213ad",
      "name": "Haftnotiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -272,
        -16
      ],
      "parameters": {
        "color": 7,
        "width": 384,
        "height": 432,
        "content": "## WEBHOOK TRIGGER\n\nPath: **/return-guide**\nMethod: **POST**\n\nExpected JSON:\n```\n{\n  \"customer_name\": \"Jane Doe\",\n  \"customer_email\": \"test@gmail.com\", \n  \"order_id\": \"ORD123456\",\n  \"return_reason\": \"Wrong size\",\n  \"product_name\": \"Blue T-Shirt\",\n  \"purchase_date\": \"2025-01-15\"\n}\n```\nTest URL: \n```https://your-n8n-instance.com/webhook/return-guide  ```"
      },
      "typeVersion": 1
    },
    {
      "id": "ef6eb130-73ed-4ccd-8d5d-a96f75d003ac",
      "name": "Haftnotiz1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        -304
      ],
      "parameters": {
        "color": 7,
        "width": 368,
        "height": 224,
        "content": "## EMAIL VERIFICATION\n**Purpose**: Prevent **fraud** with disposable/fake emails\n\n**Valid email** → Continue workflow\n**Invalid email** → Stop and Error\n\nCredentials needed:\n- **VerifiEmail** API account\n- 100 free verifications/month"
      },
      "typeVersion": 1
    },
    {
      "id": "cec3e76f-7a41-4f53-a134-7e43848655e2",
      "name": "Haftnotiz2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        496,
        96
      ],
      "parameters": {
        "color": 7,
        "width": 576,
        "height": 416,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n## DATA PREPARATION\n\n1. **Merge**: Combines email verification + webhook data\n2. **Set**: Adds calculated fields:\n   - QR code URL (api.qrserver.com)\n   - Return deadline (+7 days)\n   - Tracking URL template\n   - Static instructions\n3. **Remove Duplicates**: Cleans merged data"
      },
      "typeVersion": 1
    },
    {
      "id": "96bc0a8c-2680-4839-90bd-5641b294afe1",
      "name": "Haftnotiz3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1152,
        -368
      ],
      "parameters": {
        "color": 7,
        "width": 272,
        "height": 480,
        "content": "## HTML TEMPLATE GENERATOR\n\nInputs: **Customer data** + **calculated fields**\n\nOutputs:\n- Professional **HTML return guide**\n- Includes **QR code**, instructions, customer details\n- Modern CSS styling\n- Ready for **PDF/Image** conversion\n\nFile naming: **return_guide_{order_id}**"
      },
      "typeVersion": 1
    },
    {
      "id": "0b5e9a8e-3009-45d5-8642-dba4b1a33101",
      "name": "Haftnotiz4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1648,
        -416
      ],
      "parameters": {
        "color": 7,
        "width": 320,
        "height": 704,
        "content": "## PARALLEL CONVERSION\n**HTML to PDF**: For printing/official use\n**HTML to Image**: For email previews\n\n- Both run simultaneously from **Loop Over Items**\n\n- Output: S3 hosted files with **download URLs**\nFile retention: 30 days"
      },
      "typeVersion": 1
    },
    {
      "id": "7800fed4-5072-4810-bd75-71e2851b02cb",
      "name": "Haftnotiz5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2368,
        -352
      ],
      "parameters": {
        "color": 7,
        "width": 304,
        "height": 496,
        "content": "## AUTOMATED EMAIL DELIVERY\n\nTo: **Customer email**(verified)\nSubject: Return Guide for Order {order_id}\n\nContains:\n- Plain text message\n- PDF download link\n- Image preview link\n- Return instructions\n- Deadline warning\n\n**Triggers**: After both files generated"
      },
      "typeVersion": 1
    },
    {
      "id": "bd681c09-d39d-4fa2-91fd-5b063baebefc",
      "name": "Haftnotiz6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -736,
        -304
      ],
      "parameters": {
        "color": 7,
        "width": 480,
        "height": 224,
        "content": "## VERIFIED RETURN GUIDE GENERATOR\n\nPurpose: **Fraud-proof return guide automation**\n\nFlow: \n- **Webhook → Verify → Process → Generate → Convert → Email**\n- **Features**: Email validation, QR codes, dual formats\n- **Time**: **~15-30** seconds per request\n- **Success Rate**: **95%+** for valid emails"
      },
      "typeVersion": 1
    },
    {
      "id": "0ca8bdde-6679-4cc7-983a-873b75a7fac0",
      "name": "Haftnotiz7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        480,
        -608
      ],
      "parameters": {
        "color": 7,
        "width": 304,
        "height": 400,
        "content": "## FRAUD PREVENTION\nInvalid emails are blocked:\n\n- Disposable emails (10minutemail.com)\n- Non-existent domains\n- Malformed addresses\n\nFailed validations:\n- Logged for review\n- No return guide generated\n- Protects against fake returns"
      },
      "typeVersion": 1
    },
    {
      "id": "ca0aed99-24a7-4197-820b-7308cc3c7e17",
      "name": "Haftnotiz8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2368,
        304
      ],
      "parameters": {
        "color": 7,
        "width": 336,
        "height": 336,
        "content": "## CUSTOMIZATION OPTIONS\n\nEasy changes:\n- Email template text\n- HTML styling/colors\n- QR code size/format\n- Return deadline (currently 7 days)\n- Company branding\n\nAdvanced:\n- Multiple product support\n- Different email templates\n- Custom tracking integration\n- Multi-language support"
      },
      "typeVersion": 1
    },
    {
      "id": "setup-credentials-note",
      "name": "Credential Setzenup",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -736,
        304
      ],
      "parameters": {
        "color": 5,
        "width": 368,
        "height": 480,
        "content": "## CREDENTIAL SETUP REQUIRED\n\nBefore using this template, set up these credentials:\n\n1. **VerifiEmail API**: Sign up at verifi.email\n 2. **Gmail OAuth2**: Google Cloud Console required\n   - Create OAuth 2.0 credentials\n   - Enable Gmail API\n   - Configure redirect URIs\n\n3. **HtmlCssToPdf API**: Get API key\n   - Free tier available\n   - ~$0.001 per PDF generated\n\n4. **HtmlCssToImage API**: Get API key\n   - Free tier available\n   - ~$0.001 per image generated\n\nSee documentation for detailed setup instructions."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "2bb970b1-01be-4c88-8c69-4743729e6820",
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "1291babb-4454-467c-b7f9-ccbc4a40a66d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge1": {
      "main": [
        [
          {
            "node": "58f8f743-e22b-4c41-a47a-d29dddfee4f0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Stop and Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "ce00c4ea-2c67-4bbc-95a8-16fc5b7a1619",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "1291babb-4454-467c-b7f9-ccbc4a40a66d": {
      "main": [
        [
          {
            "node": "Remove Duplicates",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e438ee05-1d2b-4f3b-8834-120d743f7c84": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ce00c4ea-2c67-4bbc-95a8-16fc5b7a1619": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "c360666e-5bad-4fc1-969e-e9da7ccc135a",
            "type": "main",
            "index": 0
          },
          {
            "node": "e438ee05-1d2b-4f3b-8834-120d743f7c84",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c360666e-5bad-4fc1-969e-e9da7ccc135a": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Remove Duplicates": {
      "main": [
        [
          {
            "node": "5e2840f5-e714-49e2-bb7b-220461b0d286",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5e2840f5-e714-49e2-bb7b-220461b0d286": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "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 - Content-Erstellung, Multimodales KI

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 Nodes23
Kategorie2
Node-Typen13
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