{
  "name": "Automated press pass verification & badge creation with QR codes & multi-channel distribution",
  "nodes": [
    {
      "id": "244283a0-fe52-407d-b0a8-b8029b2cc963",
      "name": "Webhook Trigger",
      "type": "n8n-nodes-base.webhook",
      "position": [
        496,
        368
      ]
    },
    {
      "id": "a523430b-73b8-483c-8e78-a537a2cd4169",
      "name": "Validate Required Fields",
      "type": "n8n-nodes-base.if",
      "position": [
        704,
        368
      ]
    },
    {
      "id": "1fe9f17a-2517-4ff5-a938-c693c0ba12e0",
      "name": "Stop: Incomplete Data",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        992,
        576
      ]
    },
    {
      "id": "b01f285b-a56d-4f0d-b837-cd30538e212c",
      "name": "Check Domain Verified",
      "type": "n8n-nodes-base.if",
      "position": [
        1136,
        224
      ]
    },
    {
      "id": "388d974b-8dd1-443d-b00b-4c3403318660",
      "name": "Stop: Domain Not Verified",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        1424,
        384
      ]
    },
    {
      "id": "1bc828ce-ffeb-4ed1-a197-30931c0f5e09",
      "name": "Generate Press ID & QR",
      "type": "n8n-nodes-base.code",
      "position": [
        1424,
        80
      ]
    },
    {
      "id": "6d49ad00-e959-4d06-959f-27a618db05eb",
      "name": "Send Press Pass Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2080,
        80
      ]
    },
    {
      "id": "46c2cc1d-6723-43d2-a328-345fd6a7e333",
      "name": "Notify Organizers (Slack)",
      "type": "n8n-nodes-base.slack",
      "position": [
        2352,
        -96
      ]
    },
    {
      "id": "28277e80-b94d-49b6-b64d-afc7701b3e2e",
      "name": "Log to Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2384,
        192
      ]
    },
    {
      "id": "2c254f60-918f-4b7f-8897-d238ee24fcca",
      "name": "Respond to Webhook",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        2672,
        64
      ]
    },
    {
      "id": "d5d8966f-d7ad-4e7b-97b2-2de650e64e44",
      "name": "Verifi Email",
      "type": "n8n-nodes-verifiemail.verifiEmail",
      "position": [
        896,
        224
      ]
    },
    {
      "id": "3c6ee60f-a677-4d90-88a5-72aee7e8a0b5",
      "name": "HTML/CSS to Image",
      "type": "n8n-nodes-htmlcsstoimage.htmlCssToImage",
      "position": [
        1696,
        80
      ]
    },
    {
      "id": "e574c3aa-a621-45e6-8886-94c4166579ae",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        64,
        32
      ],
      "parameters": {
        "width": 380,
        "height": 652,
        "content": "## How it works\nAutomated press pass generation system for media events. When journalists submit applications via webhook, the workflow validates their data, verifies email domains using VerifiEmail A"
      }
    },
    {
      "id": "6b1a61e4-4793-4270-9d70-c3a992252e35",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        464,
        256
      ],
      "parameters": {
        "width": 388,
        "height": 244,
        "content": "## Data Reception & Validation\nWebhook receives journalist applications and validates required fields (name, email, photo_url) before processing."
      }
    },
    {
      "id": "4b8dc3ba-c4a8-47e3-b977-147324563c8c",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        96
      ],
      "parameters": {
        "width": 392,
        "height": 284,
        "content": "## Email Verification\nVerifiEmail API validates email domain, checks MX records, and confirms journalist works for approved media outlet."
      }
    },
    {
      "id": "3a2eda27-24e5-471d-82c4-869edb8bbb50",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1376,
        -16
      ],
      "parameters": {
        "width": 472,
        "height": 252,
        "content": "## Badge Creation\nGenerates unique press ID, QR code, and professional badge image with journalist photo, credentials, and event branding."
      }
    },
    {
      "id": "89ab45e1-d6ee-4642-8e68-f64acf5edb5a",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2032,
        -176
      ],
      "parameters": {
        "width": 856,
        "height": 524,
        "content": "## Distribution & Logging\nSends badge via email, notifies organizers on Slack, logs to Google Sheets, then responds to webhook with success."
      }
    }
  ],
  "connections": {
    "Verifi Email": {
      "main": [
        [
          {
            "node": "Check Domain Verified",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook Trigger": {
      "main": [
        [
          {
            "node": "Validate Required Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTML/CSS to Image": {
      "main": [
        [
          {
            "node": "Send Press Pass Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log to Google Sheets": {
      "main": [
        [
          {
            "node": "Respond to Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Domain Verified": {
      "main": [
        [
          {
            "node": "Generate Press ID & QR",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Stop: Domain Not Verified",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Press Pass Email": {
      "main": [
        [
          {
            "node": "Notify Organizers (Slack)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Log to Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Press ID & QR": {
      "main": [
        [
          {
            "node": "HTML/CSS to Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate Required Fields": {
      "main": [
        [
          {
            "node": "Verifi Email",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Stop: Incomplete Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Notify Organizers (Slack)": {
      "main": [
        [
          {
            "node": "Respond to Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}