{
  "name": "Enterprise: Email Campaign - Welcome Series",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "welcome-campaign",
        "responseMode": "responseNode",
        "options": {}
      },
      "id": "webhook-trigger",
      "name": "Webhook (New User Signup)",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [
        250,
        300
      ],
      "notes": "\ud83d\udce5 Nh\u1eadn user signup m\u1edbi. Body: { name, email, signup_source }. Response: { success: true, campaign_id, email_count }"
    },
    {
      "parameters": {
        "jsCode": "// Validate and sanitize user signup data\nconst signup = $input.first().json.body || $input.first().json;\n\nif (!signup.name || !signup.email) {\n  throw new Error('Missing required fields: name, email');\n}\n\n// Validate email\nconst emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\nif (!emailRegex.test(signup.email)) {\n  throw new Error('Invalid email format');\n}\n\n// Generate campaign ID\nconst campaignId = `WELCOME-${Date.now().toString().slice(-10)}`;\n\nconst sanitized = {\n  campaign_id: campaignId,\n  name: signup.name.trim().replace(/<[^>]*>/g, ''),\n  email: signup.email.toLowerCase().trim(),\n  signup_source: signup.signup_source || 'Website',\n  signup_date: new Date().toISOString(),\n  timezone: 'Asia/Ho_Chi_Minh',\n  emails_sent: [],\n  emails_opened: [],\n  next_email_sequence: 1\n};\n\nconsole.log(`Campaign ${campaignId} started for ${sanitized.name} (${sanitized.email})`);\n\nreturn [{ json: sanitized }];"
      },
      "id": "validate-signup",
      "name": "Validate & Create Campaign ID",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        500,
        300
      ],
      "notes": "Validate email, sanitize name, t\u1ea1o campaign_id unique \u0111\u1ec3 tracking to\u00e0n b\u1ed9 sequence."
    },
    {
      "parameters": {
        "sendTo": "={{ $json.email }}",
        "subject": "\ud83c\udf89 Ch\u00e0o m\u1eebng {{ $json.name }} \u0111\u1ebfn v\u1edbi [T\u00ean C\u00f4ng Ty]!",
        "message": "=Ch\u00e0o {{ $json.name }},\n\n\ud83c\udf89 Ch\u00e0o m\u1eebng b\u1ea1n \u0111\u00e3 \u0111\u1ebfn v\u1edbi ch\u00fang t\u00f4i!\n\nCh\u00fang t\u00f4i r\u1ea5t vui khi b\u1ea1n tham gia c\u1ed9ng \u0111\u1ed3ng c\u1ee7a ch\u00fang t\u00f4i. \u0110\u00e2y l\u00e0 b\u01b0\u1edbc \u0111\u1ea7u ti\u00ean trong h\u00e0nh tr\u00ecnh c\u1ee7a b\u1ea1n!\n\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\ud83d\udccc B\u1eaeT \u0110\u1ea6U NH\u01af TH\u1ebe N\u00c0O?\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\n1\ufe0f\u20e3 Ho\u00e0n thi\u1ec7n h\u1ed3 s\u01a1 c\u00e1 nh\u00e2n\n   \u2192 \u0110\u0103ng nh\u1eadp v\u00e0 c\u1eadp nh\u1eadt th\u00f4ng tin\n\n2\ufe0f\u20e3 Kh\u00e1m ph\u00e1 t\u00ednh n\u0103ng ch\u00ednh\n   \u2192 Xem h\u01b0\u1edbng d\u1eabn nhanh t\u1ea1i \u0111\u00e2y: [Link]\n\n3\ufe0f\u20e3 K\u1ebft n\u1ed1i v\u1edbi c\u1ed9ng \u0111\u1ed3ng\n   \u2192 Tham gia nh\u00f3m c\u1ee7a ch\u00fang t\u00f4i: [Link]\n\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\ud83d\udca1 M\u1eb8O NHANH\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\n\u2022 \u0110\u1eebng ng\u1ea7n ng\u1ea1i kh\u00e1m ph\u00e1 v\u00e0 th\u1eed nghi\u1ec7m\n\u2022 N\u1ebfu c\u1ea7n h\u1ed7 tr\u1ee3, \u043f\u0440\u043e\u0441\u0442\u043e reply email n\u00e0y\n\u2022 Ch\u00fang t\u00f4i s\u1ebd g\u1eedi th\u00eam h\u01b0\u1edbng d\u1eabn trong 2 ng\u00e0y t\u1edbi\n\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\nCh\u00fac b\u1ea1n c\u00f3 tr\u1ea3i nghi\u1ec7m tuy\u1ec7t v\u1eddi!\n\nTr\u00e2n tr\u1ecdng,\n\u0110\u1ed9i ng\u0169 [T\u00ean C\u00f4ng Ty]\n\ud83d\udce7 support@company.com | \ud83d\udcde 1900-XXXX",
        "options": {}
      },
      "id": "welcome-email",
      "name": "Email #1: Ch\u00e0o M\u1eebng",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        750,
        300
      ],
      "notes": "\u26a0\ufe0f G\u1eedi email ch\u00e0o m\u1eebng ngay khi user signup. C\u1ea7n Gmail OAuth. Customize [T\u00ean C\u00f4ng Ty] v\u00e0 links."
    },
    {
      "parameters": {
        "amount": 2,
        "unit": "days"
      },
      "id": "wait-2-days",
      "name": "Wait 2 Days",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        1000,
        300
      ],
      "notes": "\u26a0\ufe0f Ch\u1edd 2 ng\u00e0y tr\u01b0\u1edbc khi g\u1eedi email ti\u1ebfp theo. Workflow ph\u1ea3i \u0111\u01b0\u1ee3c Active \u0111\u1ec3 Wait node ho\u1ea1t \u0111\u1ed9ng."
    },
    {
      "parameters": {
        "jsCode": "// Check if user opened Email #1\n// NOTE: This is a mock implementation\n// Real implementation needs:\n// 1. Email tracking via SendGrid/Mailchimp open tracking\n// 2. Webhook to capture email opens\n// 3. Store open data in database/Google Sheets\n// For now, we'll simulate with random data\n\nconst campaignData = $input.first().json;\n\n// TODO: Replace with actual email open tracking\n// Example: Query Google Sheets or database for open events\n// const opens = $('Get Email Opens').all().filter(o => o.json.campaign_id === campaignData.campaign_id);\n// const opened = opens.length > 0;\n\n// Mock: Simulate 60% open rate\nconst opened = Math.random() < 0.6;\n\nreturn [{\n  json: {\n    ...campaignData,\n    email_1_sent: true,\n    email_1_opened: opened,\n    next_email: opened ? 3 : 2,\n    check_time: new Date().toISOString()\n  }\n}];"
      },
      "id": "check-open",
      "name": "Check Email #1 Opened?",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1250,
        300
      ],
      "notes": "\u26a0\ufe0f MOCK: Ki\u1ec3m tra user \u0111\u00e3 m\u1edf email #1 ch\u01b0a. Th\u1ef1c t\u1ebf c\u1ea7n email tracking (SendGrid/Mailchimp webhook).TODO: Replace with actual tracking."
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict"
          },
          "conditions": [
            {
              "id": "opened-check",
              "leftValue": "={{ $json.email_1_opened }}",
              "rightValue": true,
              "operator": {
                "type": "boolean",
                "operation": "true"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "if-opened",
      "name": "IF: Opened Email #1?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        1500,
        300
      ],
      "notes": "N\u1ebfu \u0111\u00e3 m\u1edf email #1 \u2192 g\u1eedi Advanced Tips (#3). N\u1ebfu ch\u01b0a \u2192 g\u1eedi l\u1ea1i Getting Started (#2b)."
    },
    {
      "parameters": {
        "sendTo": "={{ $json.email }}",
        "subject": "\ud83d\ude80 H\u01b0\u1edbng d\u1eabn b\u1eaft \u0111\u1ea7u - 5 b\u01b0\u1edbc \u0111\u1ec3 th\u00e0nh c\u00f4ng!",
        "message": "=Ch\u00e0o {{ $json.name }},\n\nCh\u00fang t\u00f4i th\u1ea5y b\u1ea1n ch\u01b0a xem email h\u01b0\u1edbng d\u1eabn tr\u01b0\u1edbc \u0111\u00f3. Kh\u00f4ng sao, ch\u00fang t\u00f4i g\u1eedi l\u1ea1i nh\u00e9!\n\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\ud83d\ude80 5 B\u01af\u1edaC \u0110\u1ec2 B\u1eaeT \u0110\u1ea6U\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\n1\ufe0f\u20e3 \u0110\u0103ng nh\u1eadp v\u00e0o t\u00e0i kho\u1ea3n\n   \u2192 [Link \u0111\u0103ng nh\u1eadp]\n\n2\ufe0f\u20e3 C\u1eadp nh\u1eadt th\u00f4ng tin c\u00e1 nh\u00e2n\n   \u2192 Th\u00eam \u1ea3nh \u0111\u1ea1i di\u1ec7n, th\u00f4ng tin li\u00ean h\u1ec7\n\n3\ufe0f\u20e3 Kh\u00e1m ph\u00e1 dashboard\n   \u2192 Xem video h\u01b0\u1edbng d\u1eabn 3 ph\u00fat: [Link]\n\n4\ufe0f\u20e3 T\u1ea1o project/workflow \u0111\u1ea7u ti\u00ean\n   \u2192 D\u00f9ng template c\u00f3 s\u1eb5n: [Link]\n\n5\ufe0f\u20e3 K\u1ebft n\u1ed1i v\u1edbi c\u1ed9ng \u0111\u1ed3ng\n   \u2192 Tham gia nh\u00f3m Facebook/Zalo: [Link]\n\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\ud83d\udcda T\u00c0I NGUY\u00caN H\u1eeeU \u00cdCH\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\n\u2022 H\u01b0\u1edbng d\u1eabn chi ti\u1ebft: [Link Docs]\n\u2022 Video tutorials: [Link YouTube]\n\u2022 FAQ: [Link FAQ]\n\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\nN\u1ebfu b\u1ea1n g\u1eb7p kh\u00f3 kh\u0103n, \u0111\u1eebng ng\u1ea7n ng\u1ea1i li\u00ean h\u1ec7:\n\ud83d\udce7 support@company.com | \ud83d\udcde 1900-XXXX\n\nCh\u00fac b\u1ea1n th\u00e0nh c\u00f4ng!\n\nTr\u00e2n tr\u1ecdng,\n\u0110\u1ed9i ng\u0169 [T\u00ean C\u00f4ng Ty]",
        "options": {}
      },
      "id": "getting-started-resend",
      "name": "Email #2b: G\u1eedi L\u1ea1i H\u01b0\u1edbng D\u1eabn",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        1750,
        450
      ],
      "notes": "\u26a0\ufe0f G\u1eedi l\u1ea1i email h\u01b0\u1edbng d\u1eabn cho user ch\u01b0a m\u1edf email tr\u01b0\u1edbc. C\u1ea7n Gmail OAuth."
    },
    {
      "parameters": {
        "sendTo": "={{ $json.email }}",
        "subject": "\ud83d\udca1 M\u1eb9o n\u00e2ng cao - T\u1ed1i \u01b0u tr\u1ea3i nghi\u1ec7m c\u1ee7a b\u1ea1n!",
        "message": "=Ch\u00e0o {{ $json.name }},\n\nTuy\u1ec7t v\u1eddi! B\u1ea1n \u0111\u00e3 s\u1eb5n s\u00e0ng cho b\u01b0\u1edbc ti\u1ebfp theo! \ud83c\udfaf\n\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\ud83d\udca1 M\u1eb8O N\u00c2NG CAO\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\n\ud83d\udd27 1. T\u00f9y ch\u1ec9nh c\u00e0i \u0111\u1eb7t\n   \u2192 Thi\u1ebft l\u1eadp notifications, timezone, language\n   \u2192 [Link Settings]\n\n\ud83d\udcca 2. S\u1eed d\u1ee5ng Analytics\n   \u2192 Theo d\u00f5i hi\u1ec7u su\u1ea5t v\u1edbi dashboard\n   \u2192 [Link Analytics]\n\n\ud83d\udd17 3. T\u00edch h\u1ee3p v\u1edbi c\u00f4ng c\u1ee5 y\u00eau th\u00edch\n   \u2192 K\u1ebft n\u1ed1i Slack, Google Sheets, Zalo\n   \u2192 [Link Integrations]\n\n\u26a1 4. Automation shortcuts\n   \u2192 T\u1ea1o rules t\u1ef1 \u0111\u1ed9ng h\u00f3a c\u00f4ng vi\u1ec7c\n   \u2192 [Link Automation]\n\n\ud83d\udc65 5. Collaboration features\n   \u2192 M\u1eddi \u0111\u1ed3ng nghi\u1ec7p, ph\u00e2n quy\u1ec1n\n   \u2192 [Link Team]\n\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\ud83c\udf93 H\u1eccC TH\u00caM\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\n\u2022 Webinar h\u00e0ng tu\u1ea7n: \u0110\u0103ng k\u00fd t\u1ea1i [Link]\n\u2022 Advanced guide: [Link Docs]\n\u2022 Case studies: [Link Stories]\n\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\nNg\u00e0y mai ch\u00fang t\u00f4i s\u1ebd g\u1eedi cho b\u1ea1n m\u1ed9t \u01b0u \u0111\u00e3i \u0111\u1eb7c bi\u1ec7t!\n\nTr\u00e2n tr\u1ecdng,\n\u0110\u1ed9i ng\u0169 [T\u00ean C\u00f4ng Ty]",
        "options": {}
      },
      "id": "advanced-tips",
      "name": "Email #3: M\u1eb9o N\u00e2ng Cao",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        1750,
        150
      ],
      "notes": "\u26a0\ufe0f G\u1eedi m\u1eb9o n\u00e2ng cao cho user \u0111\u00e3 engaged. C\u1ea7n Gmail OAuth."
    },
    {
      "parameters": {
        "amount": 3,
        "unit": "days"
      },
      "id": "wait-3-days",
      "name": "Wait 3 Days",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        2000,
        300
      ],
      "notes": "\u26a0\ufe0f Ch\u1edd 3 ng\u00e0y tr\u01b0\u1edbc khi g\u1eedi email \u01b0u \u0111\u00e3i. Workflow ph\u1ea3i Active."
    },
    {
      "parameters": {
        "sendTo": "={{ $json.email }}",
        "subject": "\ud83c\udf81 \u01afu \u0111\u00e3i \u0111\u1eb7c bi\u1ec7t d\u00e0nh cho {{ $json.name }}!",
        "message": "=Ch\u00e0o {{ $json.name }},\n\n\ud83c\udf81 Nh\u01b0 \u0111\u00e3 h\u1ee9a, \u0111\u00e2y l\u00e0 \u01b0u \u0111\u00e3i d\u00e0nh ri\u00eang cho b\u1ea1n!\n\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\ud83c\udf81 \u01afU \u0110\u00c3I \u0110\u1eb6C BI\u1ec6T\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\n\ud83d\udd25 Gi\u1ea3m 20% cho g\u00f3i Premium\n   \u2192 M\u00e3 code: WELCOME20\n   \u2192 H\u1ea1n s\u1eed d\u1ee5ng: 7 ng\u00e0y t\u1eeb h\u00f4m nay\n\n\ud83d\udce6 G\u00f3i Starter \u2192 Premium:\n   \u2705 Kh\u00f4ng gi\u1edbi h\u1ea1n workflows\n   \u2705 Priority support\n   \u2705 Advanced analytics\n   \u2705 Team collaboration\n\n\ud83d\udc49 \u0110\u0103ng k\u00fd ngay: [Link Upgrade]\n\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\u23f0 \u0110\u1eeaNG B\u1ece L\u1ee0\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\nM\u00e3 code ch\u1ec9 c\u00f3 hi\u1ec7u l\u1ef1c trong 7 ng\u00e0y!\n\nN\u1ebfu b\u1ea1n c\u00f3 c\u00e2u h\u1ecfi v\u1ec1 c\u00e1c g\u00f3i, ch\u00fang t\u00f4i s\u1eb5n s\u00e0ng t\u01b0 v\u1ea5n:\n\ud83d\udce7 sales@company.com | \ud83d\udcde 1900-XXXX\n\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\nC\u1ea3m \u01a1n b\u1ea1n \u0111\u00e3 l\u00e0 m\u1ed9t ph\u1ea7n c\u1ee7a ch\u00fang t\u00f4i!\n\nTr\u00e2n tr\u1ecdng,\n\u0110\u1ed9i ng\u0169 [T\u00ean C\u00f4ng Ty]",
        "options": {}
      },
      "id": "special-offer",
      "name": "Email #4: \u01afu \u0110\u00e3i \u0110\u1eb7c Bi\u1ec7t",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        2250,
        300
      ],
      "notes": "\u26a0\ufe0f G\u1eedi email \u01b0u \u0111\u00e3i cu\u1ed1i c\u00f9ng trong sequence. C\u1ea7n Gmail OAuth. Customize discount code v\u00e0 links."
    },
    {
      "parameters": {
        "operation": "append",
        "documentId": {
          "__rl": true,
          "value": "",
          "mode": "list"
        },
        "sheetName": {
          "__rl": true,
          "value": "",
          "mode": "list"
        },
        "columns": {
          "mappingMode": "autoMapInputData",
          "value": {
            "campaign_id": "={{ $json.campaign_id }}",
            "name": "={{ $('Validate & Create Campaign ID').first().json.name }}",
            "email": "={{ $('Validate & Create Campaign ID').first().json.email }}",
            "signup_source": "={{ $('Validate & Create Campaign ID').first().json.signup_source }}",
            "email_1_sent": "true",
            "email_1_opened": "={{ $('Check Email #1 Opened?').first().json.email_1_opened }}",
            "email_2_sent": "={{ $('IF: Opened Email #1?').first().json.email_1_opened ? 'false' : 'true' }}",
            "email_3_sent": "={{ $('IF: Opened Email #1?').first().json.email_1_opened ? 'true' : 'false' }}",
            "email_4_sent": "true",
            "status": "completed",
            "completed_at": "={{ new Date().toISOString() }}"
          }
        },
        "options": {}
      },
      "id": "log-campaign",
      "name": "Log to Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.4,
      "position": [
        2500,
        300
      ],
      "notes": "\u26a0\ufe0f Log to\u00e0n b\u1ed9 campaign sequence v\u00e0o Google Sheets. Columns: campaign_id, name, email, signup_source, email_1_sent, email_1_opened, email_2_sent, email_3_sent, email_4_sent, status, completed_at. C\u1ea7n Sheet ID."
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={\n  \"success\": true,\n  \"message\": \"Welcome campaign started\",\n  \"campaign_id\": \"{{ $('Validate & Create Campaign ID').first().json.campaign_id }}\",\n  \"email\": \"{{ $('Validate & Create Campaign ID').first().json.email }}\",\n  \"total_emails_in_sequence\": 4,\n  \"next_email\": \"Email #2 will be sent in 2 days\"\n}",
        "options": {}
      },
      "id": "response-node",
      "name": "Return Campaign Response",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1,
      "position": [
        2750,
        300
      ],
      "notes": "Tr\u1ea3 v\u1ec1 response cho webhook caller v\u1edbi campaign_id v\u00e0 status."
    }
  ],
  "connections": {
    "Webhook (New User Signup)": {
      "main": [
        [
          {
            "node": "Validate & Create Campaign ID",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate & Create Campaign ID": {
      "main": [
        [
          {
            "node": "Email #1: Ch\u00e0o M\u1eebng",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email #1: Ch\u00e0o M\u1eebng": {
      "main": [
        [
          {
            "node": "Wait 2 Days",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 2 Days": {
      "main": [
        [
          {
            "node": "Check Email #1 Opened?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Email #1 Opened?": {
      "main": [
        [
          {
            "node": "IF: Opened Email #1?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF: Opened Email #1?": {
      "main": [
        [
          {
            "node": "Email #3: M\u1eb9o N\u00e2ng Cao",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Email #2b: G\u1eedi L\u1ea1i H\u01b0\u1edbng D\u1eabn",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email #3: M\u1eb9o N\u00e2ng Cao": {
      "main": [
        [
          {
            "node": "Wait 3 Days",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email #2b: G\u1eedi L\u1ea1i H\u01b0\u1edbng D\u1eabn": {
      "main": [
        [
          {
            "node": "Wait 3 Days",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 3 Days": {
      "main": [
        [
          {
            "node": "Email #4: \u01afu \u0110\u00e3i \u0110\u1eb7c Bi\u1ec7t",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email #4: \u01afu \u0110\u00e3i \u0110\u1eb7c Bi\u1ec7t": {
      "main": [
        [
          {
            "node": "Log to Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log to Google Sheets": {
      "main": [
        [
          {
            "node": "Return Campaign Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1",
    "saveManualExecutions": true,
    "saveDataErrorExecution": "all",
    "saveDataSuccessExecution": "all",
    "timezone": "Asia/Ho_Chi_Minh"
  },
  "staticData": null,
  "tags": [
    "enterprise",
    "email-campaign",
    "welcome-series",
    "automation",
    "marketing"
  ],
  "triggerCount": 1,
  "versionId": "1.0.0",
  "meta": {
    "templateCredsSetupCompleted": false,
    "usage": "D\u00f9ng cho welcome series khi user m\u1edbi signup. Webhook URL: https://your-n8n.com/webhook/welcome-campaign. Sequence: Email 1 (immediate) \u2192 Wait 2 days \u2192 Email 2/3 \u2192 Wait 3 days \u2192 Email 4."
  }
}