{
  "name": "RSVP Lead Scoring for Events with GPT, HubSpot & Slack",
  "nodes": [
    {
      "id": "89e28647-2af7-4997-abac-5fede309a8a5",
      "name": "Set Workflow Variables",
      "type": "n8n-nodes-base.set",
      "position": [
        -768,
        -16
      ]
    },
    {
      "id": "bdb1deba-40bd-474a-ac1c-cd5b86f507cd",
      "name": "If Email Is Valid",
      "type": "n8n-nodes-base.if",
      "position": [
        -416,
        -16
      ]
    },
    {
      "id": "61fb65be-cf1f-4ea3-a65b-e92d0c383eb5",
      "name": "Log Invalid Submissions to Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -416,
        144
      ]
    },
    {
      "id": "5981cc68-2e39-45e7-8be7-55962409b84d",
      "name": "Score Lead with GPT-4o-mini",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -96,
        -16
      ]
    },
    {
      "id": "0a198e60-5ec6-4cb5-a71e-c2da2015ab8a",
      "name": "Parse AI Response",
      "type": "n8n-nodes-base.set",
      "position": [
        160,
        -16
      ]
    },
    {
      "id": "a66431ee-7bab-4f55-84a9-8a4387cac8b2",
      "name": "If Lead Score ≥ 70",
      "type": "n8n-nodes-base.if",
      "position": [
        416,
        -16
      ]
    },
    {
      "id": "1f911ba6-c1e0-4e52-bd56-b4460f8a1f41",
      "name": "Upsert Contact in HubSpot (Qualified)",
      "type": "n8n-nodes-base.hubspot",
      "position": [
        752,
        -16
      ]
    },
    {
      "id": "c621c81d-2bb5-476c-8faa-9e7966d8658d",
      "name": "Upsert Contact in HubSpot (Nurture)",
      "type": "n8n-nodes-base.hubspot",
      "position": [
        752,
        144
      ]
    },
    {
      "id": "d5d82e6b-a2b4-48cd-9157-360bbbb3c7c3",
      "name": "Alert Sales via Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        1072,
        -16
      ]
    },
    {
      "id": "69baa147-51ce-489a-932f-c1ec9aa0b713",
      "name": "Alert Marketing via Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        1072,
        176
      ]
    },
    {
      "id": "b4b34fdb-879f-4b32-8efb-9a3e38fb1711",
      "name": "Log to Event RSVP AI Leads Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1392,
        -16
      ]
    },
    {
      "id": "74b4dd68-f260-486e-a4cc-47d029b6b753",
      "name": "Contact: Braia Labs",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1680,
        -912
      ],
      "parameters": {
        "width": 540,
        "height": 1200,
        "content": "## Was this helpful? Get in touch! \n\n[![clic](https://vptkuqoipqbebipqjnqw.supabase.co/storage/v1/object/public/Milo%20Bravo/seeAxWUupcOOXY5tntexZ_video.gif)](https://tally.so/r/EkKGgB)\n\nI really hope"
      }
    },
    {
      "id": "033d3a92-6cc2-4067-9bae-3424f5d413fe",
      "name": "Section 2: Validate Email",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -576,
        -224
      ],
      "parameters": {
        "width": 412,
        "height": 520,
        "content": "## 2. Validate Email\n\nChecks if the email is present and matches a valid format. Invalid submissions are logged to a separate Google Sheets tab for manual review."
      }
    },
    {
      "id": "55e5f10c-cf08-4b42-b831-5a49a1507102",
      "name": "Section 3: AI Lead Scoring",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -144,
        -224
      ],
      "parameters": {
        "width": 440,
        "height": 520,
        "content": "## 3. AI Lead Scoring\n\nGPT-4o-mini analyzes the lead profile and returns a structured JSON response with:\n- **fitLevel:** High / Medium / Low\n- **leadScore:** 0–100\n- **nextAction:** Recommended next "
      }
    },
    {
      "id": "b67bea4f-4e00-43f6-a184-d3b4a6e9427b",
      "name": "Section 4: Route by Score",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        336,
        -224
      ],
      "parameters": {
        "width": 284,
        "height": 520,
        "content": "## 4. Route by Score\n\nSplits the pipeline based on AI lead score:\n- **Score ≥ 70** → Qualified lead path (top)\n- **Score < 70** → Nurture lead path (bottom)"
      }
    },
    {
      "id": "167f6b24-3acb-4213-bb7f-046026b0bd3e",
      "name": "Section 5: Sync to HubSpot",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        656,
        -224
      ],
      "parameters": {
        "width": 300,
        "height": 520,
        "content": "## 5. Sync to HubSpot\n\nUpserts the contact by email into HubSpot CRM. Stores AI scoring in custom properties:\n- `ai_fit_level`, `ai_lead_score`\n- `ai_next_action`, `ai_reason`\n- `utm_source`"
      }
    },
    {
      "id": "bc05753d-3192-49b1-938f-f6fa18f3aca5",
      "name": "Section 6: Slack Notifications",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        992,
        -224
      ],
      "parameters": {
        "width": 300,
        "height": 520,
        "content": "## 6. Slack Notifications\n\nSends real-time alerts with lead details, score, and a direct HubSpot link:\n- **Qualified leads** → #sales channel\n- **Nurture leads** → #marketing channel"
      }
    },
    {
      "id": "7d3c2f84-aa11-445c-a6e9-b2a9ce5153b6",
      "name": "Section 7: Log to Google Sheets",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1328,
        -224
      ],
      "parameters": {
        "width": 300,
        "height": 520,
        "content": "## 7. Log to Google Sheets\n\nAll processed leads are logged to the Event RSVP AI Leads sheet with full input fields, AI scoring results, and timestamp for reporting and analysis."
      }
    },
    {
      "id": "9697a476-3e6b-4b5f-b8cf-e00b2e994f41",
      "name": "Intro: RSVP Event Lead Scorer",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1632,
        -736
      ],
      "parameters": {
        "width": 560,
        "height": 1040,
        "content": "## RSVP Event Lead Scorer\n\n### **What it does:**\nReceives event RSVP submissions via webhook, uses AI to score each lead's ICP fit, routes qualified leads to HubSpot + Slack sales alerts, and logs eve"
      }
    },
    {
      "id": "4ba4f54c-ff84-42e0-9ed7-6073bc3eef27",
      "name": "Receive Event RSVP Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -928,
        -16
      ]
    },
    {
      "id": "std-section-trigger-1771275977820",
      "name": "Section 1: Trigger & Configuration",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1024,
        -224
      ],
      "parameters": {
        "width": 420,
        "height": 520,
        "content": "## 1. Trigger & Configuration\n\nWebhook receives event RSVP POST requests. The Set node configures workflow-level variables: HubSpot portal URL, qualified lead threshold, and Slack channel IDs."
      }
    }
  ],
  "connections": {
    "If Email Is Valid": {
      "main": [
        [
          {
            "node": "Score Lead with GPT-4o-mini",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Log Invalid Submissions to Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse AI Response": {
      "main": [
        [
          {
            "node": "If Lead Score ≥ 70",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If Lead Score ≥ 70": {
      "main": [
        [
          {
            "node": "Upsert Contact in HubSpot (Qualified)",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Upsert Contact in HubSpot (Nurture)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Alert Sales via Slack": {
      "main": [
        [
          {
            "node": "Log to Event RSVP AI Leads Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Workflow Variables": {
      "main": [
        [
          {
            "node": "If Email Is Valid",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Alert Marketing via Slack": {
      "main": [
        [
          {
            "node": "Log to Event RSVP AI Leads Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Receive Event RSVP Webhook": {
      "main": [
        [
          {
            "node": "Set Workflow Variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Score Lead with GPT-4o-mini": {
      "main": [
        [
          {
            "node": "Parse AI Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upsert Contact in HubSpot (Nurture)": {
      "main": [
        [
          {
            "node": "Alert Marketing via Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upsert Contact in HubSpot (Qualified)": {
      "main": [
        [
          {
            "node": "Alert Sales via Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}