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 →
{
"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.
googleApiopenAiApitelegramApi
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 →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Ask questions like “How much did I spend on food last month?” and get instant answers from your financial data — directly in Telegram.
> ⚠️ Disclaimer: This workflow uses Community Nodes and must be run on a self-hosted instance of n8n.
Viral Tik Tok Clone Finder. Uses httpRequest, telegramTrigger, openAi, googleSheets. Event-driven trigger; 41 nodes.
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
💸 HOW IT WORKS — AI TELEGRAM EXPENSE TRACKER