{
  "name": "YAG ejemplo educativo - webhook de lead validado",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "ejemplo-lead-yag",
        "responseMode": "responseNode",
        "options": {}
      },
      "id": "7ddf4c3e-29c6-44dc-a01d-ece9a042b420",
      "name": "Recibir lead",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [-520, 0],
      "webhookId": "sustituir-al-importar"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "0e7079d3-caf4-4590-8c48-95ccf56ec284",
              "name": "name",
              "value": "={{ String($json.body?.name ?? '').trim() }}",
              "type": "string"
            },
            {
              "id": "5983b7cb-8dad-446e-9716-e08f07a0caee",
              "name": "email",
              "value": "={{ String($json.body?.email ?? '').trim().toLowerCase() }}",
              "type": "string"
            },
            {
              "id": "7189d2b8-dc8b-469b-a280-d432c48f4912",
              "name": "source",
              "value": "={{ String($json.body?.source ?? 'webhook').trim() }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "id": "3fcb4f21-abf0-48e9-a8af-5fd6066385fb",
      "name": "Normalizar campos",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [-280, 0]
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "conditions": [
            {
              "id": "77c14d30-6e9c-49e5-a7a0-87dd65560ac9",
              "leftValue": "={{ $json.name.length > 1 && /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test($json.email) }}",
              "rightValue": true,
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "31b457b0-40e3-471a-b23d-695db64cf318",
      "name": "¿Datos válidos?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [-40, 0]
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{ { ok: true, message: 'Lead recibido para revisión humana', reference: $execution.id } }}",
        "options": {
          "responseCode": 202
        }
      },
      "id": "6014e844-8019-4d3c-a5eb-16967dcf3ff5",
      "name": "Aceptar para revisión",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1.4,
      "position": [240, -100]
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{ { ok: false, error: 'Nombre o email no válidos' } }}",
        "options": {
          "responseCode": 400
        }
      },
      "id": "dca8530c-2901-40c5-9943-db3638187368",
      "name": "Rechazar entrada",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1.4,
      "position": [240, 100]
    }
  ],
  "pinData": {},
  "connections": {
    "Recibir lead": {
      "main": [[{"node": "Normalizar campos", "type": "main", "index": 0}]]
    },
    "Normalizar campos": {
      "main": [[{"node": "¿Datos válidos?", "type": "main", "index": 0}]]
    },
    "¿Datos válidos?": {
      "main": [
        [{"node": "Aceptar para revisión", "type": "main", "index": 0}],
        [{"node": "Rechazar entrada", "type": "main", "index": 0}]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "96dd5b13-97a2-4f49-83a9-e171d96ebd32",
  "meta": {
    "templateCredsSetupCompleted": false,
    "instanceId": "educational-yag"
  },
  "tags": []
}
