AutomationFlowsAI & RAG › Business AI Command Center: Modular Agents for Google Workspace, Vector…

Business AI Command Center: Modular Agents for Google Workspace, Vector…

Original n8n title: Business AI Command Center: Modular Agents for Google Workspace, Vector Search & Multi-channel Reports

ByPaul @diagopl on n8n.io

Your AI workforce is ready. Are you?

Event trigger★★★★★ complexityAI-powered80 nodesGoogle Sheets ToolMcp TriggerGoogle DriveDocument Default Data LoaderText Splitter Recursive Character Text SplitterSupabase Vector StoreOpenAI EmbeddingsExecute Workflow Trigger
AI & RAG Trigger: Event Nodes: 80 Complexity: ★★★★★ AI nodes: yes Added:

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

This workflow follows the Agent → Agenttool 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
{
  "nodes": [
    {
      "id": "0a7f8501-c9a7-47d6-b6b9-1a32de661ce0",
      "name": "Google Sheets - Read Data",
      "type": "n8n-nodes-base.googleSheetsTool",
      "notes": "\ud83d\udcca READ SPREADSHEET DATA\n\nRetrieve and analyze data from Google Sheets. Perfect for AI to read, process, and extract insights from spreadsheet content.\n\nUse Cases:\n\u2022 \"Read data from the Sales sheet\"\n\u2022 \"Get all entries from A1:E100\"\n\u2022 \"Show me the data in the Budget spreadsheet\"\n\u2022 \"Extract customer information from the CRM sheet\"\n\nAI Parameters:\n\u2022 Document_ID: Target spreadsheet ID\n\u2022 Sheet_Name: Specific sheet tab name\n\u2022 Range: Cell range to read (optional)",
      "position": [
        3024,
        -352
      ],
      "parameters": {},
      "typeVersion": 4.6
    },
    {
      "id": "e18d26cf-8208-45ca-8e6e-fdb83e1127ba",
      "name": "Google Sheets - Clear Data",
      "type": "n8n-nodes-base.googleSheetsTool",
      "notes": "\ud83d\uddd1\ufe0f CLEAR SPREADSHEET DATA\n\nRemove data from specific ranges or entire sheets. Useful for resetting data, clearing temporary calculations, or preparing sheets for new data.\n\nUse Cases:\n\u2022 \"Clear all data from the temp sheet\"\n\u2022 \"Remove entries from A1:E100\"\n\u2022 \"Clean up the old data in column C\"\n\u2022 \"Reset the calculation area\"\n\nAI Parameters:\n\u2022 Document_ID: Target spreadsheet ID\n\u2022 Sheet_Name: Sheet to clear data from\n\u2022 Range: Specific range to clear\n\n\u26a0\ufe0f Use with caution - data will be permanently removed!",
      "position": [
        3136,
        -352
      ],
      "parameters": {},
      "typeVersion": 4.6
    },
    {
      "id": "5f24bc02-2510-4dcf-b2f2-b32d114fdda8",
      "name": "Google Sheets - Add Data",
      "type": "n8n-nodes-base.googleSheetsTool",
      "notes": "\u2795 ADD NEW DATA\n\nAppend new rows of data to existing sheets. Perfect for adding records, logging events, or inserting new entries without affecting existing data.\n\nUse Cases:\n\u2022 \"Add a new customer to the CRM sheet\"\n\u2022 \"Log today's sales data\"\n\u2022 \"Insert a new project entry\"\n\u2022 \"Record the meeting notes\"\n\nAI Parameters:\n\u2022 Document_ID: Target spreadsheet ID\n\u2022 Sheet_Name: Sheet to add data to\n\u2022 Data_To_Add: Array/object of new data\n\nFeatures:\n\u2022 Automatically finds next empty row\n\u2022 Preserves existing data\n\u2022 Supports multiple columns",
      "position": [
        3264,
        -352
      ],
      "parameters": {},
      "typeVersion": 4.6
    },
    {
      "id": "4018894e-21d2-4c01-93aa-03132bdd423c",
      "name": "Google Sheets - Create Sheet",
      "type": "n8n-nodes-base.googleSheetsTool",
      "notes": "\ud83d\udccb CREATE NEW SHEET\n\nCreate new worksheet tabs within existing spreadsheets. Great for organizing data into categories or creating project-specific sheets.\n\nUse Cases:\n\u2022 \"Create a new sheet called 'Q4 Sales'\"\n\u2022 \"Add a Project Timeline sheet\"\n\u2022 \"Make a new Budget 2024 tab\"\n\u2022 \"Create a sheet for customer feedback\"\n\nAI Parameters:\n\u2022 Document_ID: Target spreadsheet ID\n\u2022 New_Sheet_Name: Name for the new sheet\n\u2022 Header_Row: Optional column headers\n\nBest Practices:\n\u2022 Use descriptive sheet names\n\u2022 Include header rows for data structure\n\u2022 Consider sheet organization strategy",
      "position": [
        3408,
        -352
      ],
      "parameters": {},
      "typeVersion": 4.6
    },
    {
      "id": "7d2702dd-3bef-4165-8568-0574491bad0f",
      "name": "Google Sheets - Update Data",
      "type": "n8n-nodes-base.googleSheetsTool",
      "notes": "\u270f\ufe0f UPDATE EXISTING DATA\n\nModify specific cells or ranges with new values. Perfect for updating records, correcting data, or maintaining current information.\n\nUse Cases:\n\u2022 \"Update the status in cell C5 to 'Complete'\"\n\u2022 \"Change the price in the product list\"\n\u2022 \"Modify the project deadline\"\n\u2022 \"Update customer contact information\"\n\nAI Parameters:\n\u2022 Document_ID: Target spreadsheet ID\n\u2022 Sheet_Name: Sheet containing data to update\n\u2022 Range: Specific cells to update (e.g., A1:B2)\n\u2022 New_Values: Array of new values\n\nTip: Use precise ranges to avoid overwriting unintended data",
      "position": [
        3680,
        -352
      ],
      "parameters": {},
      "typeVersion": 4.6
    },
    {
      "id": "5567f996-6f8e-4abd-9a34-e0e1dcfbb1c2",
      "name": "Google Sheets - Delete Sheet",
      "type": "n8n-nodes-base.googleSheetsTool",
      "notes": "\ud83d\uddd1\ufe0f DELETE SHEET\n\nRemove entire worksheet tabs when they're no longer needed. Use with caution as this permanently removes all data in the sheet.\n\nUse Cases:\n\u2022 \"Delete the old temp sheet\"\n\u2022 \"Remove the expired project tab\"\n\u2022 \"Clean up test worksheets\"\n\u2022 \"Delete duplicate sheets\"\n\nAI Parameters:\n\u2022 Document_ID: Target spreadsheet ID\n\u2022 Sheet_Name: Sheet tab to delete\n\n\u26a0\ufe0f PERMANENT ACTION - Cannot be undone!\nAlways backup important data first.",
      "position": [
        3536,
        -352
      ],
      "parameters": {},
      "typeVersion": 4.6
    },
    {
      "id": "ebdfd923-6296-4252-b2b4-52364324cb8d",
      "name": "MCP Server Sheets",
      "type": "@n8n/n8n-nodes-langchain.mcpTrigger",
      "notes": "\ud83d\ude80 MCP TRIGGER\n\nThis is the entry point for AI interactions with Google Sheets. The MCP (Model Context Protocol) trigger allows AI models to call any of the connected Google Sheets tools based on user requests.\n\nKey Features:\n\u2022 Enables natural language spreadsheet commands\n\u2022 Routes AI requests to appropriate Sheets operations\n\u2022 Provides context-aware data management\n\u2022 Supports complex multi-step data workflows\n\u2022 Handles dynamic sheet and document selection",
      "position": [
        3024,
        -768
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "f9a2e5b2-6911-4a06-a253-f32af17fd2f5",
      "name": "When clicking \u2018Execute workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        3056,
        192
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "44fa0faf-4d15-4d40-b8c5-2f2bda41b057",
      "name": "Download file",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        3264,
        192
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "c90553f9-65b4-4284-8453-ec2b5112c7e0",
      "name": "Default Data Loader1",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "position": [
        3616,
        416
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "268a3365-4f6b-49fb-b599-408e0c66f26e",
      "name": "Recursive Character Text Splitter1",
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "position": [
        3696,
        624
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "80a67e90-3b0c-468d-aabd-f0d473db5c8b",
      "name": "Add to Supabase Vector DB",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreSupabase",
      "position": [
        3504,
        192
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "a6de1318-7101-4358-8610-f45cd659001e",
      "name": "Embeddings OpenAI1",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        3488,
        416
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "5fcd1395-3f14-45c4-b0ae-0eea0f97e0ac",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2928,
        1344
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "5012eb86-62b4-4e0a-adb4-19045ad3d93e",
      "name": "When Executed by Another Workflow",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        3360,
        1840
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "14417687-e3fa-4ab8-9c8b-8e9b6c15e673",
      "name": "Google Drive MCP Server",
      "type": "@n8n/n8n-nodes-langchain.mcpTrigger",
      "position": [
        2960,
        1456
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "fd659c06-c670-4baf-a668-bef56ec31de1",
      "name": "Download File1",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        3712,
        1840
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "7db762ea-339b-4d17-b57e-249634ad055c",
      "name": "FileType",
      "type": "n8n-nodes-base.switch",
      "position": [
        3904,
        1792
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "0b5e8931-4151-4e41-acc0-c75a62ade255",
      "name": "Operation",
      "type": "n8n-nodes-base.switch",
      "position": [
        3536,
        1840
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "e49c8cc0-279c-49d9-9699-a807a1173eea",
      "name": "Extract from PDF",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        4176,
        1552
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "a5318ca9-b843-44f6-9477-b2850811f091",
      "name": "Extract from CSV",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        4176,
        1744
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "a6afcc29-7c24-45a5-91f9-fd0362ee850a",
      "name": "Get PDF Response",
      "type": "n8n-nodes-base.set",
      "position": [
        4336,
        1552
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "d8fc6b8c-b03c-4917-8f2a-e9f7ce6ea0db",
      "name": "Get CSV Response",
      "type": "n8n-nodes-base.set",
      "position": [
        4336,
        1744
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 3.4
    },
    {
      "id": "99feec0e-c0da-40cc-af57-34496d15fb15",
      "name": "Read File From GDrive",
      "type": "@n8n/n8n-nodes-langchain.toolWorkflow",
      "position": [
        3216,
        1648
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "d6ce37d1-c35c-41cb-8f39-b9195d80d353",
      "name": "Search Files from Gdrive",
      "type": "n8n-nodes-base.googleDriveTool",
      "position": [
        3024,
        1680
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "d6b0d109-47ce-4807-8615-b66a5613f6ca",
      "name": "Analyse Image",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        4176,
        1920
      ],
      "parameters": {},
      "typeVersion": 1.8
    },
    {
      "id": "2fe752f2-edcc-42c0-8795-25f9ac1579bd",
      "name": "Transcribe Audio",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        4176,
        2096
      ],
      "parameters": {},
      "typeVersion": 1.8
    },
    {
      "id": "b1707a09-48b6-4d2d-8dc7-02f0690fbd41",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3344,
        1280
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "2736696c-16ed-4102-a348-d0019559161f",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3328,
        1440
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "32c8178e-f0dd-4034-906a-f1b630b38c62",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2960,
        96
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "b6849af3-6062-4368-8994-ca376479a5e0",
      "name": "Postgres Chat Memory1",
      "type": "@n8n/n8n-nodes-langchain.memoryPostgresChat",
      "position": [
        848,
        496
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "0277def2-25e8-4e48-ab60-ad19fb68df39",
      "name": "Embeddings OpenAI2",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        2224,
        592
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "365cdef7-f4eb-4428-b813-edb34f601f98",
      "name": "Reranker Cohere1",
      "type": "@n8n/n8n-nodes-langchain.rerankerCohere",
      "position": [
        2416,
        560
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "9877f738-e3b5-4973-a233-37255bac0cc6",
      "name": "Anthropic Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        672,
        496
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "b5e79c10-7647-4ed2-b31a-8db04024e394",
      "name": "structured data1",
      "type": "n8n-nodes-base.postgresTool",
      "position": [
        1280,
        528
      ],
      "parameters": {},
      "typeVersion": 2.6
    },
    {
      "id": "91baf464-fdf1-4d45-809b-6f904eff4354",
      "name": "General knowledge1",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreSupabase",
      "position": [
        2240,
        432
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "97f7e6af-edb6-489a-8bb9-a3da8b13018d",
      "name": "Think1",
      "type": "@n8n/n8n-nodes-langchain.toolThink",
      "position": [
        960,
        496
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "7abfd51a-07e5-4670-b674-c0fa09536906",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1200,
        480
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "fec6d805-ce61-4825-b628-f9a977e1e274",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        592,
        400
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "dfdace36-b1b6-4c00-acb5-3ec811111402",
      "name": "Message a model in Perplexity1",
      "type": "n8n-nodes-base.perplexityTool",
      "position": [
        1600,
        800
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "eace82ff-d393-4faa-8ae7-4e712ea64ca1",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1520,
        736
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "8b340a56-a810-41af-b148-af2fbae5c397",
      "name": "search  about any doc in google drive1",
      "type": "@n8n/n8n-nodes-langchain.mcpClientTool",
      "position": [
        2352,
        1664
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "18d33f00-fe6a-421c-9fd3-2f0caa71f4bd",
      "name": "MCP Sheets",
      "type": "@n8n/n8n-nodes-langchain.mcpClientTool",
      "position": [
        2512,
        -512
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "043e6e5d-7785-48a3-a7ee-adc5a181f1c2",
      "name": "Knowledge Agent1",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        1392,
        160
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "c243dbf0-5f81-403a-95f6-b1f99aa1adb8",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2144,
        304
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "b747ada7-a2c5-46ca-b154-a6d9680b88c1",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2464,
        -576
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "de984cb1-b2cf-4ca5-9a10-71bd4cf115ff",
      "name": "Sticky Note13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2976,
        -880
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "1329ca42-57fe-442f-b804-9c826514f621",
      "name": "Reasoning model (recommended)",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        400,
        -288
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "b2e79be6-451a-4563-9983-3a53afd7cc73",
      "name": "Sticky Note14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3360,
        1664
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "d1b8b120-3a4d-485b-81cd-4740d08eef86",
      "name": "Sticky Note15",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2928,
        1232
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "bf2d1550-1295-4b9c-8339-381a6ca15a46",
      "name": "Sticky Note16",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2256,
        1600
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "270675da-a077-4603-a6fb-7c932620d3ac",
      "name": "Calculator",
      "type": "@n8n/n8n-nodes-langchain.toolCalculator",
      "position": [
        1056,
        496
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "e31f90fd-a807-4b15-bbbf-b6de9a5108c8",
      "name": "Postgres Chat Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryPostgresChat",
      "position": [
        544,
        -288
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "af277a1b-9937-41c2-b4d5-2471c66b65cf",
      "name": "OpenAI Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -208,
        560
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "584ebbd9-5f20-4cd8-8435-3c6fa2db527a",
      "name": "HTTP Request1",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        48,
        544
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "83dd7fbc-a215-48ab-adb3-394bb7251452",
      "name": "Linkedin Scraper",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        -128,
        368
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "a32a9945-7b44-4f58-90e4-eb7c4a7227c6",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        160,
        544
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "75b1ada9-fba3-47fb-9737-5ed90d570af6",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -112,
        272
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "09061eeb-642f-4f4c-bd23-c1c6f8860e88",
      "name": "Create reports",
      "type": "@n8n/n8n-nodes-langchain.toolWorkflow",
      "position": [
        2880,
        -1360
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "a5718897-37e9-4dbb-9718-f034b6448e91",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3344,
        -1616
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "937db1ac-b57d-41ed-85d6-cfb2d1801887",
      "name": "Send a message",
      "type": "n8n-nodes-base.gmail",
      "position": [
        4048,
        -1424
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "04f7da41-964f-4e6f-8806-112367683f8c",
      "name": "Sticky Note17",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1632,
        -448
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "7dc82c51-d8aa-4c84-80d8-2a7ed729affc",
      "name": "Sticky Note18",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1952,
        -112
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "1d097bd2-7c7a-4541-a162-46d1bf4a5055",
      "name": "Create structured Reports",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        3328,
        -1424
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "9259bafa-ce05-4268-abfc-0d63f9b24318",
      "name": "Sticky Note19",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2832,
        -1440
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "a4d7b366-3e1f-41c0-8df4-c1340cf07b6c",
      "name": "Sticky Note20",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3184,
        -1472
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "8d94e473-424a-4784-8ae8-8eed18cfd7b7",
      "name": "Markdown to HTML",
      "type": "n8n-nodes-base.markdown",
      "position": [
        3760,
        -1424
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "0ab0e43e-5d25-4f73-a124-7e21e881d4a0",
      "name": "OpenRouter Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        3344,
        -1216
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "6f1fb114-1a5e-4fad-8235-39ba94ebd46a",
      "name": "Send a text message",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1584,
        -1344
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "ac745c45-7580-456e-a496-03e8f70e2ec1",
      "name": "Send message",
      "type": "n8n-nodes-base.whatsApp",
      "disabled": true,
      "position": [
        1584,
        -1184
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "27025bf3-a8ba-4b50-a076-4b43dfb85f4a",
      "name": "Send a message1",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1584,
        -848
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "cc5e0c42-01aa-47a5-925c-8e3063ebfcfd",
      "name": "Send a message2",
      "type": "n8n-nodes-base.slack",
      "position": [
        1584,
        -1024
      ],
      "parameters": {},
      "typeVersion": 2.3
    },
    {
      "id": "c7c0646a-a7ae-4186-8b42-f4d83ba516ef",
      "name": "Slack Trigger",
      "type": "n8n-nodes-base.slackTrigger",
      "position": [
        256,
        -832
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "9df33c1b-c682-4a36-99a5-d4190e0b73a7",
      "name": "Telegram Trigger",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        272,
        -1168
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "965d5853-b0ea-4c5c-9c3d-6bf55030945f",
      "name": "Gmail Trigger",
      "type": "n8n-nodes-base.gmailTrigger",
      "position": [
        272,
        -1008
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "0359340e-d8d5-413b-b40e-bdf939b62a43",
      "name": "WhatsApp Trigger",
      "type": "n8n-nodes-base.whatsAppTrigger",
      "disabled": true,
      "position": [
        256,
        -640
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "c324fb98-0529-4de7-b82a-d791d84dafd4",
      "name": "Sticky Note21",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        176,
        -1344
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "96832356-2ffc-41d2-aeee-14f6ab9cce2c",
      "name": "Set message variable",
      "type": "n8n-nodes-base.set",
      "position": [
        720,
        -624
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "995f8927-d45e-46db-aacc-0f293a419602",
      "name": "MAIN AGENT",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        912,
        -624
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "d6c6292c-0380-43f3-91cc-f999654736c4",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1152,
        -1728
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Think1": {
      "ai_tool": [
        [
          {
            "node": "Knowledge Agent1",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "FileType": {
      "main": [
        [
          {
            "node": "Extract from PDF",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Extract from CSV",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Analyse Image",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Transcribe Audio",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Operation": {
      "main": [
        [
          {
            "node": "Download File1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculator": {
      "ai_tool": [
        [
          {
            "node": "Knowledge Agent1",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "MAIN AGENT": {
      "main": [
        [
          {
            "node": "Send a text message",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send message",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send a message2",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send a message1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "MCP Sheets": {
      "ai_tool": [
        [
          {
            "node": "MAIN AGENT",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Download file": {
      "main": [
        [
          {
            "node": "Add to Supabase Vector DB",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gmail Trigger": {
      "main": [
        [
          {
            "node": "Set message variable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request1": {
      "ai_tool": [
        [
          {
            "node": "Linkedin Scraper",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Slack Trigger": {
      "main": [
        [
          {
            "node": "Set message variable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create reports": {
      "ai_tool": [
        [
          {
            "node": "MAIN AGENT",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Download File1": {
      "main": [
        [
          {
            "node": "FileType",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract from CSV": {
      "main": [
        [
          {
            "node": "Get CSV Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract from PDF": {
      "main": [
        [
          {
            "node": "Get PDF Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Knowledge Agent1": {
      "ai_tool": [
        [
          {
            "node": "MAIN AGENT",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Linkedin Scraper": {
      "ai_tool": [
        [
          {
            "node": "MAIN AGENT",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Markdown to HTML": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Reranker Cohere1": {
      "ai_reranker": [
        [
          {
            "node": "General knowledge1",
            "type": "ai_reranker",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "Set message variable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "WhatsApp Trigger": {
      "main": [
        [
          {
            "node": "Set message variable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "structured data1": {
      "ai_tool": [
        [
          {
            "node": "Knowledge Agent1",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings OpenAI1": {
      "ai_embedding": [
        [
          {
            "node": "Add to Supabase Vector DB",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings OpenAI2": {
      "ai_embedding": [
        [
          {
            "node": "General knowledge1",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "General knowledge1": {
      "ai_tool": [
        [
          {
            "node": "Knowledge Agent1",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Linkedin Scraper",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Default Data Loader1": {
      "ai_document": [
        [
          {
            "node": "Add to Supabase Vector DB",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "Postgres Chat Memory": {
      "ai_memory": [
        [
          {
            "node": "MAIN AGENT",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Set message variable": {
      "main": [
        [
          {
            "node": "MAIN AGENT",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Anthropic Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Knowledge Agent1",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Create structured Reports",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Postgres Chat Memory1": {
      "ai_memory": [
        [
          {
            "node": "Knowledge Agent1",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Read File From GDrive": {
      "ai_tool": [
        [
          {
            "node": "Google Drive MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets - Add Data": {
      "ai_tool": [
        [
          {
            "node": "MCP Server Sheets",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Search Files from Gdrive": {
      "ai_tool": [
        [
          {
            "node": "Google Drive MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Create structured Reports": {
      "main": [
        [
          {
            "node": "Markdown to HTML",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets - Read Data": {
      "ai_tool": [
        [
          {
            "node": "MCP Server Sheets",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets - Clear Data": {
      "ai_tool": [
        [
          {
            "node": "MCP Server Sheets",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets - Update Data": {
      "ai_tool": [
        [
          {
            "node": "MCP Server Sheets",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets - Create Sheet": {
      "ai_tool": [
        [
          {
            "node": "MCP Server Sheets",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets - Delete Sheet": {
      "ai_tool": [
        [
          {
            "node": "MCP Server Sheets",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Reasoning model (recommended)": {
      "ai_languageModel": [
        [
          {
            "node": "MAIN AGENT",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Message a model in Perplexity1": {
      "ai_tool": [
        [
          {
            "node": "Knowledge Agent1",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "When Executed by Another Workflow": {
      "main": [
        [
          {
            "node": "Operation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Recursive Character Text Splitter1": {
      "ai_textSplitter": [
        [
          {
            "node": "Default Data Loader1",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Execute workflow\u2019": {
      "main": [
        [
          {
            "node": "Download file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "search  about any doc in google drive1": {
      "ai_tool": [
        [
          {
            "node": "Knowledge Agent1",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

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

How this works

Teams running Google Workspace need a single place to query data, run searches across documents, and receive reports without juggling multiple tools. This workflow connects Google Sheets and Google Drive to vector search so agents can retrieve context and deliver multi-channel outputs on demand. The core step is the modular agent layer that reads from Sheets, loads documents, splits text, and stores embeddings in Supabase for fast retrieval.

Use it when you need repeatable AI assistance across reporting and document tasks but avoid it if your data changes constantly or you require real-time updates only. Common variations include swapping the trigger for Slack or email and adding extra Sheets operations for specific departments.

About this workflow

Your AI workforce is ready. Are you?

Source: https://n8n.io/workflows/7060/ — 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

A lightweight, self-hosted AI assistant built entirely in n8n. Multi-channel messaging (Telegram, WhatsApp, Gmail), persistent memory, task management, and autonomous work — all in a single visual wor

Telegram Trigger, OpenRouter Chat, Data Table +20
AI & RAG

This workflow implements an advanced AI automation agent (OpenClaw Agent) that interacts with users through Telegram and integrates multiple AI models, external tools, and cloud services to automate c

Telegram Trigger, Telegram, OpenAI +21
AI & RAG

📌 Overview

Redis, WhatsApp, OpenAI Chat +12
AI & RAG

This comprehensive workflow bundle is designed as a powerful starter kit, enabling you to build a multi-functional AI assistant on Telegram. It seamlessly integrates AI-powered voice interactions, an

Telegram Trigger, Telegram, OpenAI +19
AI & RAG

This intelligent chatbot leverages cutting-edge financial APIs and AI-driven analysis to deliver comprehensive stock research reports. Get instant access to professional-grade investment analysis that

Tool Think, Supabase Vector Store, OpenAI Embeddings +15