AutomationFlowsAI & RAG › Automated Email Assistant for Suppliers Using Openai and Google Sheets

Automated Email Assistant for Suppliers Using Openai and Google Sheets

ByOmar Hdez @omarhdez on n8n.io

This assistant is designed for people who don't have time to write and send emails to suppliers. With just one request, it drafts and sends clear, professional messages automatically.

Event trigger★★★☆☆ complexityAI-powered11 nodesMcp TriggerGmail ToolChat TriggerAgentOpenAI ChatMemory Buffer WindowMcp Client ToolTool Think
AI & RAG Trigger: Event Nodes: 11 Complexity: ★★★☆☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #4067 — we link there as the canonical source.

This workflow follows the Agent → Chat Trigger recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "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
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This assistant is designed for people who don't have time to write and send emails to suppliers. With just one request, it drafts and sends clear, professional messages automatically.

Source: https://n8n.io/workflows/4067/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

This workflow connects an AI Agent with Odoo CRM using the Model Context Protocol (MCP). It allows users to manage CRM data in Odoo through natural language chat commands. The assistant interprets the

Mcp Trigger, Odoo Tool, Chat Trigger +4
AI & RAG

Build an MCP Server with Google Calendar. Uses stickyNote, googleCalendarTool, mcpTrigger, agent. Event-driven trigger; 23 nodes.

Google Calendar Tool, Mcp Trigger, Agent +4
AI & RAG

This template is designed for anyone who wants to integrate MCP with their AI Agents. Whether you're a developer, a data analyst, or an automation enthusiast, if you're looking to leverage the power o

Google Calendar Tool, Mcp Trigger, Agent +4
AI & RAG

Ask your PostgreSQL database complex questions and receive clear summaries, charts, and even update or insert data — all through one smart agent powered by n8n’s Model Context Protocol (MCP).

Postgres Tool, Execute Workflow Trigger, Tool Workflow +8
AI & RAG

Enable AI-driven conversations with your PostgreSQL database using a secure and visual-free agent powered by n8n’s Model Context Protocol (MCP). This template allows users to ask multiple KPIs in a si

Postgres Tool, Execute Workflow Trigger, Tool Workflow +8