This workflow corresponds to n8n.io template #8425 — we link there as the canonical source.
This workflow follows the Agent → Google Sheets 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 →
{
"name": "\ud83c\udf73 Culinary Companion \u2014 30-Step Workflow (Telegram + Google Sheets + LLM)",
"nodes": [
{
"name": "Telegram Trigger",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-1920,
128
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Read Recipe Names",
"type": "n8n-nodes-base.googleSheets",
"position": [
496,
432
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Format List Message",
"type": "n8n-nodes-base.function",
"position": [
1088,
432
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Telegram Send Recipe List",
"type": "n8n-nodes-base.telegram",
"position": [
1744,
432
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Extract Select Param",
"type": "n8n-nodes-base.function",
"position": [
-736,
816
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Lookup Recipe Row",
"type": "n8n-nodes-base.googleSheets",
"position": [
496,
1120
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Format Full Recipe",
"type": "n8n-nodes-base.function",
"position": [
1104,
1120
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Telegram Send Full Recipe",
"type": "n8n-nodes-base.telegram",
"position": [
1744,
1120
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Telegram Send AI Response",
"type": "n8n-nodes-base.telegram",
"position": [
1760,
1600
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Command Router",
"type": "n8n-nodes-base.switch",
"position": [
-1440,
64
],
"parameters": {},
"typeVersion": 3.2
},
{
"name": "Recipe AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
848,
1600
],
"parameters": {},
"typeVersion": 2.2
},
{
"name": "Google Gemini Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
400,
2288
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Conversation Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
688,
2288
],
"parameters": {},
"typeVersion": 1.3
},
{
"name": "Think",
"type": "@n8n/n8n-nodes-langchain.toolThink",
"position": [
1040,
2288
],
"parameters": {},
"typeVersion": 1.1
},
{
"name": "Read Recipes Sheet",
"type": "n8n-nodes-base.googleSheetsTool",
"position": [
1440,
2272
],
"parameters": {},
"typeVersion": 4.7
},
{
"name": "Update Recipes Sheet",
"type": "n8n-nodes-base.googleSheetsTool",
"position": [
1792,
2272
],
"parameters": {},
"typeVersion": 4.7
},
{
"name": "Telegram Send Menu",
"type": "n8n-nodes-base.telegram",
"position": [
1760,
-64
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Extract Search Term",
"type": "n8n-nodes-base.function",
"position": [
-768,
1296
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Prepare Recipe Creation",
"type": "n8n-nodes-base.function",
"position": [
-768,
1824
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Prepare Recipe Modification",
"type": "n8n-nodes-base.function",
"position": [
-768,
2304
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
1696,
-240
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1680,
256
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1696,
912
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1712,
1440
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
432,
256
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
1040,
912
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
432,
912
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-816,
608
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
816,
1424
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky Note10",
"type": "n8n-nodes-base.stickyNote",
"position": [
-832,
1168
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky Note11",
"type": "n8n-nodes-base.stickyNote",
"position": [
-832,
2096
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky Note12",
"type": "n8n-nodes-base.stickyNote",
"position": [
-848,
1632
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky Note13",
"type": "n8n-nodes-base.stickyNote",
"position": [
1712,
2112
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky Note14",
"type": "n8n-nodes-base.stickyNote",
"position": [
1360,
2112
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky Note15",
"type": "n8n-nodes-base.stickyNote",
"position": [
176,
2112
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
224,
2288
],
"parameters": {},
"typeVersion": 1.2
},
{
"name": "Sticky Note16",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1504,
-224
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky Note17",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1984,
0
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky Note18",
"type": "n8n-nodes-base.stickyNote",
"position": [
624,
2112
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky Note19",
"type": "n8n-nodes-base.stickyNote",
"position": [
976,
2112
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1040,
256
],
"parameters": {
"content": ""
},
"typeVersion": 1
}
],
"connections": {
"Think": {
"ai_tool": [
[
{
"node": "Recipe AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Command Router": {
"main": [
[
{
"node": "Telegram Send Menu",
"type": "main",
"index": 0
}
],
[
{
"node": "Read Recipe Names",
"type": "main",
"index": 0
}
],
[
{
"node": "Extract Select Param",
"type": "main",
"index": 0
}
],
[
{
"node": "Prepare Recipe Modification",
"type": "main",
"index": 0
}
],
[
{
"node": "Prepare Recipe Creation",
"type": "main",
"index": 0
}
],
[
{
"node": "Extract Search Term",
"type": "main",
"index": 0
}
]
]
},
"Recipe AI Agent": {
"main": [
[
{
"node": "Telegram Send AI Response",
"type": "main",
"index": 0
}
]
]
},
"Telegram Trigger": {
"main": [
[
{
"node": "Command Router",
"type": "main",
"index": 0
}
]
]
},
"Lookup Recipe Row": {
"main": [
[
{
"node": "Format Full Recipe",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Recipe AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Read Recipe Names": {
"main": [
[
{
"node": "Format List Message",
"type": "main",
"index": 0
}
]
]
},
"Format Full Recipe": {
"main": [
[
{
"node": "Telegram Send Full Recipe",
"type": "main",
"index": 0
}
]
]
},
"Read Recipes Sheet": {
"ai_tool": [
[
{
"node": "Recipe AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Conversation Memory": {
"ai_memory": [
[
{
"node": "Recipe AI Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"Extract Search Term": {
"main": [
[
{
"node": "Recipe AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Format List Message": {
"main": [
[
{
"node": "Telegram Send Recipe List",
"type": "main",
"index": 0
}
]
]
},
"Extract Select Param": {
"main": [
[
{
"node": "Lookup Recipe Row",
"type": "main",
"index": 0
}
]
]
},
"Update Recipes Sheet": {
"ai_tool": [
[
{
"node": "Recipe AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Prepare Recipe Creation": {
"main": [
[
{
"node": "Recipe AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Google Gemini Chat Model": {
"ai_languageModel": [
[]
]
},
"Prepare Recipe Modification": {
"main": [
[
{
"node": "Recipe AI Agent",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Tired of scrolling through messy notes and bookmarks to find your favorite recipes? Wish you had a personal chef's assistant to help you in the kitchen?
Source: https://n8n.io/workflows/8425/ — 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.
Generate AI viral videos with NanoBanana & VEO3, shared on socials via Blotato 2. Uses @blotato/n8n-nodes-blotato, googleSheets, lmChatOpenAi, toolThink. Event-driven trigger; 94 nodes.
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 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
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
Jarvis is a powerful multi-agent productivity assistant built in n8n. It works directly from Telegram and can understand both text messages and voice notes.