{
  "workflow": {
    "id": 9032,
    "name": "Generate personalized promo cards with email verification, Gmail & Google Sheets",
    "views": 21,
    "recentViews": 0,
    "totalViews": 21,
    "createdAt": "2025-09-28T08:34:44.038Z",
    "description": "# Personalized Promo Code Cards for Verified Users\n\n## Overview\nThis workflow automatically generates beautiful, personalized promotional cards with QR codes and sends them via email to verified users. Perfect for e-commerce stores, marketing campaigns, and customer engagement initiatives.\n\n## Key Features\n- **Email Verification**: Validates email addresses using Verifi Email API to prevent fraud and ensure deliverability\n- **Dynamic Promo Cards**: Generates stunning, personalized promotional cards with custom discount codes and QR codes\n- **Automated Email Delivery**: Sends professionally designed HTML emails with embedded promo card images\n- **Real-time Logging**: Tracks all promo distributions in Google Sheets for monitoring and analytics\n- **Error Handling**: Includes error path for invalid emails with admin notifications\n- **Fully Customizable**: Easy to customize card design, email template, and discount values\n\n## Workflow Process\n\n1. **Webhook Trigger**: Receives user data (name, email, promo_code, discount_value, discount_type)\n2. **Data Processing**: Formats and validates incoming data with default values\n3. **Email Verification**: Checks email validity using Verifi Email API\n4. **Validation Gateway**: Routes valid emails to generation or invalid to error path\n5. **Card Generation**: Creates personalized promo card image using HTML/CSS to Image API\n6. **Email Delivery**: Sends beautifully designed email with promo card via Gmail\n7. **Logging**: Records successful distributions in Google Sheets\n8. **Error Notification**: Sends admin alerts for failed attempts\n\n## What's Included\n\n### Beautiful Promo Card Design\n- Gradient purple background (#667eea to #764ba2)\n- Personalized greeting with customer name\n- Prominent discount display in circular badge\n- QR code for easy checkout redemption\n- Validity date clearly shown\n- Professional, mobile-responsive design\n\n### Professional Email Template\n- Engaging gradient header matching promo card\n- Highlighted promo code section with dashed border\n- Three feature icons (Easy to Use, Exclusive Deal, Limited Time)\n- Call-to-action button\n- Embedded promo card image\n- Clean footer with expiry and contact info\n\n## Required Integrations & APIs\n\n### 1. Verifi Email API\n- **Purpose**: Email verification and validation\n- **Get API Key**: https://verifi.email\n- **Setup**: Sign up → Generate API key → Add to workflow credentials\n\n### 2. HTML/CSS to Image API\n- **Purpose**: Convert HTML promo card to PNG image\n- **Get API Key**: https://htmlcsstoimg.com\n- **Setup**: Create account → Copy API key → Configure in workflow\n\n### 3. Gmail API (OAuth2)\n- **Purpose**: Send personalized promo emails\n- **Get Credentials**: https://console.cloud.google.com/\n- **Setup Steps**:\n  - Create new project\n  - Enable Gmail API\n  - Create OAuth 2.0 Client ID\n  - Add credentials to n8n\n\n### 4. Google Sheets API\n- **Purpose**: Log promo distributions for tracking\n- **Get Credentials**: https://console.cloud.google.com/\n- **Setup Steps**:\n  - Enable Google Sheets API\n  - Create Service Account (or use OAuth2)\n  - Share your Google Sheet with the service account email\n  - Add credentials to n8n\n\n## Quick Start Guide\n\n### Step 1: Import the Workflow\n1. Copy the workflow JSON\n2. Go to n8n dashboard\n3. Click \"Import from File\" or \"Import from URL\"\n4. Paste the workflow\n\n### Step 2: Configure Credentials\nSet up the following credentials in n8n:\n- Verifi Email API credentials\n- HTML/CSS to Image API credentials\n- Gmail OAuth2 credentials\n- Google Sheets credentials\n\n### Step 3: Create Google Sheet\n1. Create a new Google Sheet\n2. Add headers: Timestamp, Name, Email, Promo Code, Discount Value, Status\n3. Share with your service account (if using service account auth)\n4. Copy the Sheet ID and update in the workflow\n\n### Step 4: Customize Settings\n- **QR Code URL**: Update the checkout URL in the promo card HTML (line with YOURSTORE.com)\n- **Admin Email**: Change admin notification email in the \"Error Path\" node\n- **Validity Date**: Update expiry date in both promo card and email template\n- **Colors/Design**: Customize gradient colors and styling as needed\n\n### Step 5: Test the Workflow\n1. Activate the workflow\n2. Copy the webhook URL\n3. Send a POST request with test data:\n```json\n{\n  \"name\": \"John Doe\",\n  \"email\": \"john@example.com\",\n  \"promo_code\": \"SAVE20\",\n  \"discount_value\": \"20%\",\n  \"discount_type\": \"percentage\"\n}\n```\n\n## Input Parameters\n\nSend a POST request to the webhook with the following JSON body:\n\n```json\n{\n  \"name\": \"Customer Name\",           // Optional: defaults to \"Valued Customer\"\n  \"email\": \"customer@example.com\",   // Required: customer email address\n  \"promo_code\": \"SUMMER25\",          // Optional: defaults to \"WELCOME10\"\n  \"discount_value\": \"25%\",           // Optional: defaults to \"10%\"\n  \"discount_type\": \"percentage\"      // Optional: defaults to \"percentage\"\n}\n```\n\n## Use Cases\n\n### E-commerce\n- Welcome offers for new customers\n- Abandoned cart recovery with discount codes\n- Birthday/anniversary promotions\n- Loyalty rewards for repeat customers\n\n### Marketing Campaigns\n- Seasonal sale promotions\n- Referral program rewards\n- Social media contest prizes\n- Email list incentives\n\n### Customer Engagement\n- Re-engagement campaigns\n- VIP member benefits\n- Event registration perks\n- Survey completion rewards\n\n## Customization Options\n\n### Promo Card Design\n- Modify colors and gradients in the HTML/CSS\n- Change logo/emoji in the header\n- Adjust card dimensions and layout\n- Customize QR code size and styling\n- Update validity date format\n\n### Email Template\n- Change email subject line\n- Modify header text and styling\n- Add company branding/logo\n- Customize CTA button text and link\n- Update footer information\n\n### Business Logic\n- Add conditional discounts based on user tier\n- Implement time-based validity\n- Add product-specific promo codes\n- Include multiple discount tiers\n- Add custom validation rules\n\n## Monitoring & Analytics\n\nThe workflow automatically logs:\n- Timestamp of each promo distribution\n- Customer name and email\n- Promo code assigned\n- Discount value\n- Distribution status (Success/Failed)\n\nUse this data to:\n- Track campaign performance\n- Monitor redemption rates\n- Identify popular discount amounts\n- Analyze email delivery success\n- Debug failed attempts\n\n## Troubleshooting\n\n### Common Issues\n\n**Email not sending:**\n- Verify Gmail API credentials are correct\n- Check OAuth2 token hasn't expired\n- Ensure Gmail account has proper permissions\n\n**Image not generating:**\n- Confirm HTML/CSS to Image API key is valid\n- Check API usage limits haven't been exceeded\n- Verify HTML syntax is correct\n\n**Email validation failing:**\n- Ensure Verifi Email API credentials are active\n- Check API rate limits\n- Verify email format in incoming data\n\n**Google Sheets not updating:**\n- Confirm Sheet ID is correct\n- Check service account has edit permissions\n- Verify sheet name matches configuration\n\n## Pro Tips\n\n1. **Test with Invalid Emails**: Try sending to invalid emails to verify error handling works\n2. **Monitor API Limits**: Keep track of API usage to avoid hitting rate limits\n3. **A/B Test Designs**: Create multiple card variations to see which performs better\n4. **Personalize Further**: Add more custom fields like user tier, purchase history, etc.\n5. **Schedule Reports**: Create a companion workflow to send daily/weekly promo distribution reports\n\n## Performance Metrics\n\n- **Processing Time**: 30-60 seconds per request\n- **Success Rate**: 95%+ for valid email addresses\n- **Scalability**: Handles hundreds of requests per hour\n- **Error Recovery**: Automatic admin notifications for failures\n\n## Security & Privacy\n\n- Email validation prevents spam and fraud\n- No sensitive data stored in workflow\n- All API credentials encrypted in n8n\n- Google Sheets logging can be disabled if needed\n- Compliant with email marketing best practices\n\n## Best Practices\n\n1. **Email Deliverability**: Always validate emails before sending\n2. **Rate Limiting**: Implement delays for bulk sends to avoid spam filters\n3. **Personalization**: Use customer names and relevant discount amounts\n4. **Clear CTAs**: Make it easy for customers to redeem their codes\n5. **Tracking**: Monitor distribution and redemption metrics\n6. **Testing**: Always test with real emails before launching campaigns\n\n## 📄 License\n\nThis workflow template is provided as-is for use in your n8n instance. Feel free to customize and adapt to your specific needs.\n\n---\n\n## Why Use This Workflow?\n\n✅ **Saves Time**: Automates entire promo distribution process  \n✅ **Reduces Errors**: Email validation prevents bounce rates  \n✅ **Professional Output**: Beautiful, branded promo cards  \n✅ **Easy Tracking**: Real-time logging in Google Sheets  \n✅ **Scalable**: Handles high volume campaigns  \n✅ **Customizable**: Easy to adapt to your brand  \n✅ **Cost-Effective**: Uses affordable or free tier APIs  \n\nPerfect for marketers, e-commerce managers, and anyone looking to automate personalized promotional campaigns!",
    "workflow": {
      "id": "",
      "meta": {
        "templateCredsSetupCompleted": false
      },
      "name": "Personalized Promo Code Cards for Verified Users",
      "tags": [],
      "nodes": [
        {
          "id": "b0df3843-bc98-4a04-b9c5-587df865c8d3",
          "name": "Edit Fields",
          "type": "n8n-nodes-base.set",
          "position": [
            576,
            816
          ],
          "parameters": {
            "options": {},
            "assignments": {
              "assignments": [
                {
                  "id": "bf99a77f-9879-45b3-b466-1ec73565d9bd",
                  "name": "name",
                  "type": "string",
                  "value": "={{$json.body.name || 'Valued Customer'}}"
                },
                {
                  "id": "d5746616-ae00-4394-8c45-b1b2f996b1b0",
                  "name": "email",
                  "type": "string",
                  "value": "={{ $json.body.email }}"
                },
                {
                  "id": "78bac585-fbff-4a10-9953-85dbac79b18f",
                  "name": "promo_code",
                  "type": "string",
                  "value": "={{ $json.body.promo_code || 'WELCOME10'}}"
                },
                {
                  "id": "f3aae8d3-4d1d-4e3f-8bfc-506321852264",
                  "name": "discount_value",
                  "type": "string",
                  "value": "={{ $json.body.discount_value || '10%' }}"
                },
                {
                  "id": "05f0ff79-d917-479d-b7bb-fb9a439fb26c",
                  "name": "discount_type",
                  "type": "string",
                  "value": "={{ $json.body.discount_type || 'percentage' }}"
                },
                {
                  "id": "d02a9d89-1474-462c-a9d6-052c9b8aa1fc",
                  "name": "timestamp",
                  "type": "string",
                  "value": "={{new Date().toISOString()}}"
                }
              ]
            }
          },
          "typeVersion": 3.4
        },
        {
          "id": "af6b8362-eea0-47fa-a524-d8053150504f",
          "name": "Generate Promo Card Image",
          "type": "n8n-nodes-htmlcsstoimage.htmlCssToImage",
          "position": [
            1504,
            688
          ],
          "parameters": {
            "html_content": "=<!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>Promo Card</title>\n    <style>\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n        }\n\n        body {\n            font-family: 'Arial', sans-serif;\n            background: #f5f5f5;\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            min-height: 100vh;\n            padding: 20px;\n        }\n\n        .promo-card {\n            width: 400px;\n            height: 550px;\n            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n            border-radius: 20px;\n            padding: 25px;\n            color: white;\n            text-align: center;\n            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);\n            display: flex;\n            flex-direction: column;\n            justify-content: space-between;\n            overflow: visible;\n        }\n\n        .header {\n            text-align: center;\n        }\n\n        .logo {\n            width: 50px;\n            height: 50px;\n            background: white;\n            border-radius: 50%;\n            margin: 0 auto 15px;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            color: #667eea;\n            font-weight: bold;\n            font-size: 18px;\n        }\n\n        .title {\n            font-size: 24px;\n            font-weight: bold;\n            margin-bottom: 10px;\n            text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);\n        }\n\n        .content {\n            flex: 1;\n            display: flex;\n            flex-direction: column;\n            justify-content: center;\n            align-items: center;\n            gap: 8px;\n        }\n\n        .greeting {\n            font-size: 18px;\n            margin-bottom: 5px;\n        }\n\n        .discount-circle {\n            width: 90px;\n            height: 90px;\n            background: rgba(255, 255, 255, 0.2);\n            border: 3px solid rgba(255, 255, 255, 0.4);\n            border-radius: 50%;\n            display: flex;\n            flex-direction: column;\n            justify-content: center;\n            align-items: center;\n            margin: 5px 0;\n            backdrop-filter: blur(10px);\n        }\n\n        .discount-value {\n            font-size: 24px;\n            font-weight: bold;\n            line-height: 1;\n        }\n\n        .discount-text {\n            font-size: 10px;\n            opacity: 0.9;\n        }\n\n        .promo-code {\n            background: rgba(255, 255, 255, 0.2);\n            border: 2px solid rgba(255, 255, 255, 0.3);\n            border-radius: 10px;\n            padding: 8px 16px;\n            font-size: 14px;\n            font-weight: bold;\n            letter-spacing: 2px;\n            margin: 8px 0;\n            backdrop-filter: blur(10px);\n        }\n\n        .qr-section {\n            margin: 8px 0;\n        }\n\n        .qr-container {\n            background: white;\n            border-radius: 8px;\n            padding: 8px;\n            display: inline-block;\n            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);\n        }\n\n        .qr-code {\n            width: 70px;\n            height: 70px;\n            background: white;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n        }\n\n        .qr-code img {\n            width: 100%;\n            height: 100%;\n            display: block;\n        }\n\n        .qr-label {\n            font-size: 10px;\n            margin-top: 8px;\n            opacity: 0.8;\n        }\n\n        .footer {\n            text-align: center;\n            background: rgba(0, 0, 0, 0.2);\n            padding: 10px;\n            border-radius: 10px;\n            margin-top: 5px;\n        }\n\n        .expiry {\n            font-size: 13px;\n            font-weight: bold;\n            color: #ffd700;\n            text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);\n        }\n    </style>\n</head>\n<body>\n    <div class=\"promo-card\">\n        <div class=\"header\">\n            <div class=\"logo\">🎁</div>\n            <h1 class=\"title\">SPECIAL OFFER</h1>\n        </div>\n        \n        <div class=\"content\">\n            <h2 class=\"greeting\">Hi {{ $('Edit Fields').item.json.name }}!</h2>\n            \n            <div class=\"discount-circle\">\n                <span class=\"discount-value\">{{ $('Edit Fields').item.json.discount_value }}</span>\n                <span class=\"discount-text\">OFF</span>\n            </div>\n            \n            <div class=\"promo-code\">{{ $('Edit Fields').item.json.promo_code }}</div>\n            \n            <div class=\"qr-section\">\n                <div class=\"qr-container\">\n                    <div class=\"qr-code\">\n                        <img src=\"https://api.qrserver.com/v1/create-qr-code/?size=70x70&data=https://YOURSTORE.com/checkout?code={{ $('Edit Fields').item.json.promo_code }}&format=png&margin=0\" alt=\"QR Code\">\n                    </div>\n                </div>\n                <p class=\"qr-label\">Scan to Apply</p>\n            </div>\n        </div>\n        \n        <div class=\"footer\">\n            <p class=\"expiry\">Valid until Dec 31, 2024</p>\n        </div>\n    </div>\n</body>\n</html>",
            "response_format_html": "png"
          },
          "credentials": {
            "htmlcsstoimgApi": {
              "id": "credential-id",
              "name": "htmlcsstoimgApi Credential"
            }
          },
          "typeVersion": 1
        },
        {
          "id": "9e1bca1c-4f75-47ad-8a7c-9e42b5b7f776",
          "name": "Log Promo Distribution",
          "type": "n8n-nodes-base.googleSheets",
          "position": [
            2272,
            688
          ],
          "parameters": {
            "columns": {
              "value": {
                "Name": "={{ $('Edit Fields').item.json.name }}",
                "Email": "={{ $('Edit Fields').item.json.email }}",
                "Status": "Sent Successfully",
                "Timestamp": "={{new Date().toISOString()}}",
                "Promo Code": "={{ $('Edit Fields').item.json.promo_code }}",
                "Discount Value": "={{ $('Edit Fields').item.json.discount_value }}"
              },
              "schema": [
                {
                  "id": "Timestamp",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Timestamp",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Name",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Name",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Email",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Email",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Promo Code",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Promo Code",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Discount Value",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Discount Value",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Status",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Status",
                  "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_ID/edit#gid=0",
              "cachedResultName": "Sheet1"
            },
            "documentId": {
              "__rl": true,
              "mode": "list",
              "value": "YOUR_GOOGLE_SHEETS_ID",
              "cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEETS_ID/edit?usp=drivesdk",
              "cachedResultName": "Log Promo Distribution"
            }
          },
          "credentials": {
            "googleSheetsOAuth2Api": {
              "id": "credential-id",
              "name": "googleSheetsOAuth2Api Credential"
            }
          },
          "typeVersion": 4.7
        },
        {
          "id": "bcea2cef-11a1-4b63-a09f-8726ed5a0aa8",
          "name": "Set Error Data",
          "type": "n8n-nodes-base.set",
          "position": [
            1488,
            1008
          ],
          "parameters": {
            "options": {},
            "assignments": {
              "assignments": [
                {
                  "id": "8c20bbf9-4758-499e-938c-d4a2efc7ca01",
                  "name": "error_type",
                  "type": "string",
                  "value": "Invalid Email"
                },
                {
                  "id": "ac6e79cc-a747-4a86-bdb5-f214e94dacfe",
                  "name": "timestamp",
                  "type": "string",
                  "value": "={{new Date().toISOString()}}"
                },
                {
                  "id": "b1ccacdf-c151-4107-adc0-eb3f21a5d927",
                  "name": "email",
                  "type": "string",
                  "value": "={{ $('Edit Fields').item.json.email }}"
                }
              ]
            }
          },
          "typeVersion": 3.4
        },
        {
          "id": "7135f609-3571-46c0-ba3d-79d9095109d8",
          "name": "Sticky Note",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            64,
            480
          ],
          "parameters": {
            "color": 7,
            "width": 416,
            "height": 480,
            "content": "## PROMO SIGNUP TRIGGER\n\n- API: Promo code signup webhook\n- Method: POST\n- Response: 200 OK with confirmation\n- Expected JSON:\n  ```json\n  {\n    \"name\": \"John Doe\",\n    \"email\": \"customer@email.com\",\n    \"promo_code\": \"SAVE20\",\n    \"discount_value\": \"20%\"\n  }\n  ```\n- Test URL: https://your-n8n-instance.com/webhook/promo-signup\n"
          },
          "typeVersion": 1
        },
        {
          "id": "5c7ce862-2a12-4348-9d59-2c4aa3463cb4",
          "name": "WEBHOOK",
          "type": "n8n-nodes-base.webhook",
          "position": [
            352,
            816
          ],
          "webhookId": "",
          "parameters": {
            "path": "promo-signup",
            "options": {
              "responseData": "={\"status\": \"success\", \"message\": \"Promo card being generated!\"}"
            },
            "httpMethod": "POST"
          },
          "typeVersion": 2.1
        },
        {
          "id": "d5bc4d1a-727d-4a2c-b038-f8f68c8b5573",
          "name": "Sticky Note1",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            496,
            496
          ],
          "parameters": {
            "color": 7,
            "width": 272,
            "height": 480,
            "content": "## DATA SANITIZATION\n\n- Purpose: Clean and prepare incoming data\n- Operations:\n  - Trim whitespace from all fields\n  - Set default values for missing data\n  - Add timestamp for tracking\n  - Validate required fields exist\n  - Normalize discount format\n- Output: Structured data for verification\n\n"
          },
          "typeVersion": 1
        },
        {
          "id": "32e56db6-94ef-4d63-ba29-c58024a643d3",
          "name": "Validate Email",
          "type": "n8n-nodes-verifiemail.verifiEmail",
          "position": [
            880,
            816
          ],
          "parameters": {
            "email": "={{ $json.email }}"
          },
          "credentials": {
            "verifiEmailApi": {
              "id": "credential-id",
              "name": "verifiEmailApi Credential"
            }
          },
          "typeVersion": 1
        },
        {
          "id": "4e0776eb-8e47-4d6b-bfc4-48495480514a",
          "name": "Sticky Note2",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            800,
            480
          ],
          "parameters": {
            "color": 7,
            "width": 224,
            "height": 496,
            "content": "## EMAIL VALIDATION\n\n- Purpose: Block disposable/invalid emails\n- Check Types:\n  - Syntax validation\n  - Domain verification\n  - Mailbox existence\n  - Disposable email detection\n- Result: Valid/invalid status for IF node\n"
          },
          "typeVersion": 1
        },
        {
          "id": "f6a6612d-7e62-45de-8b02-2b06a848a7f3",
          "name": "Sticky Note3",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            1088,
            528
          ],
          "parameters": {
            "color": 7,
            "width": 288,
            "height": 416,
            "content": "## VALIDATION GATEWAY\n\n- Purpose: Route based on email validity\n- TRUE Branch: Valid email → Generate card\n- FALSE Branch: Invalid email → Error handling\n- Condition: valid = \"true\" OR \"false\"\n- Prevents: Fraud and maintains list quality\n"
          },
          "typeVersion": 1
        },
        {
          "id": "25536778-aefe-45e5-81f1-01006ca85aa7",
          "name": "Validation Gateway",
          "type": "n8n-nodes-base.if",
          "position": [
            1152,
            816
          ],
          "parameters": {
            "options": {},
            "conditions": {
              "options": {
                "version": 2,
                "leftValue": "",
                "caseSensitive": true,
                "typeValidation": "strict"
              },
              "combinator": "and",
              "conditions": [
                {
                  "id": "f7f7e28c-6bf9-4443-8c94-2431a93c354d",
                  "operator": {
                    "type": "boolean",
                    "operation": "equals"
                  },
                  "leftValue": "={{ $json.valid }}",
                  "rightValue": true
                }
              ]
            }
          },
          "typeVersion": 2.2
        },
        {
          "id": "75b3e1f0-1a0c-452c-ae8b-24e22d5d0cda",
          "name": "Sticky Note4",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            1408,
            384
          ],
          "parameters": {
            "color": 7,
            "width": 336,
            "height": 480,
            "content": "## PROMO CARD GENERATION\n\n- Purpose: Create personalized promo cards\n- Service: HTML to Image API\n- Template: Professional gradient design\n- Variables: {{name}}, {{promo_code}}, {{discount_value}}\n- QR Code: Embedded checkout link\n- Output: PNG image URL for email attachment\n- Size: 400x500px optimized for email\n\n"
          },
          "typeVersion": 1
        },
        {
          "id": "29103362-5f8e-48a8-bcfc-3809cbd69d29",
          "name": "Sticky Note5",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            1776,
            384
          ],
          "parameters": {
            "color": 7,
            "width": 320,
            "height": 480,
            "content": "## CUSTOMER EMAIL DELIVERY\n\n- Purpose: Send promo card to verified customers\n- To: {{email}} (validated customer)\n- Subject: \"🎉 Your Exclusive {{discount_value}} Discount is Ready!\"\n- Type: HTML with personalized content\n- Attachment: Generated promo card image\n- Includes: Welcome message, usage instructions\n"
          },
          "typeVersion": 1
        },
        {
          "id": "51f09284-6a75-4f29-9fbc-b98778d7f47f",
          "name": "Success Path",
          "type": "n8n-nodes-base.gmail",
          "position": [
            1904,
            688
          ],
          "webhookId": "",
          "parameters": {
            "sendTo": "={{ $('Edit Fields').item.json.email }}",
            "message": "=<!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>Your Exclusive Offer</title>\n</head>\n<body style=\"margin: 0; padding: 0; font-family: 'Arial', 'Helvetica', sans-serif; background-color: #f4f4f4;\">\n    <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"background-color: #f4f4f4; padding: 20px 0;\">\n        <tr>\n            <td align=\"center\">\n                <table width=\"600\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"background-color: #ffffff; border-radius: 10px; overflow: hidden; box-shadow: 0 4px 12px rgba(0,0,0,0.1);\">\n                    \n                    <!-- Header with gradient -->\n                    <tr>\n                        <td style=\"background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 40px 30px; text-align: center;\">\n                            <h1 style=\"margin: 0; color: #ffffff; font-size: 32px; font-weight: bold; text-shadow: 0 2px 4px rgba(0,0,0,0.2);\">\n                                🎉 Welcome, {{ $('Edit Fields').item.json.name }}!\n                            </h1>\n                            <p style=\"margin: 10px 0 0 0; color: #ffffff; font-size: 16px; opacity: 0.95;\">\n                                Your exclusive offer is ready!\n                            </p>\n                        </td>\n                    </tr>\n                    \n                    <!-- Main Content -->\n                    <tr>\n                        <td style=\"padding: 40px 30px;\">\n                            <p style=\"margin: 0 0 20px 0; color: #333333; font-size: 16px; line-height: 1.6;\">\n                                Thank you for signing up! We're thrilled to have you join our community. \n                                As a warm welcome, we've prepared something special just for you.\n                            </p>\n                            \n                            <!-- Promo Code Box -->\n                            <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"margin: 30px 0;\">\n                                <tr>\n                                    <td style=\"background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 12px; padding: 30px; text-align: center;\">\n                                        <p style=\"margin: 0 0 10px 0; color: #ffffff; font-size: 14px; text-transform: uppercase; letter-spacing: 1px; opacity: 0.9;\">\n                                            Your Exclusive Promo Code\n                                        </p>\n                                        <div style=\"background-color: rgba(255,255,255,0.2); border: 2px dashed rgba(255,255,255,0.5); border-radius: 8px; padding: 15px 25px; display: inline-block; margin: 10px 0;\">\n                                            <p style=\"margin: 0; color: #ffffff; font-size: 28px; font-weight: bold; letter-spacing: 3px;\">\n                                                {{ $('Edit Fields').item.json.promo_code }}\n                                            </p>\n                                        </div>\n                                        <p style=\"margin: 15px 0 0 0; color: #ffd700; font-size: 20px; font-weight: bold;\">\n                                            Save {{ $('Edit Fields').item.json.discount_value }}!\n                                        </p>\n                                    </td>\n                                </tr>\n                            </table>\n                            \n                            <!-- Features -->\n                            <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"margin: 30px 0;\">\n                                <tr>\n                                    <td width=\"33%\" style=\"padding: 15px; text-align: center; vertical-align: top;\">\n                                        <div style=\"font-size: 32px; margin-bottom: 10px;\">✨</div>\n                                        <p style=\"margin: 0; color: #667eea; font-weight: bold; font-size: 14px;\">Easy to Use</p>\n                                        <p style=\"margin: 5px 0 0 0; color: #666666; font-size: 12px;\">Apply at checkout</p>\n                                    </td>\n                                    <td width=\"33%\" style=\"padding: 15px; text-align: center; vertical-align: top;\">\n                                        <div style=\"font-size: 32px; margin-bottom: 10px;\">🎁</div>\n                                        <p style=\"margin: 0; color: #667eea; font-weight: bold; font-size: 14px;\">Exclusive Deal</p>\n                                        <p style=\"margin: 5px 0 0 0; color: #666666; font-size: 12px;\">Just for you</p>\n                                    </td>\n                                    <td width=\"33%\" style=\"padding: 15px; text-align: center; vertical-align: top;\">\n                                        <div style=\"font-size: 32px; margin-bottom: 10px;\">⏰</div>\n                                        <p style=\"margin: 0; color: #667eea; font-weight: bold; font-size: 14px;\">Limited Time</p>\n                                        <p style=\"margin: 5px 0 0 0; color: #666666; font-size: 12px;\">Don't miss out</p>\n                                    </td>\n                                </tr>\n                            </table>\n                            \n                            <p style=\"margin: 25px 0; color: #333333; font-size: 16px; line-height: 1.6;\">\n                                We've also created a beautiful promo card for you (see attachment). \n                                Save it or share it with friends!\n                            </p>\n                            \n                            <!-- CTA Button -->\n                            <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"margin: 30px 0;\">\n                                <tr>\n                                    <td align=\"center\">\n                                        <a href=\"#\" style=\"display: inline-block; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: #ffffff; text-decoration: none; padding: 15px 40px; border-radius: 25px; font-size: 16px; font-weight: bold; box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);\">\n                                            Start Shopping Now\n                                        </a>\n                                    </td>\n                                </tr>\n                            </table>\n                            \n                            <p style=\"margin: 25px 0 0 0; color: #333333; font-size: 16px; line-height: 1.6;\">\n                                Happy shopping! 🛍️\n                            </p>\n                            <p style=\"margin: 5px 0 0 0; color: #666666; font-size: 14px; font-style: italic;\">\n                                We can't wait to see what you choose!\n                            </p>\n                            \n                            <!-- Promo Card Image -->\n                            <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"margin: 30px 0;\">\n                                <tr>\n                                    <td align=\"center\">\n                                        <p style=\"margin: 0 0 15px 0; color: #333333; font-size: 16px; font-weight: bold;\">\n                                            Your Personalized Promo Card\n                                        </p>\n                                        <img src=\"{{ $json.image_url }}\" alt=\"Your Promo Card\" style=\"max-width: 100%; height: auto; border-radius: 10px; box-shadow: 0 4px 12px rgba(0,0,0,0.15);\" />\n                                    </td>\n                                </tr>\n                            </table>\n                        </td>\n                    </tr>\n                    \n                    <!-- Footer -->\n                    <tr>\n                        <td style=\"background-color: #f8f8f8; padding: 25px 30px; text-align: center; border-top: 1px solid #eeeeee;\">\n                            <p style=\"margin: 0 0 10px 0; color: #999999; font-size: 12px;\">\n                                This offer is valid until Dec 31, 2024\n                            </p>\n                            <p style=\"margin: 0; color: #999999; font-size: 12px;\">\n                                Questions? Contact us at support@yourstore.com\n                            </p>\n                        </td>\n                    </tr>\n                    \n                </table>\n            </td>\n        </tr>\n    </table>\n</body>\n</html>",
            "options": {},
            "subject": "=🎉 Your Exclusive {{ $('Edit Fields').item.json.discount_value }} Discount is Ready!"
          },
          "credentials": {
            "gmailOAuth2": {
              "id": "credential-id",
              "name": "gmailOAuth2 Credential"
            }
          },
          "typeVersion": 2.1
        },
        {
          "id": "f7a274d9-a415-457c-8948-756bd04fead3",
          "name": "Sticky Note6",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            2144,
            352
          ],
          "parameters": {
            "color": 7,
            "width": 352,
            "height": 496,
            "content": "## ANALYTICS TRACKING\n\n- Purpose: Record all successful distributions\n- Google Sheets columns:\n  - Timestamp\n  - Customer Name\n  - Email Address\n  - Promo Code\n  - Discount Value\n  - Delivery Status\n- Used for: Reporting, duplicate prevention, analytics"
          },
          "typeVersion": 1
        },
        {
          "id": "07c54abb-da63-4e5f-9707-ff9193b9a169",
          "name": "Sticky Note7",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            1424,
            992
          ],
          "parameters": {
            "color": 7,
            "width": 256,
            "height": 464,
            "content": "\n\n\n\n\n\n\n\n\n\n\n\n## ERROR LOGGING\n\n- Purpose: Capture failed validation attempts\n- Data Collected:\n  - Invalid email address\n  - Reason for failure\n  - Timestamp\n  - User details (if available)\n- Prevents: Spam, fraud, system abuse\n"
          },
          "typeVersion": 1
        },
        {
          "id": "9fb1926d-d407-4272-811c-a116658f482b",
          "name": "Error Path",
          "type": "n8n-nodes-base.gmail",
          "position": [
            1824,
            1008
          ],
          "webhookId": "",
          "parameters": {
            "sendTo": "YOUR_ADMIN_EMAIL_HERE",
            "message": "=Failed to generate promo card for {{ $('Edit Fields').item.json.email }} - Invalid email address",
            "options": {},
            "subject": "⚠️ Failed Promo Card Generation  ",
            "emailType": "text"
          },
          "credentials": {
            "gmailOAuth2": {
              "id": "credential-id",
              "name": "gmailOAuth2 Credential"
            }
          },
          "typeVersion": 2.1
        },
        {
          "id": "c61c8af0-85bd-41d7-a310-d56056d2b4d1",
          "name": "Sticky Note8",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            1728,
            992
          ],
          "parameters": {
            "color": 7,
            "width": 336,
            "height": 416,
            "content": "\n\n\n\n\n\n\n\n\n\n\n\n## ADMIN NOTIFICATION\n\n- Purpose: Alert team of invalid attempts\n- To: YOUR_ADMIN_EMAIL_HERE\n- Subject: \"⚠️ Failed Promo Card Generation\"\n- Content: Error details and user information\n- Helps: Monitor system health, detect patterns"
          },
          "typeVersion": 1
        },
        {
          "id": "80c29be0-1ebe-431b-8c78-3c6c46019418",
          "name": "Sticky Note9",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -608,
            384
          ],
          "parameters": {
            "color": 7,
            "width": 592,
            "height": 784,
            "content": "## AUTOMATED PROMO CARD GENERATOR\n\n- Purpose: Generate personalized discount cards with email verification\n\n**Workflow:**  \nWebhook → Email Verification → Card Creation → Email → Sheets Log  \n\n**Highlights:**  \n- Fraud prevention  \n- Personalized promo visuals  \n- Automated customer mailing  \n- Real-time Google Sheets logging  \n\n**APIs Used & Where to Get Keys:**\n\n1️⃣ **Verifi Email API** – for email verification  \n🔗 Get API key from: [https://verifi.email](https://verifi.email) \n\n2️⃣ **HTML to Image API** – for converting HTML promo card to image  \n🔗 Get API key from: [https://htmlcsstoimg.com](https://htmlcsstoimg.com)  \n\n3️⃣ **Gmail API** – for sending personalized promo emails  \n🔗 Get credentials from: [https://console.cloud.google.com/](https://console.cloud.google.com/)  \n➡️ Create project → Enable Gmail API → Generate OAuth 2.0 Client ID  \n\n4️⃣ **Google Sheets API** – for logging promo data  \n🔗 Get credentials from: [https://console.cloud.google.com/](https://console.cloud.google.com/)  \n➡️ Enable Google Sheets API → Create Service Account → Download JSON key  \n\n- Processing: 30-60 seconds per request\n- Success Rate: 95%+ for valid emails\n- Monitoring:\n  - Email verification rates\n  - Image generation failures\n  - Delivery metrics\n  - API usage limits\n\n\n"
          },
          "typeVersion": 1
        }
      ],
      "active": false,
      "pinData": {},
      "settings": {
        "executionOrder": "v1"
      },
      "versionId": "",
      "connections": {
        "WEBHOOK": {
          "main": [
            [
              {
                "node": "Edit Fields",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Edit Fields": {
          "main": [
            [
              {
                "node": "Validate Email",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Success Path": {
          "main": [
            [
              {
                "node": "Log Promo Distribution",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Set Error Data": {
          "main": [
            [
              {
                "node": "Error Path",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Validate Email": {
          "main": [
            [
              {
                "node": "Validation Gateway",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Validation Gateway": {
          "main": [
            [
              {
                "node": "Generate Promo Card Image",
                "type": "main",
                "index": 0
              }
            ],
            [
              {
                "node": "Set Error Data",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Generate Promo Card Image": {
          "main": [
            [
              {
                "node": "Success Path",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      }
    },
    "lastUpdatedBy": 1,
    "workflowInfo": {
      "nodeCount": 19,
      "nodeTypes": {
        "n8n-nodes-base.if": {
          "count": 1
        },
        "n8n-nodes-base.set": {
          "count": 2
        },
        "n8n-nodes-base.gmail": {
          "count": 2
        },
        "n8n-nodes-base.webhook": {
          "count": 1
        },
        "n8n-nodes-base.stickyNote": {
          "count": 10
        },
        "n8n-nodes-base.googleSheets": {
          "count": 1
        },
        "n8n-nodes-verifiemail.verifiEmail": {
          "count": 1
        },
        "n8n-nodes-htmlcsstoimage.htmlCssToImage": {
          "count": 1
        }
      }
    },
    "status": "published",
    "user": {
      "name": "Jitesh Dugar",
      "username": "jiteshdugar",
      "bio": "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.",
      "verified": true,
      "links": [
        "https://www.linkedin.com/in/jiteshdugar"
      ],
      "avatar": "https://gravatar.com/avatar/edaa3abb99806b0586dced559d0a5417f24a507e7c4464a63960f0638a4b1b90?r=pg&d=retro&size=200"
    },
    "nodes": [
      {
        "id": 18,
        "icon": "file:googleSheets.svg",
        "name": "n8n-nodes-base.googleSheets",
        "codex": {
          "data": {
            "alias": [
              "CSV",
              "Sheet",
              "Spreadsheet",
              "GS"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/",
                  "icon": "❤️",
                  "label": "Love at first sight: Ricardo’s n8n journey"
                },
                {
                  "url": "https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/",
                  "icon": "🧬",
                  "label": "Why business process automation with n8n can change your daily life"
                },
                {
                  "url": "https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/",
                  "icon": "🧾",
                  "label": "Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/",
                  "icon": "🎫",
                  "label": "Supercharging your conference registration process with n8n"
                },
                {
                  "url": "https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/",
                  "icon": "⏲",
                  "label": "Creating triggers for n8n workflows using polling"
                },
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/",
                  "icon": "📈",
                  "label": "Migrating Community Metrics to Orbit using n8n"
                },
                {
                  "url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
                  "icon": "💡",
                  "label": "15 Google apps you can combine and automate to increase productivity"
                },
                {
                  "url": "https://n8n.io/blog/your-business-doesnt-need-you-to-operate/",
                  "icon": " 🖥️",
                  "label": "Hey founders! Your business doesn't need you to operate"
                },
                {
                  "url": "https://n8n.io/blog/how-honest-burgers-use-automation-to-save-100k-per-year/",
                  "icon": "🍔",
                  "label": "How Honest Burgers Use Automation to Save $100k per year"
                },
                {
                  "url": "https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/",
                  "icon": "💻",
                  "label": "How a digital strategist uses n8n for online marketing"
                },
                {
                  "url": "https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/",
                  "icon": "🧠",
                  "label": "Why this Product Manager loves workflow automation with n8n"
                },
                {
                  "url": "https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/",
                  "icon": "🙌",
                  "label": "Sending Automated Congratulations with Google Sheets, Twilio, and n8n "
                },
                {
                  "url": "https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/",
                  "icon": "📈",
                  "label": "How a Membership Development Manager automates his work and investments"
                },
                {
                  "url": "https://n8n.io/blog/aws-workflow-automation/",
                  "label": "7 no-code workflow automations for Amazon Web Services"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"
                }
              ]
            },
            "categories": [
              "Data & Storage",
              "Productivity"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0"
          }
        },
        "group": "[\"input\",\"output\"]",
        "defaults": {
          "name": "Google Sheets"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="
        },
        "displayName": "Google Sheets",
        "typeVersion": 5,
        "nodeCategories": [
          {
            "id": 3,
            "name": "Data & Storage"
          },
          {
            "id": 4,
            "name": "Productivity"
          }
        ]
      },
      {
        "id": 20,
        "icon": "fa:map-signs",
        "name": "n8n-nodes-base.if",
        "codex": {
          "data": {
            "alias": [
              "Router",
              "Filter",
              "Condition",
              "Logic",
              "Boolean",
              "Branch"
            ],
            "details": "The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.",
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/",
                  "icon": "🏭",
                  "label": "Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"
                },
                {
                  "url": "https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/",
                  "icon": "☀️",
                  "label": "2021: The Year to Automate the New You with n8n"
                },
                {
                  "url": "https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/",
                  "icon": "🧬",
                  "label": "Why business process automation with n8n can change your daily life"
                },
                {
                  "url": "https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/",
                  "icon": "🤬",
                  "label": "Create a toxic language detector for Telegram in 4 step"
                },
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/",
                  "icon": "🔗",
                  "label": "How to build a low-code, self-hosted URL shortener in 3 steps"
                },
                {
                  "url": "https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/",
                  "icon": "⚙️",
                  "label": "Automate your data processing pipeline in 9 steps"
                },
                {
                  "url": "https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/",
                  "icon": "👥",
                  "label": "How to get started with CRM automation (with 3 no-code workflow ideas"
                },
                {
                  "url": "https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/",
                  "icon": "⚡️",
                  "label": "5 tasks you can automate with the new Notion API "
                },
                {
                  "url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
                  "icon": "💡",
                  "label": "15 Google apps you can combine and automate to increase productivity"
                },
                {
                  "url": "https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/",
                  "icon": "🏷️",
                  "label": "How to automatically manage contributions to open-source projects"
                },
                {
                  "url": "https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/",
                  "icon": " 🕸️",
                  "label": "How uProc scraped a multi-page website with a low-code workflow"
                },
                {
                  "url": "https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/",
                  "icon": "🤖",
                  "label": "5 workflow automations for Mattermost that we love at n8n"
                },
                {
                  "url": "https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/",
                  "icon": "🧠",
                  "label": "Why this Product Manager loves workflow automation with n8n"
                },
                {
                  "url": "https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/",
                  "icon": "🙌",
                  "label": "Sending Automated Congratulations with Google Sheets, Twilio, and n8n "
                },
                {
                  "url": "https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/",
                  "icon": "🎡",
                  "label": "How to set up a no-code CI/CD pipeline with GitHub and TravisCI"
                },
                {
                  "url": "https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/",
                  "icon": "🎖",
                  "label": "Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"
                },
                {
                  "url": "https://n8n.io/blog/aws-workflow-automation/",
                  "label": "7 no-code workflow automations for Amazon Web Services"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"
                }
              ]
            },
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Flow"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "If",
          "color": "#408000"
        },
        "iconData": {
          "icon": "map-signs",
          "type": "icon"
        },
        "displayName": "If",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 38,
        "icon": "fa:pen",
        "name": "n8n-nodes-base.set",
        "codex": {
          "data": {
            "alias": [
              "Set",
              "JS",
              "JSON",
              "Filter",
              "Transform",
              "Map"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/",
                  "icon": "🏭",
                  "label": "Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"
                },
                {
                  "url": "https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/",
                  "icon": "☀️",
                  "label": "2021: The Year to Automate the New You with n8n"
                },
                {
                  "url": "https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/",
                  "icon": "📈",
                  "label": "Automatically pulling and visualizing data with n8n"
                },
                {
                  "url": "https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/",
                  "icon": "📡",
                  "label": "Database Monitoring and Alerting with n8n"
                },
                {
                  "url": "https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/",
                  "icon": "🧾",
                  "label": "Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/",
                  "icon": "🔗",
                  "label": "How to build a low-code, self-hosted URL shortener in 3 steps"
                },
                {
                  "url": "https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/",
                  "icon": "⚙️",
                  "label": "Automate your data processing pipeline in 9 steps"
                },
                {
                  "url": "https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/",
                  "icon": "👥",
                  "label": "How to get started with CRM automation (with 3 no-code workflow ideas"
                },
                {
                  "url": "https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/",
                  "icon": "⚡️",
                  "label": "5 tasks you can automate with the new Notion API "
                },
                {
                  "url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
                  "icon": "💡",
                  "label": "15 Google apps you can combine and automate to increase productivity"
                },
                {
                  "url": "https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/",
                  "icon": " 🕸️",
                  "label": "How uProc scraped a multi-page website with a low-code workflow"
                },
                {
                  "url": "https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/",
                  "icon": "📱",
                  "label": "Building an expense tracking app in 10 minutes"
                },
                {
                  "url": "https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/",
                  "icon": "📹",
                  "label": "The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/",
                  "icon": "🤖",
                  "label": "5 workflow automations for Mattermost that we love at n8n"
                },
                {
                  "url": "https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/",
                  "icon": "🧰",
                  "label": "Learn to Build Powerful API Endpoints Using Webhooks"
                },
                {
                  "url": "https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/",
                  "icon": "📈",
                  "label": "How a Membership Development Manager automates his work and investments"
                },
                {
                  "url": "https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/",
                  "icon": "📈",
                  "label": "A low-code bitcoin ticker built with QuestDB and n8n.io"
                },
                {
                  "url": "https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/",
                  "icon": "🎡",
                  "label": "How to set up a no-code CI/CD pipeline with GitHub and TravisCI"
                },
                {
                  "url": "https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/",
                  "icon": "🎖",
                  "label": "Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"
                },
                {
                  "url": "https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/",
                  "icon": "🛵",
                  "label": "How Goomer automated their operations with over 200 n8n workflows"
                },
                {
                  "url": "https://n8n.io/blog/aws-workflow-automation/",
                  "label": "7 no-code workflow automations for Amazon Web Services"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"
                }
              ]
            },
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Data Transformation"
              ]
            }
          }
        },
        "group": "[\"input\"]",
        "defaults": {
          "name": "Edit Fields"
        },
        "iconData": {
          "icon": "pen",
          "type": "icon"
        },
        "displayName": "Edit Fields (Set)",
        "typeVersion": 3,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 47,
        "icon": "file:webhook.svg",
        "name": "n8n-nodes-base.webhook",
        "codex": {
          "data": {
            "alias": [
              "HTTP",
              "API",
              "Build",
              "WH"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/",
                  "icon": "✍️",
                  "label": "Learn how to automatically cross-post your content with n8n"
                },
                {
                  "url": "https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/",
                  "icon": "🛳",
                  "label": "Running n8n on ships: An interview with Maranics"
                },
                {
                  "url": "https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/",
                  "icon": "🔗",
                  "label": "How to build a low-code, self-hosted URL shortener in 3 steps"
                },
                {
                  "url": "https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/",
                  "icon": " 🪢",
                  "label": "What are APIs and how to use them with no code"
                },
                {
                  "url": "https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/",
                  "icon": "⚡️",
                  "label": "5 tasks you can automate with the new Notion API "
                },
                {
                  "url": "https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/",
                  "icon": "💻",
                  "label": "How a digital strategist uses n8n for online marketing"
                },
                {
                  "url": "https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/",
                  "icon": "📹",
                  "label": "The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/how-to-automatically-give-kudos-to-contributors-with-github-slack-and-n8n/",
                  "icon": "👏",
                  "label": "How to automatically give kudos to contributors with GitHub, Slack, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/",
                  "icon": "🤖",
                  "label": "5 workflow automations for Mattermost that we love at n8n"
                },
                {
                  "url": "https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/",
                  "icon": "🧠",
                  "label": "Why this Product Manager loves workflow automation with n8n"
                },
                {
                  "url": "https://n8n.io/blog/creating-custom-incident-response-workflows-with-n8n/",
                  "label": "How to automate every step of an incident response workflow"
                },
                {
                  "url": "https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/",
                  "icon": "🧰",
                  "label": "Learn to Build Powerful API Endpoints Using Webhooks"
                },
                {
                  "url": "https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/",
                  "icon": "🦄",
                  "label": "Learn how to use webhooks with Mattermost slash commands"
                },
                {
                  "url": "https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/",
                  "icon": "🛵",
                  "label": "How Goomer automated their operations with over 200 n8n workflows"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.webhook/"
                }
              ]
            },
            "categories": [
              "Development",
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Helpers"
              ]
            }
          }
        },
        "group": "[\"trigger\"]",
        "defaults": {
          "name": "Webhook"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTM1IDM3Yy0yLjIgMC00LTEuOC00LTRzMS44LTQgNC00IDQgMS44IDQgNC0xLjggNC00IDQiLz48cGF0aCBmaWxsPSIjMzc0NzRmIiBkPSJNMzUgNDNjLTMgMC01LjktMS40LTcuOC0zLjdsMy4xLTIuNWMxLjEgMS40IDIuOSAyLjMgNC43IDIuMyAzLjMgMCA2LTIuNyA2LTZzLTIuNy02LTYtNmMtMSAwLTIgLjMtMi45LjdsLTEuNyAxTDIzLjMgMTZsMy41LTEuOSA1LjMgOS40YzEtLjMgMi0uNSAzLS41IDUuNSAwIDEwIDQuNSAxMCAxMFM0MC41IDQzIDM1IDQzIi8+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTE0IDQzQzguNSA0MyA0IDM4LjUgNCAzM2MwLTQuNiAzLjEtOC41IDcuNS05LjdsMSAzLjlDOS45IDI3LjkgOCAzMC4zIDggMzNjMCAzLjMgMi43IDYgNiA2czYtMi43IDYtNnYtMmgxNXY0SDIzLjhjLS45IDQuNi01IDgtOS44IDgiLz48cGF0aCBmaWxsPSIjZTkxZTYzIiBkPSJNMTQgMzdjLTIuMiAwLTQtMS44LTQtNHMxLjgtNCA0LTQgNCAxLjggNCA0LTEuOCA0LTQgNCIvPjxwYXRoIGZpbGw9IiMzNzQ3NGYiIGQ9Ik0yNSAxOWMtMi4yIDAtNC0xLjgtNC00czEuOC00IDQtNCA0IDEuOCA0IDQtMS44IDQtNCA0Ii8+PHBhdGggZmlsbD0iI2U5MWU2MyIgZD0ibTE1LjcgMzQtMy40LTIgNS45LTkuN2MtMi0xLjktMy4yLTQuNS0zLjItNy4zIDAtNS41IDQuNS0xMCAxMC0xMHMxMCA0LjUgMTAgMTBjMCAuOS0uMSAxLjctLjMgMi41bC0zLjktMWMuMS0uNS4yLTEgLjItMS41IDAtMy4zLTIuNy02LTYtNnMtNiAyLjctNiA2YzAgMi4xIDEuMSA0IDIuOSA1LjFsMS43IDF6Ii8+PC9zdmc+"
        },
        "displayName": "Webhook",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 5,
            "name": "Development"
          },
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 356,
        "icon": "file:gmail.svg",
        "name": "n8n-nodes-base.gmail",
        "codex": {
          "data": {
            "alias": [
              "email",
              "human",
              "form",
              "wait",
              "hitl",
              "approval"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/",
                  "icon": "🧬",
                  "label": "Why business process automation with n8n can change your daily life"
                },
                {
                  "url": "https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/",
                  "icon": "🎫",
                  "label": "Supercharging your conference registration process with n8n"
                },
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/",
                  "icon": "👥",
                  "label": "How to get started with CRM automation (with 3 no-code workflow ideas"
                },
                {
                  "url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
                  "icon": "💡",
                  "label": "15 Google apps you can combine and automate to increase productivity"
                },
                {
                  "url": "https://n8n.io/blog/your-business-doesnt-need-you-to-operate/",
                  "icon": " 🖥️",
                  "label": "Hey founders! Your business doesn't need you to operate"
                },
                {
                  "url": "https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/",
                  "icon": "💪",
                  "label": "Using Automation to Boost Productivity in the Workplace"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gmail/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"
                }
              ]
            },
            "categories": [
              "Communication",
              "HITL"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "HITL": [
                "Human in the Loop"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Gmail"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"
        },
        "displayName": "Gmail",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 6,
            "name": "Communication"
          },
          {
            "id": 28,
            "name": "HITL"
          }
        ]
      },
      {
        "id": 565,
        "icon": "fa:sticky-note",
        "name": "n8n-nodes-base.stickyNote",
        "codex": {
          "data": {
            "alias": [
              "Comments",
              "Notes",
              "Sticky"
            ],
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Helpers"
              ]
            }
          }
        },
        "group": "[\"input\"]",
        "defaults": {
          "name": "Sticky Note",
          "color": "#FFD233"
        },
        "iconData": {
          "icon": "sticky-note",
          "type": "icon"
        },
        "displayName": "Sticky Note",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      }
    ],
    "categories": [
      {
        "id": 33,
        "name": "Social Media"
      }
    ],
    "image": []
  }
}