{
  "id": "chCFNRonfZBJVoUK",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Personal Assistant",
  "tags": [],
  "nodes": [
    {
      "id": "f1ecb3d0-eca9-4055-966f-9afbd2ccffca",
      "name": "MCP Server Trigger",
      "type": "@n8n/n8n-nodes-langchain.mcpTrigger",
      "position": [
        -20,
        -640
      ],
      "parameters": {
        "path": "cbbbcf9a-2105-4289-9874-45d3ca20dd2e"
      },
      "typeVersion": 1
    },
    {
      "id": "056176ce-7aed-44e1-8c95-6545d8742d63",
      "name": "Send message by Gmail",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        300,
        -460
      ],
      "parameters": {
        "sendTo": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('To', ``, 'string') }}",
        "message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
        "options": {},
        "subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "579d3a6f-8f64-4d1f-8837-ed566ffe56cc",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -620,
        -720
      ],
      "parameters": {
        "color": 4,
        "width": 1140,
        "height": 480,
        "content": "## To implement this personal email assistant for suppliers,\n## you need to follow these steps.\n\n### In Google Drive, create a Google Sheets file named \"Suppliers\",\nwhich should contain 2 columns:\n(Supplier Name, Contact Email)\nThis is the MCP Server.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "0e3e99ef-434c-4c65-b282-6f2d267ad9f9",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -620,
        -200
      ],
      "parameters": {
        "color": 5,
        "width": 1140,
        "height": 660,
        "content": "## This would be the AI Agent that connects to the MCP Server \u2014 in other words, it is the MCP Client.\n\n### 1. The message arrives and is passed to the AI agent.\n### 2. The assistant first executes the node that helps it think \u2014 the \"Thinker\".\n### 3. Then it runs the Google Sheets node to search for the supplier,\n### in case the user only mentions the name and doesn't provide the email.\n### 4. It executes the MCP Server and sends the email as requested.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "fda2fd56-fb9b-4074-9a4f-ae14e94d95de",
      "name": "Entry Point: Chat with the Agent",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -300,
        40
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "de8be0e7-2eea-43d5-9f8c-a6232986c524",
      "name": "Personal Email Assistant",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        60,
        40
      ],
      "parameters": {
        "options": {
          "systemMessage": "=Eres mi asistente personal. Tienes acceso a diferentes herramientas (como Think y Google Sheets). Sigue estas instrucciones paso a paso para responder correctamente:\n\n1. Ejecuta la herramienta **Think** para analizar si tienes toda la informaci\u00f3n necesaria para completar la solicitud del usuario.\n2. La fecha y hora actual es: {{ $now.setZone('America/Mexico_City').toFormat('yyyy-MM-dd HH:mm') }}.\n3. Si para cumplir la solicitud del usuario necesitas el **correo de un proveedor**, b\u00fascalo usando la herramienta **Google Sheets** con el nombre del proveedor como referencia.\n4. Una vez tengas toda la informaci\u00f3n, **realiza la acci\u00f3n solicitada por el usuario** y responde de forma clara y directa.\n5. Si falta informaci\u00f3n o no puedes encontrarla, pide al usuario que complete lo que falta o reporta que no la encontraste.\n"
        }
      },
      "typeVersion": 1.9
    },
    {
      "id": "05ab000e-3d2c-4429-a75e-7b4db94baa03",
      "name": "AI Model Open AI",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -160,
        260
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "cd649882-bd30-4589-ac73-e23da4f4d16e",
      "name": "Chat Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        -20,
        240
      ],
      "parameters": {
        "contextWindowLength": 20
      },
      "typeVersion": 1.3
    },
    {
      "id": "804571d9-95b1-427e-90ad-a6562c246310",
      "name": "Node that connects to the MCP server.",
      "type": "@n8n/n8n-nodes-langchain.mcpClientTool",
      "position": [
        120,
        260
      ],
      "parameters": {
        "sseEndpoint": "https://lucychats-n8n.jpe85q.easypanel.host/mcp/cbbbcf9a-2105-4289-9874-45d3ca20dd2e/sse"
      },
      "typeVersion": 1
    },
    {
      "id": "df1ba763-2ab5-4cc9-adf0-47f39bf6e0ec",
      "name": "Thinker, think before executing.",
      "type": "@n8n/n8n-nodes-langchain.toolThink",
      "position": [
        260,
        220
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "e2721ce5-6283-4c20-945f-e0e88b25514f",
      "name": "Supplier database.",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        400,
        260
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('values0_Value', ``, 'string') }}",
              "lookupColumn": "Nombre del Proveedor"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1vFkApkyOU1npZJvl90sIZ4x8xnSXylfTjvCGhWTeOB8/edit#gid=0",
          "cachedResultName": "Hoja 1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1vFkApkyOU1npZJvl90sIZ4x8xnSXylfTjvCGhWTeOB8",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1vFkApkyOU1npZJvl90sIZ4x8xnSXylfTjvCGhWTeOB8/edit?usp=drivesdk",
          "cachedResultName": "Proveedores"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    }
  ],
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "517b84f6-a704-4934-87a9-d550677b7bee",
  "connections": {
    "Gmail": {
      "ai_tool": [
        [
          {
            "node": "MCP Server Trigger",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Chat Memory": {
      "ai_memory": [
        [
          {
            "node": "Personal Email Assistant",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "AI Model Open AI": {
      "ai_languageModel": [
        [
          {
            "node": "Personal Email Assistant",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Supplier database.": {
      "ai_tool": [
        [
          {
            "node": "Personal Email Assistant",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Personal Email Assistant": {
      "main": [
        []
      ]
    },
    "Entry Point: Chat with the Agent": {
      "main": [
        [
          {
            "node": "Personal Email Assistant",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Thinker, think before executing.": {
      "ai_tool": [
        [
          {
            "node": "Personal Email Assistant",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Node that connects to the MCP server.": {
      "ai_tool": [
        [
          {
            "node": "Personal Email Assistant",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}