{
  "name": "3-[Agente-Abogado]-Email",
  "nodes": [
    {
      "parameters": {
        "inputSource": "passthrough"
      },
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "typeVersion": 1.1,
      "position": [
        -848,
        64
      ],
      "id": "c2531676-06bf-443d-a147-0122751a3b6e",
      "name": "When Executed by Another Workflow"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "={{ $json.query }}",
        "options": {
          "systemMessage": "=Descripcion General:\n\nEres un asistente de gesti\u00f3n de correos electr\u00f3nicos. Tu funci\u00f3n es realizar las acciones relacionadas con los correos electr\u00f3nicos. \n\nHerramientas:    \n**EnviarCorreo** utiliza esta herramienta para enviar correos. \n**RespuestaCorreo** utiliza esta herramienta para responder un correo. Primero, usa **ObtenerCorreos** para obtener el ID del correo.\n**ObtenerCorreos** utiliza esta herramienta para mostrar los correos de la bandeja de entrada del intervalo de fecha que introduzca el usuario. \n**ModificarCorreo** utiliza esta herramienta para modificar o actualizar un correo. Primero, usa **ObtenerCorreos** para obtener el ID del correo.\n**EliminarCorreo** utiliza esta herramienta para eliminar un correo. Primero, usa **ObtenerCorreos** para obtener el ID del correo.\n**MoverCorreo**  utiliza esta herramienta para mover un correo de una carpeta a otra. Primero, usa **ObtenerCorreos** para obtener el ID del correo.\n**CrearBorrador** utiliza esta herramienta cuando el usuario quiera crear un borrador.\n\nReglas:\nCuando el usuario solicite enviar un correo electr\u00f3nico y/o responder a un correo electr\u00f3nico, en primer lugar aseg\u00farate que te dice el contenido que necesitas.\n\nCuando muestres correos o listas de correos, incluye solo la informaci\u00f3n relevante (remitente, asunto, fecha y resumen del contenido).  \n\nEn caso de errores, correos inexistentes o informaci\u00f3n faltante, proporciona un mensaje claro explicando la situaci\u00f3n.  \n\nA la hora de crear el contenido del correo utilizando las herramientas de **EnviarCorreo**, **RespuestaCorreo**, y **CrearBorrador**, debes comenzar el mensaje con un saludo formal incluyendo al nombre de la persona. \nEjemplo: \n-Buenos d\u00edas, [nombre]: si el horario actual es de 05:00 AM a 12:00 PM.\n-Buenas tardes, [nombre]: si el horario actual es de 13:00 PM a 20:00 PM.\n-Buenas noches, [nombre]: si el horario actual es de 21:00 PM a 04:00 AM.\n\n\nLos correos que escribas por las herramientas de **EnviarCorreo**, **RespuestaCorreo**, y **CrearBorrador**, SIEMPRE tienen que estar en formato HTML.\n\nEjemplo:\n\n<p>Buenos d\u00edas, [nombre]:</p>\n<p>Te confirmo que la reuni\u00f3n de ma\u00f1ana tendr\u00e1 lugar a las 16:00 h.</p>\n<p>Un saludo,</p>\n<br>\n<br>\n\nTienes que finalizar SIEMPRE el mensaje siempre con: Un saludo, \n\n\nEjemplos: \n\n**1. Enviar un correo: \nUsuario: \"Env\u00eda un correo a Juan con el asunto 'Reuni\u00f3n' y dile que la reuni\u00f3n es a las tres de la tarde.\"  \nRespuesta esperada:  \n\nSe ha enviado el siguiente correo:\nPara: Juan\nAsunto: Reuni\u00f3n\nMensaje: \n<p>Buenas tardes, Juan:</p>\n<p>La reuni\u00f3n es a las 15:00 h.</p>\n<p>Un saludo,</p>\n<br>\n<br>\n\n\n---  \n\n**2. Responder un correo:\nUsuario: \"Responde a este correo dici\u00e9ndole a Pedro que estoy disponible el jueves a las diez de la ma\u00f1ana.\"  \nRespuesta esperada:  \n\nSe ha respondido al correo:\nPara: Pedro\nAsunto: Re: [Asunto del correo original]\nMensaje: \n<p>Buenos d\u00edas, Pedro:</p>\n<p>Estoy disponible el jueves a las 10:00 h. .</p>\n<p>Un saludo,</p>\n<br>\n<br>\n\n---  \n\n**3. Obtener lista de correos:**  \nUsuario: \"Mu\u00e9strame los correos de hoy.\"  \nRespuesta esperada:  \nCorreos recibidos hoy:\n\nDe: Mar\u00eda | Asunto: Informe de ventas | Hora: 9:30 AM\nDe: Carlos | Asunto: Reuni\u00f3n de equipo | Hora: 10:15 AM\nDe: Laura | Asunto: Recordatorio de pago | Hora: 13:45 PM\n\n\n---  \n\n**4. Obtener un correo espec\u00edfico:**  \nUsuario: \"Mu\u00e9strame el correo con el asunto 'Respuesta Procuradora'.\"\nRespuesta esperada:  \n\nDe: Carlos\nAsunto: Reuni\u00f3n de equipo\nFecha: 24 de febrero de 2025, 10:15 AM\nMensaje: Hola, recuerden que tenemos reuni\u00f3n ma\u00f1ana a las 14:00 PM.\n\n\n---  \n\n**5. Eliminar un correo:**  \nUsuario: \"Elimina el correo de Laura sobre el recordatorio de pago.\"  \nRespuesta esperada:  \nSe ha eliminado el correo correctamente.\n \n\nRecordatorios finales:  \nFecha y hora actual: {{ $now }}.\n",
          "maxIterations": 10
        }
      },
      "id": "c35bbfca-e46e-48d5-84b7-0b6af2595df2",
      "name": "Agente de Email",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.6,
      "position": [
        -480,
        64
      ],
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {
          "frequencyPenalty": 0,
          "presencePenalty": 0,
          "temperature": 0
        }
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.2,
      "position": [
        -1184,
        480
      ],
      "id": "85188db8-9bb1-4da9-9953-a83c98007ee0",
      "name": "OpenAI Chat Model",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "39c2f302-03be-4464-a17a-d7cc481d6d44",
              "name": "=response",
              "value": "={{$json.output}}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "id": "6f53af25-7b93-459d-a143-09328deb3da8",
      "name": "\u2705",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        0,
        0
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "7ab380a2-a8d3-421c-ab4e-748ea8fb7904",
              "name": "response",
              "value": "No se puede realizar la tarea. Por favor, int\u00e9ntalo de nuevo.",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "id": "1044cec4-0713-4402-b671-f8908892e3e1",
      "name": "\u274c",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        0,
        208
      ]
    },
    {
      "parameters": {
        "descriptionType": "manual",
        "toolDescription": "Enviar Correo",
        "sendTo": "={{ $fromAI(\"emailAddress\") }}",
        "subject": "={{ $fromAI(\"subject\") }}",
        "message": "={{ $fromAI(\"emailBody\") }}  <div style=\"font-family: Arial, sans-serif; font-size: 14px; color: #1A4672;\">     <p><strong>Claudio Luna</strong><br>        <em>Ingeniero Inform\u00e1tico Experto en IA</em></p> </div>",
        "options": {}
      },
      "type": "n8n-nodes-base.gmailTool",
      "typeVersion": 2.1,
      "position": [
        -928,
        480
      ],
      "id": "25bae6d8-896a-4f16-ab52-85fdc76f94ec",
      "name": "EnviarCorreo",
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "descriptionType": "manual",
        "toolDescription": "Reply to a message in Gmail",
        "operation": "reply",
        "messageId": "={{ $fromAI(\"ID\",\"the message ID\") }}",
        "message": "={{ $fromAI(\"emailBody\") }}  <div style=\"font-family: Arial, sans-serif; font-size: 14px; color: #1A4672;\">     <p><strong>Claudio Luna </strong><br>        <em>Ingeniero Inform\u00e1tico Experto en IA</em></p> </div>",
        "options": {}
      },
      "type": "n8n-nodes-base.gmailTool",
      "typeVersion": 2.1,
      "position": [
        -672,
        480
      ],
      "id": "a38e631f-4117-44b1-accb-dd2fecf9f0b8",
      "name": "RespuestaCorreo1",
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "descriptionType": "manual",
        "toolDescription": "Get many messages in Gmail",
        "operation": "getAll",
        "limit": "={{ $fromAI('Limit', `Cuantos emails quiere el usuario`, 'number') }}",
        "filters": {}
      },
      "type": "n8n-nodes-base.gmailTool",
      "typeVersion": 2.1,
      "position": [
        -416,
        480
      ],
      "id": "b43941d6-b075-4b2e-8aad-36b48d504953",
      "name": "ObtenerCorreos",
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "app-legal",
        "options": {}
      },
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2.1,
      "position": [
        -848,
        -224
      ],
      "id": "53d27530-f175-427d-9e48-75eb7930d1d3",
      "name": "Webhook"
    }
  ],
  "connections": {
    "When Executed by Another Workflow": {
      "main": [
        [
          {
            "node": "Agente de Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Agente de Email",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Agente de Email": {
      "main": [
        [
          {
            "node": "\u2705",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "\u274c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "EnviarCorreo": {
      "ai_tool": [
        [
          {
            "node": "Agente de Email",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "RespuestaCorreo1": {
      "ai_tool": [
        [
          {
            "node": "Agente de Email",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "ObtenerCorreos": {
      "ai_tool": [
        [
          {
            "node": "Agente de Email",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "Agente de Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "b0ca246d-8e09-4a5c-a7c8-784f277c3f97",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "mTDFT7cxuL6SbSDS",
  "tags": []
}