This workflow corresponds to n8n.io template #5442 — we link there as the canonical source.
This workflow follows the Agent → Execute Workflow Trigger 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": [
{
"name": "Format Summary Message",
"type": "n8n-nodes-base.code",
"position": [
-1160,
-660
],
"parameters": {},
"typeVersion": 2
},
{
"name": "Start: Telegram Input",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3460,
-1000
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Check Invalid Input",
"type": "n8n-nodes-base.if",
"position": [
-760,
-660
],
"parameters": {},
"typeVersion": 2.2
},
{
"name": "Extract Text Input",
"type": "n8n-nodes-base.set",
"position": [
-2580,
-660
],
"parameters": {},
"typeVersion": 3.4
},
{
"name": "Check for Image",
"type": "n8n-nodes-base.if",
"position": [
-3100,
-860
],
"parameters": {},
"typeVersion": 2.2
},
{
"name": "Input Type Check",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3140,
-1000
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Receipt Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-1320,
200
],
"parameters": {},
"typeVersion": 1.2
},
{
"name": "Send Error Message",
"type": "n8n-nodes-base.telegram",
"position": [
-400,
-800
],
"parameters": {},
"typeVersion": 1.2
},
{
"name": "Send Expense Summary",
"type": "n8n-nodes-base.telegram",
"position": [
-400,
-460
],
"parameters": {},
"typeVersion": 1.2
},
{
"name": "Extract Value From Image",
"type": "n8n-nodes-tesseractjs.tesseractNode",
"position": [
-1600,
-1040
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Notify User: Send Summary",
"type": "n8n-nodes-base.stickyNote",
"position": [
-520,
-560
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Handle Text Input",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2660,
-800
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Structure AI Output",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1620,
-120
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Download Receipt Image",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2660,
-1160
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Extract Text from Image (OCR)",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1680,
-1160
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Format Summary for User",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1240,
-780
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "AI Data Extraction",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1680,
-780
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Notify User: Send Error",
"type": "n8n-nodes-base.stickyNote",
"position": [
-520,
-900
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Validate Extracted Data",
"type": "n8n-nodes-base.stickyNote",
"position": [
-840,
-780
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Configure AI Model",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2040,
-120
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Telegram Trigger1",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-3400,
-860
],
"parameters": {},
"typeVersion": 1.2
},
{
"name": "Google Gemini Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"disabled": true,
"position": [
-1840,
200
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Telegram",
"type": "n8n-nodes-base.telegram",
"position": [
-2580,
-1040
],
"parameters": {},
"typeVersion": 1.2
},
{
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-1660,
-660
],
"parameters": {},
"typeVersion": 2
},
{
"name": "Auto-fixing Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
"position": [
-1480,
-20
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Simple Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
-1640,
-380
],
"parameters": {},
"typeVersion": 1.3
},
{
"name": "Think",
"type": "@n8n/n8n-nodes-langchain.toolThink",
"position": [
-1160,
-380
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Date & Time",
"type": "n8n-nodes-base.dateTimeTool",
"position": [
-1260,
-380
],
"parameters": {},
"typeVersion": 2
},
{
"name": "Mistral Cloud Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatMistralCloud",
"position": [
-2000,
20
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Mistral Cloud Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatMistralCloud",
"position": [
-1560,
200
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Send Expense Summary1",
"type": "n8n-nodes-base.telegram",
"position": [
860,
-720
],
"parameters": {},
"typeVersion": 1.2
},
{
"name": "Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
520,
-720
],
"parameters": {},
"typeVersion": 4.6
},
{
"name": "Edit Fields",
"type": "n8n-nodes-base.set",
"position": [
180,
-720
],
"parameters": {},
"typeVersion": 3.4
},
{
"name": "Save Image to Cloud",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1700,
-1780
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"disabled": true,
"position": [
-2000,
200
],
"parameters": {},
"typeVersion": 1.2
},
{
"name": "OpenRouter Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"disabled": true,
"position": [
-1840,
20
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Execute Workflow",
"type": "n8n-nodes-base.executeWorkflow",
"position": [
820,
-1680
],
"parameters": {},
"typeVersion": 1.2
},
{
"name": "When Executed by Another Workflow",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
840,
-1180
],
"parameters": {},
"typeVersion": 1.1
},
{
"name": "Save Receipt",
"type": "n8n-nodes-base.googleDrive",
"position": [
-1620,
-1700
],
"parameters": {},
"typeVersion": 3
},
{
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
160,
-1680
],
"parameters": {},
"typeVersion": 3.2
},
{
"name": "Merge Data Streams",
"type": "n8n-nodes-base.stickyNote",
"position": [
80,
-1800
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Trigger Save Workflow",
"type": "n8n-nodes-base.stickyNote",
"position": [
740,
-1800
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Prepare Data for Sheet",
"type": "n8n-nodes-base.stickyNote",
"position": [
120,
-840
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Save Data to Google Sheets",
"type": "n8n-nodes-base.stickyNote",
"position": [
440,
-840
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Send Confirmation",
"type": "n8n-nodes-base.stickyNote",
"position": [
780,
-840
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Future Ideas & Improvements",
"type": "n8n-nodes-base.stickyNote",
"position": [
1120,
-840
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"name": "Mistral Upload",
"type": "n8n-nodes-base.httpRequest",
"disabled": true,
"position": [
-1600,
-1360
],
"parameters": {},
"typeVersion": 4.2
},
{
"name": "Mistral Signed URL",
"type": "n8n-nodes-base.httpRequest",
"disabled": true,
"position": [
-1280,
-1360
],
"parameters": {},
"typeVersion": 4.2
},
{
"name": "Mistral DOC OCR",
"type": "n8n-nodes-base.httpRequest",
"disabled": true,
"position": [
-960,
-1360
],
"parameters": {},
"typeVersion": 4.2
},
{
"name": "Code",
"type": "n8n-nodes-base.code",
"position": [
-640,
-1360
],
"parameters": {},
"typeVersion": 2
},
{
"name": "Extract Text via API (OCR)",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1680,
-1480
],
"parameters": {
"content": ""
},
"typeVersion": 1
}
],
"connections": {
"Code": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "Execute Workflow",
"type": "main",
"index": 0
}
]
]
},
"Think": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "Format Summary Message",
"type": "main",
"index": 0
}
]
]
},
"Telegram": {
"main": [
[
{
"node": "Save Receipt",
"type": "main",
"index": 0
},
{
"node": "Extract Value From Image",
"type": "main",
"index": 0
},
{
"node": "Mistral Upload",
"type": "main",
"index": 0
}
]
]
},
"Date & Time": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Edit Fields": {
"main": [
[
{
"node": "Google Sheets",
"type": "main",
"index": 0
}
]
]
},
"Save Receipt": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Google Sheets": {
"main": [
[
{
"node": "Send Expense Summary1",
"type": "main",
"index": 0
}
]
]
},
"Simple Memory": {
"ai_memory": [
[
{
"node": "AI Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"Mistral Upload": {
"main": [
[
{
"node": "Mistral Signed URL",
"type": "main",
"index": 0
}
]
]
},
"Receipt Parser": {
"ai_outputParser": [
[
{
"node": "Auto-fixing Output Parser",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Check for Image": {
"main": [
[
{
"node": "Telegram",
"type": "main",
"index": 0
}
],
[
{
"node": "Extract Text Input",
"type": "main",
"index": 0
}
]
]
},
"Mistral DOC OCR": {
"main": [
[
{
"node": "Code",
"type": "main",
"index": 0
}
]
]
},
"Telegram Trigger1": {
"main": [
[
{
"node": "Check for Image",
"type": "main",
"index": 0
}
]
]
},
"Extract Text Input": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Mistral Signed URL": {
"main": [
[
{
"node": "Mistral DOC OCR",
"type": "main",
"index": 0
}
]
]
},
"Check Invalid Input": {
"main": [
[
{
"node": "Send Error Message",
"type": "main",
"index": 0
}
],
[
{
"node": "Send Expense Summary",
"type": "main",
"index": 0
}
]
]
},
"Send Expense Summary": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Format Summary Message": {
"main": [
[
{
"node": "Check Invalid Input",
"type": "main",
"index": 0
}
]
]
},
"Extract Value From Image": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Google Gemini Chat Model": {
"ai_languageModel": [
[]
]
},
"Mistral Cloud Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Auto-fixing Output Parser": {
"ai_outputParser": [
[
{
"node": "AI Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Mistral Cloud Chat Model1": {
"ai_languageModel": [
[
{
"node": "Auto-fixing Output Parser",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"When Executed by Another Workflow": {
"main": [
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow contains community nodes that are only compatible with the self-hosted version of n8n.
Source: https://n8n.io/workflows/5442/ — 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.
🎯 Create viral TikToks, Shorts, Reels, podcasts, and ASMR videos in minutes — all on autopilot.
This workflow creates a multi-talented AI assistant named Simran that interacts with users via Telegram. It can handle text and voice messages, understand the user's intent, and perform various tasks.
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.
The AI-Powered Shopify SEO Content Automation is an enterprise-grade workflow that transforms product content creation for e-commerce stores. This sophisticated multi-agent system integrates GPT-4o, C
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