{
  "name": "KyndredAI · Email entrante → Claude clasifica + redacta borrador",
  "nodes": [
    {
      "parameters": {
        "content": "# 🔷 KyndredAI · Email entrante → triage con IA + borrador\n\nPor cada email que entra, **Claude** lo clasifica (categoría + urgencia + resumen) y **redacta un borrador de respuesta** que te queda listo en Gmail para revisar y enviar.\n\n**Cómo funciona:** Gmail Trigger detecta el email → Claude clasifica y redacta → se crea un **borrador** de respuesta en el mismo hilo.\n\n**Necesitás:** una credencial de **Gmail** + una de **Anthropic (Claude)**.\n\n**Setup:** seguí los pasos ① ② ③ de abajo.\n\nProbado en n8n ~v2.26 (2026) · self-hosted o cloud · kyndredai.com",
        "height": 320,
        "width": 820,
        "color": 7
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        672,
        -96
      ],
      "id": "1e1e3cc1-63a5-4a26-a8f2-bc9d95e66239",
      "name": "README"
    },
    {
      "parameters": {
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "filters": {}
      },
      "type": "n8n-nodes-base.gmailTrigger",
      "typeVersion": 1.2,
      "position": [
        672,
        256
      ],
      "id": "0499ed48-7213-433f-993c-cf739604c1cb",
      "name": "Email entrante (Gmail Trigger)"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=Sos un asistente que triagea los emails entrantes de una PyME. Para el email de abajo: 1) clasificá la categoría (ventas / soporte / administracion / otro), 2) la urgencia (alta / media / baja), 3) un resumen de una línea, y 4) redactá una respuesta sugerida, cordial y profesional, en español.\n\nDe: {{ $json.From }}\nAsunto: {{ $json.Subject }}\nMensaje:\n{{ $json.snippet }}",
        "hasOutputParser": true
      },
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "typeVersion": 1.5,
      "position": [
        992,
        256
      ],
      "id": "c9713aa1-a303-4e48-b8b5-a45ad7739663",
      "name": "Clasificar + redactar (Claude)"
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "value": "claude-haiku-4-5-20251001",
          "mode": "list",
          "cachedResultName": "Claude Haiku 4.5"
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "typeVersion": 1.4,
      "position": [
        928,
        496
      ],
      "id": "4b63100d-bb10-496a-8113-c8b50199b389",
      "name": "Claude (modelo)"
    },
    {
      "parameters": {
        "jsonSchemaExample": "{\n  \"categoria\": \"ventas\",\n  \"urgencia\": \"alta\",\n  \"resumen\": \"Pide presupuesto para 100 unidades\",\n  \"respuesta_sugerida\": \"Hola, ¡gracias por escribirnos! Con gusto te paso el presupuesto...\"\n}"
      },
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "typeVersion": 1.2,
      "position": [
        1136,
        496
      ],
      "id": "27f49611-0128-4cf6-bb98-4b79feb269dc",
      "name": "Formato de salida"
    },
    {
      "parameters": {
        "resource": "draft",
        "subject": "=Re: {{ $('Email entrante (Gmail Trigger)').item.json.Subject }}",
        "message": "={{ $json.output.respuesta_sugerida }}",
        "options": {
          "threadId": "={{ $('Email entrante (Gmail Trigger)').item.json.threadId }}",
          "sendTo": "={{ $('Email entrante (Gmail Trigger)').item.json.From }}"
        }
      },
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        1312,
        256
      ],
      "id": "792e7d9c-7b48-4bb6-997b-543fce83e074",
      "name": "Crear borrador de respuesta",
      "retryOnFail": true,
      "maxTries": 3,
      "waitBetweenTries": 2000,
      "webhookId": "401cb9d4-c10d-487b-8fc8-d6f21cf6eb8a"
    },
    {
      "parameters": {
        "content": "## ① Conectá Gmail (trigger)\n\n**Email entrante** → Credential → conectá tu Gmail.\n\nPor defecto revisa la bandeja cada minuto. En **Filters** podés acotar (ej. solo no leídos, una etiqueta, un remitente).",
        "height": 252,
        "width": 308,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        544,
        480
      ],
      "id": "6c268f0b-de28-4858-8358-ae8e38bbafa0",
      "name": "Setup 1"
    },
    {
      "parameters": {
        "content": "## ② Conectá Claude\n\n**Claude (modelo)** → Credential → tu API key de Anthropic.\n\nClaude devuelve `categoria`, `urgencia`, `resumen` y `respuesta_sugerida`. Ajustá el prompt si querés otro tono o categorías.\n\n💡 Si los campos `From` / `Subject` / `snippet` no traen lo esperado, revisá la salida del trigger y ajustá las referencias.",
        "height": 320,
        "width": 380,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        880,
        656
      ],
      "id": "c2e814eb-0f2d-4ad1-b9e0-e78004c957af",
      "name": "Setup 2"
    },
    {
      "parameters": {
        "content": "## ③ El borrador\n\nSe crea un **borrador** (no se envía solo) en el hilo del email, con la respuesta sugerida. Vos lo revisás y enviás.\n\n💡 Cuando le tengas confianza, podés cambiar `draft: create` por `message: reply` para responder automático.",
        "height": 264,
        "width": 364,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        1296,
        480
      ],
      "id": "e9afe5f9-1dd4-4f28-9cd6-a74d6eb36468",
      "name": "Setup 3"
    }
  ],
  "pinData": {},
  "connections": {
    "Email entrante (Gmail Trigger)": {
      "main": [
        [
          {
            "node": "Clasificar + redactar (Claude)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Claude (modelo)": {
      "ai_languageModel": [
        [
          {
            "node": "Clasificar + redactar (Claude)",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Formato de salida": {
      "ai_outputParser": [
        [
          {
            "node": "Clasificar + redactar (Claude)",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Clasificar + redactar (Claude)": {
      "main": [
        [
          {
            "node": "Crear borrador de respuesta",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": { "executionOrder": "v1" },
  "tags": []
}