AutomationFlows β€Ί AI & RAG β€Ί Telegram to Google Drive: Auto Upload & Track Videos with Gemini AI Assistant

Telegram to Google Drive: Auto Upload & Track Videos with Gemini AI Assistant

ByAbSa~ @absa07 on n8n.io

πŸš€ Overview

Event triggerβ˜…β˜…β˜…β˜…β˜† complexityAI-powered20 nodesGoogle DriveTelegramGoogle SheetsAgentGoogle Gemini ChatMemory Buffer WindowGoogle Sheets ToolTelegram Trigger
AI & RAG Trigger: Event Nodes: 20 Complexity: β˜…β˜…β˜…β˜…β˜† AI nodes: yes Added:

This workflow corresponds to n8n.io template #10713 β€” we link there as the canonical source.

This workflow follows the Agent β†’ Google Drive 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": "yFT0myYXT8EL6Did",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Up Video Project",
  "tags": [],
  "nodes": [
    {
      "id": "2eb46252-42bf-4db6-996b-aa5fb523dbdc",
      "name": "Upload file1",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        176,
        -1072
      ],
      "parameters": {
        "name": "=Vidio Project",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive",
          "cachedResultUrl": "https://drive.google.com/drive/my-drive",
          "cachedResultName": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "12QmhGydAPjYma1dLb40J6yD8V4azR8ok",
          "cachedResultUrl": "https://drive.google.com/drive/folders/12QmhGydAPjYma1dLb40J6yD8V4azR8ok",
          "cachedResultName": "My Projects Journey "
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "09050f3a-9c99-48b7-8064-b5e51a8d79d7",
      "name": "Get a file1",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -16,
        -1072
      ],
      "parameters": {
        "fileId": "={{ $json.message.video.file_id }}",
        "resource": "file",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "04673879-5c55-4ca5-9a04-e6d24dbda5fb",
      "name": "Append row in sheet1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        400,
        -1072
      ],
      "parameters": {
        "columns": {
          "value": {
            "Ukuran": "={{ ($json.size / (1024*1024)).toFixed(2) }} MB",
            "ID File": "={{ $json.id }}",
            "Duration": "={{ $('Up Video Project').item.json.message.video.duration }}",
            "Nama File": "={{ $json.name }}",
            "Link Drive": "={{ $json.webViewLink }}",
            "Last Update": "={{ new Date().toLocaleString(\"sv-SE\", { timeZone: \"Asia/Jakarta\" }).replace(\"T\", \" \") }}",
            "Time Upload": "={{ new Date($json.createdTime).toLocaleString(\"id-ID\", { timeZone: \"Asia/Jakarta\" }) }}"
          },
          "schema": [
            {
              "id": "ID File",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "ID File",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Nama File",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Nama File",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Link Drive",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Link Drive",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Duration",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Duration",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Ukuran",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Ukuran",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Time Upload",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Time Upload",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last Update",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Last Update",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "No"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 2144684696,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WcP7wqEPZZlL9mor8enGIP2yJXZ7GfFwD0bzYFKk-Vg/edit#gid=2144684696",
          "cachedResultName": "Up Video Jouney Project"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1WcP7wqEPZZlL9mor8enGIP2yJXZ7GfFwD0bzYFKk-Vg",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WcP7wqEPZZlL9mor8enGIP2yJXZ7GfFwD0bzYFKk-Vg/edit?usp=drivesdk",
          "cachedResultName": "Data Upload Vidio"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "980a5b64-69a4-464d-b31c-01cf791c1181",
      "name": "Send a text message3",
      "type": "n8n-nodes-base.telegram",
      "position": [
        624,
        -1072
      ],
      "parameters": {
        "text": "=Vidio is in!\n\nRename the file:\n`/edit {{ $json['File ID'] }} name`",
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "c74de640-ad29-4c01-8056-780491ea3dac",
      "name": "Switch1",
      "type": "n8n-nodes-base.switch",
      "position": [
        -384,
        -240
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "60919e73-3d5e-4630-bdac-e08cd9d412bc",
                    "operator": {
                      "type": "object",
                      "operation": "exists",
                      "singleValue": true
                    },
                    "leftValue": "={{ $json.message.video }}",
                    "rightValue": ""
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "39373caa-e41b-44ee-b616-419d3a04c5dc",
                    "operator": {
                      "type": "string",
                      "operation": "startsWith"
                    },
                    "leftValue": "={{ $json.message.text }}",
                    "rightValue": "/edit"
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "5443df3b-55ed-4f6c-b4af-c4c8351dcde3",
                    "operator": {
                      "type": "string",
                      "operation": "exists",
                      "singleValue": true
                    },
                    "leftValue": "={{ $json.message.text }}",
                    "rightValue": ""
                  }
                ]
              }
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "ec529d29-81b5-4a26-a414-2f62a830439a",
      "name": "Update file1",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        176,
        -272
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "options": {},
        "operation": "update",
        "newUpdatedFileName": "={{ $json.name }}"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "02c2fb3a-7090-4850-8747-f9856a1d2861",
      "name": "Code1",
      "type": "n8n-nodes-base.code",
      "position": [
        -16,
        -272
      ],
      "parameters": {
        "jsCode": "const text = $json.message.text;\nconst parts = text.split(\" \");\n\nreturn [\n  {\n    json: {\n      original: text,\n      command: parts[0],             \n      id: parts[1],                  \n      name: parts.slice(2).join(\" \") \n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "ff864633-ac91-4e09-bc0c-060dff00c2f2",
      "name": "Update row in sheet1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        400,
        -272
      ],
      "parameters": {
        "columns": {
          "value": {
            "ID File": "={{ $json.id }}",
            "Nama File": "={{ $json.name }}",
            "Last Update": "={{ new Date().toLocaleString(\"sv-SE\", { timeZone: \"Asia/Jakarta\" }).replace(\"T\", \" \") }}"
          },
          "schema": [
            {
              "id": "ID File",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "ID File",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Nama File",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Nama File",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Link Drive",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Link Drive",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Duration",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Duration",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Ukuran",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Ukuran",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Time Upload",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Time Upload",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last Update",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Last Update",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "number",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "ID File"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 2144684696,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WcP7wqEPZZlL9mor8enGIP2yJXZ7GfFwD0bzYFKk-Vg/edit#gid=2144684696",
          "cachedResultName": "Up Video Jouney Project"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1WcP7wqEPZZlL9mor8enGIP2yJXZ7GfFwD0bzYFKk-Vg",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WcP7wqEPZZlL9mor8enGIP2yJXZ7GfFwD0bzYFKk-Vg/edit?usp=drivesdk",
          "cachedResultName": "Data Upload Vidio"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "e1671455-e214-4b89-be35-e235f3f68211",
      "name": "Send a text message4",
      "type": "n8n-nodes-base.telegram",
      "position": [
        624,
        -272
      ],
      "parameters": {
        "text": "=Name has been changed : {{ $json['Nama File'] }}",
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "97c22a46-cef9-43ec-ba02-bbf1eb9babaa",
      "name": "AI Agent1",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        80,
        400
      ],
      "parameters": {
        "text": "={{ $json.message.text }}",
        "options": {
          "systemMessage": "You are an AI agent and the user\u2019s personal assistant, responsible for answering any questions from the user.\nIf the question involves data, use the **Data Vidio** tool to provide the answer.\n\n**Note:**\n\n* ALWAYS USE EMOJIS WHEN RESPONDING. \ud83d\ude04\n* ALWAYS CHECK THE TOOL (**Data Vidio**) FIRST TO SEE IF IT HAS AN ANSWER. \ud83d\udd0d\n"
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "804880c6-b9ff-483f-9efd-b57023006b43",
      "name": "Google Gemini Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        16,
        624
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e4c909f6-6e9b-49ac-98fb-d8a1b49daa5b",
      "name": "Simple Memory1",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        144,
        624
      ],
      "parameters": {
        "sessionKey": "={{ $('Switch1').item.json.message.chat.id }}",
        "sessionIdType": "customKey"
      },
      "typeVersion": 1.3
    },
    {
      "id": "0096ecc7-dab5-467c-bcae-6456a18ec213",
      "name": "Data Vidio1",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        272,
        624
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 2144684696,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WcP7wqEPZZlL9mor8enGIP2yJXZ7GfFwD0bzYFKk-Vg/edit#gid=2144684696",
          "cachedResultName": "Up Video Jouney Project"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1WcP7wqEPZZlL9mor8enGIP2yJXZ7GfFwD0bzYFKk-Vg",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WcP7wqEPZZlL9mor8enGIP2yJXZ7GfFwD0bzYFKk-Vg/edit?usp=drivesdk",
          "cachedResultName": "Data Upload Vidio"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "733e2d39-bbdf-43d3-9590-a0785c216a1f",
      "name": "Send a text message5",
      "type": "n8n-nodes-base.telegram",
      "position": [
        480,
        400
      ],
      "parameters": {
        "text": "={{ $json.output }}",
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "29536951-6c67-44a6-a791-e383cc0aebb5",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -688,
        -640
      ],
      "parameters": {
        "width": 496,
        "height": 608,
        "content": "## 1. Trigger & Routing\n\nTelegram Trigger \u2192 Switch\n\n**Purpose**\n* Detects every incoming message/video from your Telegram bot.\n* The Switch node routes the message into 3 paths:\n\n  * **Video** \u2192 automatic upload flow.\n  * **/edit** \u2192 rename file flow.\n  * **Any text** \u2192 handled by the AI Agent.\n---\n**Rules Used**\n* `message.video exists` \u2192 upload process.\n* `message.text startsWith(\"/edit\")` \u2192 rename process.\n* `message.text exists` \u2192 AI response."
      },
      "typeVersion": 1
    },
    {
      "id": "11c664ed-a5ed-451d-a636-f8cb482d1ea2",
      "name": "Telegram Trigger",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -608,
        -224
      ],
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e94bb294-e4a4-4bea-be6b-7be7dbba904e",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1376,
        -800
      ],
      "parameters": {
        "color": 4,
        "width": 624,
        "height": 992,
        "content": "## \ud83d\ude80 Overview\n\nThis workflow automates Telegram-to-Google Drive video uploads with smart renaming, Google Sheets logging, and Gemini AI assistance. Ideal for creators, educators, and automation-focused teams.\n\n\n## \u2699\ufe0f How It Works\n\n* **Telegram Trigger** \u2192 Starts the workflow when a user sends a video to your bot.\n* **Switch Node** \u2192 Detects file type or command and routes the flow.\n* **Get File** \u2192 Downloads the Telegram video file.\n* **Upload to Google Drive** \u2192 Sends the file to your chosen Drive folder.\n* **Smart Rename (Code Node)** \u2192 Auto-formats the filename using dynamic logic.\n* **Google Sheets Logging** \u2192 Appends/upload data for easy tracking.\n* **AI Agent (Gemini)** \u2192 Uses Data Vidio memory to analyze or respond.\n* **Telegram Notification** \u2192 Sends status updates back to the user.\n\n## \ud83e\udde0 Highlights\n\n* Full integration: Telegram \u2192 Google Drive \u2192 Google Sheets \u2192 Gemini AI\n* Supports append/update modes\n* Dynamic filename generation\n* AI memory integration\n* Easy to clone and adapt\n\n## \ud83e\ude84 Ideal Use Cases\n\n* Video assignment submissions\n* Media team content management\n* Automated archiving with AI analysis\n* Personal Telegram-to-Drive assistant\n\n## \ud83e\udde9 Setup Tips\n\n* Use the provided Google Sheets template\n* Configure your bot token, Google Drive, and Sheets credentials\n* Insert your Gemini API key and connect Data Vidio\n* Test with a sample video before going live\n"
      },
      "typeVersion": 1
    },
    {
      "id": "f394d958-0bc9-41cd-9785-e2c296b03e06",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        -48
      ],
      "parameters": {
        "width": 880,
        "height": 800,
        "content": "## 4. AI Auto-Reply System\n\n**AI Agent \u2192 Gemini Model \u2192 Memory \u2192 Data Sheet \u2192 Telegram Reply**\n\n**Purpose**\n\nHandles all non-video and non-/edit text messages through an AI Agent that:\n\n* Has per-user memory.\n* Can access Google Sheets (Data Vidio).\n* Uses Gemini as the LLM.\n\n---\n**AI Capabilities**\n* Fetch sheet data to answer user queries.\n* Remember conversation context.\n* Respond with emojis.\n* Follow the system prompt as the user\u2019s personal assistant."
      },
      "typeVersion": 1
    },
    {
      "id": "52f56ef2-7625-444d-8e1f-297fac7002f0",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        -1680
      ],
      "parameters": {
        "width": 880,
        "height": 768,
        "content": "## 2. Video Upload Process\n\n**Get a file1 \u2192 Upload file1 \u2192 Append row \u2192 Send message**\n\n**Workflow**\n\n1. Get a file1\n   Retrieves the video file from Telegram using `file_id`.\n\n2. Upload file1\n   Automatically uploads the file to Google Drive.\n\n3. Append row in sheet\n   Logs all metadata into Google Sheets:\n\n   * File name\n   * Drive link\n   * File size\n   * Duration\n   * Upload timestamp\n   * Last update timestamp\n\n4. Send message\n   The bot replies with:\n\n   * Confirmation the video was uploaded\n   * Command template for renaming the file\n"
      },
      "typeVersion": 1
    },
    {
      "id": "ee7bf956-b894-498c-8937-1ebbabc12ed4",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        -864
      ],
      "parameters": {
        "width": 880,
        "height": 768,
        "content": "## 3. File Rename Process\n\n**Code1 \u2192 Update file \u2192 Update row \u2192 Send message**\n\n**Rename Flow**\n\n1. Code1\n   Parses the `/edit ID new_name` command.\n\n2. Update file1\n   Renames the file in Google Drive.\n\n3. Update row in sheet\n   Updates sheet row based on:\n\n   * ID File\n   * File Name\n   * Last Update\n\n4. Send message\n   Sends success confirmation to Telegram.\n\n---\n**Command Format**\n```\n/edit <FILE_ID> <new file name>\n```"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "5af14876-12ce-4b84-b8cd-cae89e69d5b9",
  "connections": {
    "Code1": {
      "main": [
        [
          {
            "node": "Update file1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch1": {
      "main": [
        [
          {
            "node": "Get a file1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Code1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "AI Agent1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent1": {
      "main": [
        [
          {
            "node": "Send a text message5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Data Vidio1": {
      "ai_tool": [
        [
          {
            "node": "AI Agent1",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get a file1": {
      "main": [
        [
          {
            "node": "Upload file1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update file1": {
      "main": [
        [
          {
            "node": "Update row in sheet1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload file1": {
      "main": [
        [
          {
            "node": "Append row in sheet1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory1": {
      "ai_memory": [
        [
          {
            "node": "AI Agent1",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "Switch1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append row in sheet1": {
      "main": [
        [
          {
            "node": "Send a text message3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update row in sheet1": {
      "main": [
        [
          {
            "node": "Send a text message4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent1",
            "type": "ai_languageModel",
            "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

πŸš€ Overview

Source: https://n8n.io/workflows/10713/ β€” 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 project is a template for building a complete academic virtual assistant using n8n. It connects to Telegram, answers frequently asked questions by querying MongoDB, keeps the community informed a

Telegram, MongoDB, Telegram Trigger +6
AI & RAG

Telegram Trigger receives incoming messages (text, voice, photo, document). Switch routes by message type to appropriate processors: Text β†’ forwarded as-is. Voice β†’ downloaded and sent to Transcribe a

Memory Buffer Window, Telegram Trigger, Telegram +12
AI & RAG

Transform your Telegram messenger into a powerful, multi-modal personal or team assistant. This n8n workflow creates an intelligent agent that can understand text, voice, images, and documents, and ta

Memory Buffer Window, Telegram Trigger, Telegram +10
AI & RAG

&gt; AI-powered nutrition assistant for Telegram β€” log meals, set goals, and get personalized daily reports with Google Sheets integration.

Telegram, Google Gemini, Google Gemini Chat +7
AI & RAG

This automation is designed to help you generate AI-powered music tracks, cover art, and fully rendered music videos β€” all triggered from a simple Telegram chat and managed via Google Sheets.

OpenAI Chat, Memory Buffer Window, Output Parser Structured +11