{
  "name": "Production AI Playbook: Deterministic Steps & AI Steps (1 of 5)",
  "nodes": [
    {
      "id": "1c8e06b1-4e77-4271-bd2f-b37ca3a8ff63",
      "name": "Respond - Validation Error",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1200,
        432
      ]
    },
    {
      "id": "64df2cf2-fd02-4323-9bbf-39fb991905cb",
      "name": "Invalid Lead - Error Handler",
      "type": "n8n-nodes-base.code",
      "position": [
        960,
        432
      ]
    },
    {
      "id": "295405dc-b38a-4dee-ac40-4c2a804d8b4c",
      "name": "Valid Lead - Ready for AI",
      "type": "n8n-nodes-base.code",
      "position": [
        960,
        208
      ]
    },
    {
      "id": "425f8875-f544-428c-ad3c-075074b4f30f",
      "name": "Validate Required Fields",
      "type": "n8n-nodes-base.if",
      "position": [
        720,
        304
      ]
    },
    {
      "id": "f262f8fa-c102-4292-b50e-3a082ac4a1ec",
      "name": "Normalize Input Data",
      "type": "n8n-nodes-base.code",
      "position": [
        480,
        304
      ]
    },
    {
      "id": "4791bc46-202c-46f9-8603-322ecab261c6",
      "name": "Webhook - Receive Lead Data",
      "type": "n8n-nodes-base.webhook",
      "position": [
        256,
        304
      ]
    },
    {
      "id": "c94f5731-4fc2-4524-9f2f-563f41c09275",
      "name": "Respond - Success",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1200,
        208
      ]
    },
    {
      "id": "5ec1b0e0-f652-4f37-ac4d-4683a8221ce8",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        16
      ],
      "parameters": {
        "width": 560,
        "height": 736,
        "content": "## Input Normalization + Validation\n\n### How it works\n1. **Webhook** receives raw lead data via POST request.\n2. **Normalize Input Data** (Code node) standardizes field names, trims whitespace, lowerc"
      }
    },
    {
      "id": "955fe6f5-e602-45ed-9f06-a1124c65ed7a",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        192,
        128
      ],
      "parameters": {
        "width": 432,
        "height": 464,
        "content": "## Receive & Normalize"
      }
    },
    {
      "id": "77c759da-4cbc-4b5f-84ee-a687992be72c",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        656,
        128
      ],
      "parameters": {
        "width": 752,
        "height": 464,
        "content": "## Validate"
      }
    }
  ],
  "connections": {
    "Normalize Input Data": {
      "main": [
        [
          {
            "node": "Validate Required Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate Required Fields": {
      "main": [
        [
          {
            "node": "Valid Lead - Ready for AI",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Invalid Lead - Error Handler",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Valid Lead - Ready for AI": {
      "main": [
        [
          {
            "node": "Respond - Success",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook - Receive Lead Data": {
      "main": [
        [
          {
            "node": "Normalize Input Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Invalid Lead - Error Handler": {
      "main": [
        [
          {
            "node": "Respond - Validation Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}