This workflow corresponds to n8n.io template #16524 — we link there as the canonical source.
This workflow follows the Agent → Google Gemini Chat 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 →
{
"id": "LT77kbRVFBpHp-kkjWfQV",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "DividendIQ",
"tags": [],
"nodes": [
{
"id": "e0b1bc1f-7e87-495f-a2fc-43ff8e289362",
"name": "Telegram Trigger",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-528,
416
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "0a972af1-94c9-47a0-ad17-85d2719c3ce9",
"name": "Account Check",
"type": "n8n-nodes-base.switch",
"position": [
-256,
416
],
"parameters": {},
"typeVersion": 3.3
},
{
"id": "43cd840d-21aa-4de8-ad47-b99a6ca228b2",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-320,
16
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "f743f004-c1ea-4b09-841b-daf97b215327",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1232,
-112
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "fdc10c73-2fee-4788-8707-51ec1c7288f7",
"name": "Parse User Input",
"type": "n8n-nodes-base.code",
"position": [
112,
416
],
"parameters": {},
"typeVersion": 2
},
{
"id": "2a660505-e45f-4c79-895e-64441083eade",
"name": "Portfolio Builder",
"type": "n8n-nodes-base.code",
"position": [
304,
416
],
"parameters": {},
"typeVersion": 2
},
{
"id": "64f980b8-35ca-42f2-9cdd-dbedf0c890ed",
"name": "Dividend Portfolio Data",
"type": "n8n-nodes-base.code",
"position": [
512,
416
],
"parameters": {},
"typeVersion": 2
},
{
"id": "e1c54772-2432-4b1b-8eeb-3ed14bb7cc05",
"name": "Income Calculator",
"type": "n8n-nodes-base.code",
"position": [
736,
416
],
"parameters": {},
"typeVersion": 2
},
{
"id": "78e65198-dbbc-4679-89d7-01ecf5bee509",
"name": "Portfolio Summary",
"type": "n8n-nodes-base.code",
"position": [
928,
416
],
"parameters": {},
"typeVersion": 2
},
{
"id": "c0f6d230-d7a4-4fdc-9f77-9c8145c07cf4",
"name": "AI Agent1",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1216,
416
],
"parameters": {},
"typeVersion": 3.1
},
{
"id": "24a0e3d9-8117-4dda-b232-1ed3cd6168c5",
"name": "Google Gemini Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
1216,
608
],
"parameters": {},
"typeVersion": 1
},
{
"id": "d01c8b38-422b-4411-aaef-f88ec804e4b8",
"name": "Send a chat action",
"type": "n8n-nodes-base.telegram",
"position": [
128,
912
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "9b0cb243-694f-41a7-9c94-306cf8fa02b0",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
64,
16
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "607d8bd3-0c5a-49a1-baf1-a89d14de467e",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
32,
608
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "bc38b869-8374-41cc-b22f-55dd7de4a367",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1168,
16
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "06c74584-461d-4bf1-8ac2-243890553dfd",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-592,
16
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "b3f78995-fed4-4d27-8c40-0fd825a50e0e",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1536,
16
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "064fe4d9-2db7-448c-a71f-6da9972f6fc9",
"name": "Send a text message",
"type": "n8n-nodes-base.telegram",
"position": [
1600,
416
],
"parameters": {},
"typeVersion": 1.2
}
],
"active": false,
"settings": {
"binaryMode": "separate",
"availableInMCP": false,
"executionOrder": "v1"
},
"versionId": "d1c10532-7190-4f37-a713-e76e246d889f",
"nodeGroups": [],
"connections": {
"AI Agent1": {
"main": [
[
{
"node": "Send a text message",
"type": "main",
"index": 0
}
]
]
},
"Account Check": {
"main": [
[
{
"node": "Parse User Input",
"type": "main",
"index": 0
},
{
"node": "Send a chat action",
"type": "main",
"index": 0
}
]
]
},
"Parse User Input": {
"main": [
[
{
"node": "Portfolio Builder",
"type": "main",
"index": 0
}
]
]
},
"Telegram Trigger": {
"main": [
[
{
"node": "Account Check",
"type": "main",
"index": 0
}
]
]
},
"Income Calculator": {
"main": [
[
{
"node": "Portfolio Summary",
"type": "main",
"index": 0
}
]
]
},
"Portfolio Builder": {
"main": [
[
{
"node": "Dividend Portfolio Data",
"type": "main",
"index": 0
}
]
]
},
"Portfolio Summary": {
"main": [
[
{
"node": "AI Agent1",
"type": "main",
"index": 0
}
]
]
},
"Send a chat action": {
"main": [
[]
]
},
"Dividend Portfolio Data": {
"main": [
[
{
"node": "Income Calculator",
"type": "main",
"index": 0
}
]
]
},
"Google Gemini Chat Model1": {
"ai_languageModel": [
[
{
"node": "AI Agent1",
"type": "ai_languageModel",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow listens for Telegram messages, validates the sender, parses an investment amount and risk strategy, builds a predefined dividend ETF/stock allocation, calculates estimated yield and income, and uses Google Gemini to format a concise portfolio report that it sends…
Source: https://n8n.io/workflows/16524/ — 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.
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.
Arvifund - Supabase (Fixed v6). Uses httpRequest, telegram, supabase, telegramTrigger. Event-driven trigger; 92 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
Arvifund - Supabase (Fixed v5). Uses httpRequest, telegram, googleSheets, telegramTrigger. Event-driven trigger; 91 nodes.
Arvifund - Supabase. Uses httpRequest, telegram, googleSheets, telegramTrigger. Event-driven trigger; 90 nodes.