AutomationFlowsAI & RAG › Google Sheets Bot Integration

Google Sheets Bot Integration

Google-Sheets-Bot-Integration. Uses openAi, telegram, googleSheets, telegramTrigger. Event-driven trigger; 24 nodes.

Event trigger★★★★☆ complexityAI-powered24 nodesOpenAITelegramGoogle SheetsTelegram Trigger
AI & RAG Trigger: Event Nodes: 24 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow follows the Google Sheets → OpenAI 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": [
    {
      "parameters": {
        "modelId": {
          "__rl": true,
          "value": "gpt-3.5-turbo-0125",
          "mode": "list",
          "cachedResultName": "GPT-3.5-TURBO-0125"
        },
        "messages": {
          "values": [
            {
              "content": "=\u0422\u044b \u2014 \u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u0434\u0443\u043c\u044b\u0432\u0430\u0435\u0442 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u043e\u0432.\n\n\u0412\u043e\u0442 \u0442\u0435\u043a\u0441\u0442 \u043f\u043e\u0441\u0442\u0430:\n____\n{{$json.message.text}}\n____\n\n\u0415\u0441\u043b\u0438 \u043e\u043d:\n\u2014 \u043f\u0443\u0441\u0442\u043e\u0439,\n\u2014 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437 \u0441\u0441\u044b\u043b\u043e\u043a, \u0445\u0435\u0448\u0442\u0435\u0433\u043e\u0432 \u0438\u043b\u0438 \u0431\u0435\u0441\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0444\u0440\u0430\u0437,\n\u2014 \u0441\u0432\u044f\u0437\u0430\u043d \u0441 \u00ab\u044d\u0441\u0442\u0430\u0444\u0435\u0442\u043e\u0439\u00bb \u0438\u043b\u0438 \u043f\u0440\u0438\u0437\u044b\u0432\u043e\u043c \u043f\u043e\u0434\u0445\u0432\u0430\u0442\u0438\u0442\u044c,\n\n\u0432\u0435\u0440\u043d\u0438 `null`.\n\n\u0415\u0441\u043b\u0438 \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u0435\u0441\u0442\u044c \u0441\u043c\u044b\u0441\u043b \u2014 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0439 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043f\u043e \u0441\u0443\u0442\u0438.\n\n\u041e\u0442\u0432\u0435\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0438\u043b\u0438 `null`.\n"
            }
          ]
        },
        "options": {
          "maxTokens": 35,
          "temperature": 0.4
        }
      },
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.8,
      "position": [
        440,
        500
      ],
      "id": "50d36027-9464-42e4-afa9-29a6b1e2167f",
      "name": "OpenAI",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "chatId": "={{ $('All').item.json.message.chat.id }}",
        "text": "={{JSON.stringify($('Map to Sheets').item.json, null, 2)}}",
        "additionalFields": {
          "parse_mode": "HTML"
        }
      },
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        1920,
        280
      ],
      "id": "387a0a0a-69cb-4ef6-9506-12304ee4b990",
      "name": "Telegram",
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "authentication": "serviceAccount",
        "operation": "appendOrUpdate",
        "documentId": {
          "__rl": true,
          "value": "1NWh6oSojigRRh4NKgBP5wCZnwcG6Yv4eG2LK4_H3D-c",
          "mode": "list",
          "cachedResultName": "\u041a\u043e\u043f\u0438\u044f \u0414\u0430\u0448\u0431\u043e\u0440\u0434 \u0441\u043e\u043e\u0431\u0449\u043d\u0438\u043a\u043e\u0432",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1NWh6oSojigRRh4NKgBP5wCZnwcG6Yv4eG2LK4_H3D-c/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": "=week{{ $('All').item.json.weekName }}",
          "mode": "name"
        },
        "columns": {
          "mappingMode": "autoMapInputData",
          "value": {},
          "matchingColumns": [
            "\u0421\u0441\u044b\u043b\u043a\u0430"
          ],
          "schema": [
            {
              "id": "\u0418\u043c\u044f",
              "displayName": "\u0418\u043c\u044f",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "\u041f\u043e\u0441\u0442",
              "displayName": "\u041f\u043e\u0441\u0442",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "\u0422\u0438\u043f",
              "displayName": "\u0422\u0438\u043f",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435",
              "displayName": "\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "\u0421\u0441\u044b\u043b\u043a\u0430",
              "displayName": "\u0421\u0441\u044b\u043b\u043a\u0430",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "\u0414\u0430\u0442\u0430",
              "displayName": "\u0414\u0430\u0442\u0430",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.5,
      "position": [
        1700,
        280
      ],
      "id": "072a73ac-d49b-42f2-ba35-6c6881b06b45",
      "name": "Google Sheets",
      "credentials": {
        "googleApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "name": "Prod",
      "type": "n8n-nodes-base.telegramTrigger",
      "typeVersion": 1,
      "position": [
        -660,
        280
      ],
      "id": "bc37b121-6444-4ade-8085-5ecb14872d82",
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "bbd3163c-4f32-4671-a9e5-880fe579538b",
              "name": "debugChat",
              "value": "=",
              "type": "string"
            }
          ]
        },
        "includeOtherFields": true,
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -440,
        280
      ],
      "id": "3c67e26a-ba14-44f6-97f2-a45805f676ab",
      "name": "Vars"
    },
    {
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "leftValue": "={{$json.message.text}}",
                    "rightValue": "#\u043f\u043e\u0441\u0442",
                    "operator": {
                      "type": "string",
                      "operation": "contains"
                    },
                    "id": "a8b5c52e-2fb8-46e0-8d9e-4b6af820fca3"
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "post"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "id": "6ade14e8-8015-4c1a-93bd-c00ddfa2ac2e",
                    "leftValue": "={{$json.message.text}}",
                    "rightValue": "#\u0432\u043e\u043f\u0440\u043e\u0441\u044b",
                    "operator": {
                      "type": "string",
                      "operation": "contains"
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "questions"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "id": "88a40343-8432-4ea2-9099-38c955a12758",
                    "leftValue": "={{true}}",
                    "rightValue": "={{true}}",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "fallback"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.switch",
      "typeVersion": 3.2,
      "position": [
        -220,
        480
      ],
      "id": "e4b15333-f8a1-40d8-9a34-049b34cd4106",
      "name": "Switch",
      "alwaysOutputData": false
    },
    {
      "parameters": {},
      "type": "n8n-nodes-base.noOp",
      "typeVersion": 1,
      "position": [
        0,
        700
      ],
      "id": "40e3e39a-cee3-477e-adae-9ca1c2b07185",
      "name": "No Operation, do nothing"
    },
    {
      "parameters": {
        "authentication": "serviceAccount",
        "documentId": {
          "__rl": true,
          "value": "1NWh6oSojigRRh4NKgBP5wCZnwcG6Yv4eG2LK4_H3D-c",
          "mode": "list",
          "cachedResultName": "\u041a\u043e\u043f\u0438\u044f \u0414\u0430\u0448\u0431\u043e\u0440\u0434 \u0441\u043e\u043e\u0431\u0449\u043d\u0438\u043a\u043e\u0432",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1NWh6oSojigRRh4NKgBP5wCZnwcG6Yv4eG2LK4_H3D-c/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": 347214941,
          "mode": "list",
          "cachedResultName": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043b\u0438\u0441\u0442\u043e\u0432",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1NWh6oSojigRRh4NKgBP5wCZnwcG6Yv4eG2LK4_H3D-c/edit#gid=347214941"
        },
        "options": {}
      },
      "name": "Fetch Week Settings",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4,
      "position": [
        -160,
        -180
      ],
      "id": "7eae8d6a-95c5-4afd-a46b-d5a25f7f897a",
      "credentials": {
        "googleApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "const now = new Date();\n\n// DEBUG \u2014 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0447\u0442\u043e \u0437\u0430 \u0434\u0430\u0442\u0430\nconsole.log('NOW ISO:', now.toISOString());\n\nlet detectedWeek = '\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e';\n\nfor (const item of $input.all()) {\n  const start = new Date(item.json.start);\n  const end = new Date(item.json.end);\n\n  console.log('start:', start.toISOString());\n  console.log('end:', end.toISOString());\n\n  if (now.getTime() >= start.getTime() && now.getTime() <= end.getTime()) {\n    detectedWeek = item.json.week;\n    break;\n  }\n}\n\nreturn [\n  {\n    json: {\n      weekName: detectedWeek\n    }\n  }\n];\n"
      },
      "name": "Detect Current Week",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        100,
        -160
      ],
      "id": "e645a294-1a85-459f-a44b-aab8b086ed74",
      "executeOnce": false
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "2c652186-8ba9-45d7-8e7e-816d45a4afb7",
              "name": "title",
              "value": "={{ $json.message.content }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        820,
        500
      ],
      "id": "1c98a547-2b0e-45d8-9384-1bf2d38e81d7",
      "name": "Title"
    },
    {
      "parameters": {
        "jsCode": "const results = [];\n\nfor (const item of $input.all()) {\n  const message = item.json.message || {};\n  const base = {\n    ...item.json,\n    postText: message.text || '',\n    messageLink: `https://t.me/c/${message.chat.id.toString().replace('-100', '')}/${message.message_id}`,\n    author: message.from?.username || '',\n    username: [message.from?.first_name || '', message.from?.last_name || ''].join(' ').trim(),\n    messageId: message.message_id,\n    chatId: message.chat.id,\n    postType: item.json.postType\n  };\n\n  const links = extractLinks(message);\n\n  if (links.length === 0) {\n    results.push({ json: { ...base, postLink: '' } });\n  } else {\n    for (const link of links) {\n      results.push({ json: { ...base, postLink: link } });\n    }\n  }\n}\n\nreturn results;\n\nfunction extractLinks(message) {\n  const links = [];\n\n  // 1. \u0418\u043d\u043b\u0430\u0439\u043d-\u0441\u0441\u044b\u043b\u043a\u0438: type === 'text_link'\n  if (Array.isArray(message.entities)) {\n    for (const entity of message.entities) {\n      if (entity.type === 'text_link' && entity.url) {\n        links.push(entity.url);\n      }\n\n      // 2. \u042f\u0432\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 (type === 'url'): \u043d\u0443\u0436\u043d\u043e \u0438\u0437\u0432\u043b\u0435\u0447\u044c \u0442\u0435\u043a\u0441\u0442 \u043f\u043e offset \u0438 length\n      if (entity.type === 'url' && message.text) {\n        const url = message.text.substr(entity.offset, entity.length);\n        links.push(url);\n      }\n    }\n  }\n\n  // 3. \u0420\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0435 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u0441\u0441\u044b\u043b\u043e\u043a \u0438\u0437 \u0442\u0435\u043a\u0441\u0442\u0430\n  const rawTextLinks = (message.text || '').match(/https?:\\/\\/[^\\s]+/g) || [];\n  for (const l of rawTextLinks) {\n    if (!links.includes(l)) links.push(l);\n  }\n\n  return links;\n}"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        240,
        200
      ],
      "id": "9510a143-be66-4143-91ee-b8e9c9e5d328",
      "name": "Get fields"
    },
    {
      "parameters": {
        "mode": "combine",
        "combineBy": "combineByPosition",
        "options": {}
      },
      "name": "All",
      "type": "n8n-nodes-base.merge",
      "typeVersion": 3,
      "position": [
        1260,
        280
      ],
      "id": "18021e6c-9c6b-4d5e-9d59-dde36c6ad485"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "7768f381-9aa3-4421-9613-7a4510679308",
              "name": "title",
              "value": "={{ $json.title && $json.title !== 'null' ? $json.title : '\u041d\u0435\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f' }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        1040,
        500
      ],
      "id": "fb558a3f-8316-41be-b32e-0b62fbd7ffbd",
      "name": "Clean title"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "2a86c876-07fa-49a4-9ac3-1f77510e9c52",
              "name": "\u0418\u043c\u044f",
              "value": "={{ $json.username }}",
              "type": "string"
            },
            {
              "id": "fbee084a-3d5f-40f3-9bae-aed2482afcc9",
              "name": "\u041f\u043e\u0441\u0442",
              "value": "={{ $json.title }}",
              "type": "string"
            },
            {
              "id": "9b4b1c5e-adf8-4f97-a842-98462171f461",
              "name": "\u0422\u0438\u043f",
              "value": "={{ $json.postType }}",
              "type": "string"
            },
            {
              "id": "b6968639-0c7b-4d55-90db-f348c385dda1",
              "name": "\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435",
              "value": "={{ $json.messageLink }}",
              "type": "string"
            },
            {
              "id": "c21b4ec0-868e-476a-aced-344a188902ed",
              "name": "\u0421\u0441\u044b\u043b\u043a\u0430",
              "value": "={{ $json.postLink }}",
              "type": "string"
            },
            {
              "id": "dc819f89-53d9-4bd0-b30f-124006e3921a",
              "name": "\u0414\u0430\u0442\u0430",
              "value": "={{ DateTime.utc() }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        1480,
        280
      ],
      "id": "3b407134-aec4-4ad3-b69c-3311a9896dc5",
      "name": "Map to Sheets"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "bbd3163c-4f32-4671-a9e5-880fe579538b",
              "name": "postType",
              "value": "=\u041f\u043e\u0441\u0442",
              "type": "string"
            }
          ]
        },
        "includeOtherFields": true,
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        20,
        200
      ],
      "id": "abd75c8f-5e32-45b8-9cce-4165fa31b8c7",
      "name": "type post"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "bbd3163c-4f32-4671-a9e5-880fe579538b",
              "name": "postType",
              "value": "=\u0412\u043e\u043f\u0440\u043e\u0441\u044b",
              "type": "string"
            }
          ]
        },
        "includeOtherFields": true,
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        20,
        340
      ],
      "id": "12d1c1c3-d0d5-4a34-90f5-dee6c0d18868",
      "name": "type questions"
    },
    {
      "parameters": {
        "mode": "combine",
        "combineBy": "combineAll",
        "options": {}
      },
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "typeVersion": 3,
      "position": [
        600,
        20
      ],
      "id": "5b7e36ee-7fe2-47b8-bdd3-86e8bcc61d4e"
    },
    {
      "parameters": {
        "content": "## \u0412\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u0432\u043a\u043b\u0430\u0434\u043a\u0443 \u043d\u0435\u0434\u0435\u043b\u0438\n",
        "height": 320,
        "width": 580
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -260,
        -320
      ],
      "typeVersion": 1,
      "id": "e1f229b4-8497-4524-8103-d004e8e06e56",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "content": "## \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a google sheets\n\n\u041a\u043e\u0432\u043e\u0440\u043a\u0438\u043d\u0433 \u043f\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 | 27.03  \nhttps://t.me/c/2427462969/4/2273\n",
        "width": 360
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1160,
        20
      ],
      "typeVersion": 1,
      "id": "ce355acd-73e0-46b2-ad2d-7e5d6c1fef6f",
      "name": "Sticky Note1"
    },
    {
      "parameters": {
        "content": "### \u043e\u0448\u0438\u0431\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 - \u0438\u0434\u0442\u0438 \u0432 \u0436\u043f\u0442 + \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u0442\u044c \u043a\u0430\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0445\u043e\u0442\u0438\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\n\nhttps://docs.n8n.io/code/builtin/current-node-input/",
        "width": 510
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -160,
        20
      ],
      "typeVersion": 1,
      "id": "affa0790-8cdd-4778-ab22-7f7820370f5c",
      "name": "Sticky Note3"
    },
    {
      "parameters": {
        "content": "### \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 + \u043d\u0430\u0434\u043e \u0434\u043e\u0436\u0434\u0430\u0442\u044c\u0441\u044f \u0432\u0441\u0435\u0445 \u0432\u0435\u0442\u043e\u043a",
        "height": 80,
        "width": 210
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        960,
        320
      ],
      "typeVersion": 1,
      "id": "694f4767-22ba-463f-ad0d-772b4c986310",
      "name": "Sticky Note2"
    },
    {
      "parameters": {
        "content": "### \u041c\u043e\u0436\u043d\u043e \u043f\u043e\u0439\u0442\u0438 \u0432 \u0436\u043f\u0442 \u0438 \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0435\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0440\u043e\u043c\u043f\u0442 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430. \u0421\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043a\u0440\u0430\u0439\u043d\u0438\u0435 \u043a\u0435\u0439\u0441\u044b",
        "width": 360
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        360,
        640
      ],
      "typeVersion": 1,
      "id": "63b76fa5-b4fa-4886-bb5c-a121615a143b",
      "name": "Sticky Note4"
    },
    {
      "parameters": {
        "content": "### \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u043c\u043f\u0442 \u0438 \u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a \u0434\u043b\u044f n8n \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445\n\nhttps://chatgpt.com/g/g-Uiz5ukAUR-n8n-workflow-automation-optimize-workflows",
        "height": 220,
        "width": 430
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -680,
        660
      ],
      "typeVersion": 1,
      "id": "f2d7157c-c594-4050-bd0e-88a9ba9a0637",
      "name": "Sticky Note5"
    },
    {
      "parameters": {
        "content": "### \u0430\u0430\u0430! \u0431\u043e\u0442 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\n\n## \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0430\u0434\u043c\u0438\u043d\u043e\u043c",
        "height": 140,
        "width": 310
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -900,
        460
      ],
      "typeVersion": 1,
      "id": "68a521f3-3d1e-44ac-9492-142a401430a7",
      "name": "Sticky Note6"
    }
  ],
  "connections": {
    "OpenAI": {
      "main": [
        [
          {
            "node": "Title",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets": {
      "main": [
        [
          {
            "node": "Telegram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prod": {
      "main": [
        [
          {
            "node": "Vars",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Vars": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          },
          {
            "node": "Fetch Week Settings",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch": {
      "main": [
        [
          {
            "node": "type post",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "type questions",
            "type": "main",
            "index": 0
          },
          {
            "node": "OpenAI",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Week Settings": {
      "main": [
        [
          {
            "node": "Detect Current Week",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Detect Current Week": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Title": {
      "main": [
        [
          {
            "node": "Clean title",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get fields": {
      "main": [
        [
          {
            "node": "OpenAI",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "All": {
      "main": [
        [
          {
            "node": "Map to Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Clean title": {
      "main": [
        [
          {
            "node": "All",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Map to Sheets": {
      "main": [
        [
          {
            "node": "Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "type post": {
      "main": [
        [
          {
            "node": "Get fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "type questions": {
      "main": [
        [
          {
            "node": "Get fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "All",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "meta": {
    "templateCredsSetupCompleted": true
  }
}

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

Google-Sheets-Bot-Integration. Uses openAi, telegram, googleSheets, telegramTrigger. Event-driven trigger; 24 nodes.

Source: https://gist.github.com/VanDalkvist/56c76f597851ed15791aee8e2899cd3b — 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

Ask questions like “How much did I spend on food last month?” and get instant answers from your financial data — directly in Telegram.

Telegram Trigger, OpenAI, Google Sheets +2
AI & RAG

&gt; ⚠️ Disclaimer: This workflow uses Community Nodes and must be run on a self-hosted instance of n8n.

HTTP Request, Telegram Trigger, Telegram +2
AI & RAG

Viral Tik Tok Clone Finder. Uses httpRequest, telegramTrigger, openAi, googleSheets. Event-driven trigger; 41 nodes.

HTTP Request, Telegram Trigger, OpenAI +2
AI & RAG

This workflow is designed for content creators, agencies, influencers, and automation builders who want to transform viral videos into personalized avatar-based edits — and automatically publish them

Telegram Trigger, Telegram, HTTP Request +3
AI & RAG

💸 HOW IT WORKS — AI TELEGRAM EXPENSE TRACKER

Telegram Trigger, OpenAI, Google Sheets +1