{
  "name": "Automate event RSVPs with email validation & badge generation using VerifiEmail & HTMLCssToImage",
  "nodes": [
    {
      "id": "5e77b586-d15b-44d5-9457-badf7a082228",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1264,
        128
      ],
      "parameters": {
        "width": 389,
        "height": 437,
        "content": "## 🔐 CREDENTIALS SETUP REQUIRED\n\n**Before activating this workflow, configure:**\n\n1. **VerifiEmail API**\n   - Sign up at https://verifi.email\n   - Get your API key from dashboard\n\n2. **HTMLCssToImage*"
      }
    },
    {
      "id": "f09447a8-18f1-4f2e-9e43-9507bd64ecc5",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -848,
        96
      ],
      "parameters": {
        "width": 389,
        "height": 486,
        "content": "## 📥 STEP 1: WEBHOOK TRIGGER\n\n**What it does:**\n- Receives RSVP form submissions from Jotform\n- Captures attendee information in real-time\n\n**Expected Data:**\n```\n{\n  \"name\": \"John Doe\",\n  \"email\": \"t"
      }
    },
    {
      "id": "c7c73d92-4665-470c-84d4-0316a63305cd",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -448,
        192
      ],
      "parameters": {
        "width": 389,
        "height": 389,
        "content": "## ✅ STEP 2: EMAIL VALIDATION\n\n**What it does:**\n- Validates email addresses using VerifiEmail API\n- Checks if email is real, active, and not disposable\n\n**API Response Fields:**\n- valid: \"true\" or \"f"
      }
    },
    {
      "id": "ab7ecffc-04a8-4269-bed1-9abd9023f930",
      "name": "IF Email Valid?",
      "type": "n8n-nodes-base.if",
      "position": [
        32,
        432
      ]
    },
    {
      "id": "71cae75b-a92f-4f34-9f94-66d6e324425a",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        112
      ],
      "parameters": {
        "width": 325,
        "height": 454,
        "content": "## ⚖️ STEP 3: CONDITIONAL BRANCH\n\n**TRUE Path (Green):**\n1. Prepare badge data\n2. Generate image\n3. Send confirmation email\n4. Log to Google Sheets\n5. Notify organizer\n\n**FALSE Path (Red):**\n1. Send r"
      }
    },
    {
      "id": "1e31c753-3b9e-45f4-b111-7785381fbab6",
      "name": "Prepare Badge Data",
      "type": "n8n-nodes-base.set",
      "position": [
        384,
        320
      ]
    },
    {
      "id": "e6ac4eba-c828-4ed8-8fc9-6d1a4ee53b26",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        288,
        0
      ],
      "parameters": {
        "width": 357,
        "height": 477,
        "content": "## 🎨 STEP 4: PREPARE BADGE DATA\n\n**What it does:**\n- Consolidates all attendee data\n- Creates HTML template for badge\n- Formats data for image generation\n\n**Data Fields Set:**\n- name, email, event\n- d"
      }
    },
    {
      "id": "b0bc3747-f856-40b9-8189-c4239b998bc4",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        656,
        16
      ],
      "parameters": {
        "width": 389,
        "height": 461,
        "content": "## 🖼️ STEP 5: GENERATE BADGE IMAGE\n\n**What it does:**\n- Converts HTML badge to PNG image\n- Uses HTMLCssToImage API\n- Returns shareable image URL\n\n**Request Body:**\n- html: The badge HTML template\n- go"
      }
    },
    {
      "id": "a27da0b3-480d-4642-bd43-056d877e06f1",
      "name": "Send Confirmation Email - Gmail",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1168,
        320
      ]
    },
    {
      "id": "eee726fa-5565-4fa3-9aff-c38f779b5266",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1056,
        -16
      ],
      "parameters": {
        "width": 389,
        "height": 509,
        "content": "## 📧 STEP 6: SEND CONFIRMATION EMAIL\n\n**What it does:**\n- Sends personalized confirmation to attendee\n- Includes generated badge image\n- Provides event details recap\n\n**Email Components:**\n- Professio"
      }
    },
    {
      "id": "59b0cbd3-9d4b-4bdf-ad9a-4f23ed2ff912",
      "name": "Log to Google Sheets - Valid",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1584,
        320
      ]
    },
    {
      "id": "1dff5561-2ca0-4bf4-bb0c-302dee7bdeba",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1456,
        -32
      ],
      "parameters": {
        "width": 389,
        "height": 525,
        "content": "## 📊 STEP 7: LOG TO GOOGLE SHEETS\n\n**What it does:**\n- Records all confirmed RSVPs\n- Creates audit trail\n- Enables analytics and reporting\n\n**Google Sheets Setup:**\n1. Create spreadsheet: Event_RSVP_T"
      }
    },
    {
      "id": "08963af7-9b5e-4e0b-9087-f44d3bf7dcdb",
      "name": "Send Rejection Email - Invalid",
      "type": "n8n-nodes-base.gmail",
      "position": [
        384,
        560
      ]
    },
    {
      "id": "8abca1c0-5ac3-4681-a00c-16221790b5af",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        288,
        544
      ],
      "parameters": {
        "width": 357,
        "height": 573,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n## 🚫 STEP 9: HANDLE INVALID EMAILS\n\n**Rejection Email Features:**\n- Clear error explanation\n- Helpful troubleshooting tips\n- Support contact information\n- Professional tone\n- Resubmissio"
      }
    },
    {
      "id": "0e63afe4-3614-4e11-96f7-fe44a50c90c8",
      "name": "Log Invalid to Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        752,
        560
      ]
    },
    {
      "id": "aa1b8b04-bbe5-4bd0-87b4-5bc88ce5ef72",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        656,
        544
      ],
      "parameters": {
        "width": 309,
        "height": 477,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n## 📊 STEP 10: LOG FAILED ATTEMPTS\n\n**What it does:**\n- Records all invalid email attempts\n- Creates comprehensive audit trail\n- Enables failure analysis\n\n**Logged Data:**\n- All submission"
      }
    },
    {
      "id": "66427e24-0313-49e3-9d09-297df5a6220c",
      "name": "Verifi Email",
      "type": "n8n-nodes-verifiemail.verifiEmail",
      "position": [
        -336,
        432
      ]
    },
    {
      "id": "0a97838a-ea99-483f-b9ff-2dd656eb305e",
      "name": "Webhook - RSVP Form Submission",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -672,
        432
      ]
    },
    {
      "id": "ce262a9c-ef77-477f-837b-368f10797f17",
      "name": "HTML/CSS to Image",
      "type": "n8n-nodes-htmlcsstoimage.htmlCssToImage",
      "position": [
        752,
        320
      ]
    }
  ],
  "connections": {
    "Verifi Email": {
      "main": [
        [
          {
            "node": "IF Email Valid?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF Email Valid?": {
      "main": [
        [
          {
            "node": "Prepare Badge Data",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send Rejection Email - Invalid",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTML/CSS to Image": {
      "main": [
        [
          {
            "node": "Send Confirmation Email - Gmail",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Badge Data": {
      "main": [
        [
          {
            "node": "HTML/CSS to Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log to Google Sheets - Valid": {
      "main": [
        []
      ]
    },
    "Send Rejection Email - Invalid": {
      "main": [
        [
          {
            "node": "Log Invalid to Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook - RSVP Form Submission": {
      "main": [
        [
          {
            "node": "Verifi Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Confirmation Email - Gmail": {
      "main": [
        [
          {
            "node": "Log to Google Sheets - Valid",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}