This workflow corresponds to n8n.io template #7901 — we link there as the canonical source.
This workflow follows the Agent → Chainllm 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": "FaNp1mjSIXbxm8h0",
"name": "All in One Agent",
"tags": [],
"nodes": [
{
"id": "247d71ed-0b6d-45f8-a43f-3fcd18a6d337",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-208,
656
],
"parameters": {
"text": "={{ $json.message.text }}\n",
"options": {
"systemMessage": "=You are [Your Name]\u2019s Smart Assistant\n\n# Responsibilities:\nHandle Gmail and calendar-related tasks accurately and efficiently using the available tools.\n\n# Instructions:\n## Gmail Tasks:\nFor any Gmail-related request from [Your Name], use the Gmail tools: Send, Reply, Label, Delete, and Get Many.\n\nIf [Your Name] provides only a name without an email address, ask for the email address before proceeding.\n\nAuto-complete any missing information (e.g., links, answers, summaries) when drafting or replying to emails.\n\n## Calendar Tasks:\nIf [Your Name] requests an appointment, use the Calendar tool to schedule it at their preferred time.\n\nBefore scheduling, check for conflicts at the preferred time.\n\nIf a meeting already exists, do not create the appointment. Instead, notify [Your Name] about the conflict.\n\nUse the Date and Time tool to properly interpret dates and times.\n\n## Handling Contacts:\nIf [Your Name] provides only a name to send an email, first check the Google Sheet for their email address.\n\nIf the email is not found, ask [Your Name] to provide it.\n\nOnce received, use the email to send the message and update the Google Sheet by adding the new email alongside the person's name.\n\n# Behavior:\nAlways stay efficient, accurate, and helpful in all tasks and interactions.\n\nPrioritize clarity and speed in executing requests."
},
"promptType": "define"
},
"typeVersion": 2
},
{
"id": "bba55df3-839e-4eaa-aa3c-e43178ac754e",
"name": "Send",
"type": "n8n-nodes-base.gmailTool",
"position": [
-432,
896
],
"parameters": {
"sendTo": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('To', ``, 'string') }}",
"message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
"options": {
"appendAttribution": false
},
"subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}",
"emailType": "text"
},
"typeVersion": 2.1
},
{
"id": "91797b93-a698-41e3-9cf0-23999de4f442",
"name": "Reply",
"type": "n8n-nodes-base.gmailTool",
"position": [
-304,
896
],
"parameters": {
"message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
"options": {
"appendAttribution": false
},
"emailType": "text",
"messageId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message_ID', ``, 'string') }}",
"operation": "reply"
},
"typeVersion": 2.1
},
{
"id": "621d5766-89d5-4d79-8f72-1599f31b7a53",
"name": "Delete",
"type": "n8n-nodes-base.gmailTool",
"position": [
-192,
896
],
"parameters": {
"messageId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message_ID', ``, 'string') }}",
"operation": "delete"
},
"typeVersion": 2.1
},
{
"id": "a864bf34-35ae-4559-8b70-b03f1ae33bb7",
"name": "Get Many",
"type": "n8n-nodes-base.gmailTool",
"position": [
-64,
896
],
"parameters": {
"simple": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Simplify', ``, 'boolean') }}",
"filters": {},
"options": {},
"operation": "getAll",
"returnAll": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Return_All', ``, 'boolean') }}"
},
"typeVersion": 2.1
},
{
"id": "be142e1e-d873-4e22-8d1f-7b904dcae4b8",
"name": "Gemini",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-752,
896
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "099c9d42-8146-4772-980d-d1e2b4b3fcaf",
"name": "Telegram Trigger",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-832,
656
],
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "c5a52651-1fd9-4674-875b-12e2e62a5669",
"name": "Send a text message",
"type": "n8n-nodes-base.telegram",
"position": [
352,
656
],
"parameters": {
"text": "={{ $json.output }}",
"chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
"additionalFields": {
"appendAttribution": false
}
},
"typeVersion": 1.2
},
{
"id": "bfcf789b-0faf-4897-9124-7bca05cecb93",
"name": "Gmail Trigger",
"type": "n8n-nodes-base.gmailTrigger",
"position": [
-896,
80
],
"parameters": {
"filters": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "c3c53036-2b69-47e7-a7c8-39501b4e9384",
"name": "Create Event",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
192,
896
],
"parameters": {
"end": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('End', ``, 'string') }}",
"start": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Start', ``, 'string') }}",
"calendar": {
"__rl": true,
"mode": "list",
"value": "user@example.com",
"cachedResultName": "For the Agent"
},
"additionalFields": {
"summary": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Summary', ``, 'string') }}",
"attendees": [
"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('attendees0_Attendees', ``, 'string') }}"
],
"description": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Description', ``, 'string') }}",
"conferenceDataUi": {}
},
"useDefaultReminders": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Use_Default_Reminders', ``, 'boolean') }}"
},
"typeVersion": 1.3
},
{
"id": "b181690c-3c15-4221-9142-372a716f5847",
"name": "Get Many2",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
320,
896
],
"parameters": {
"options": {},
"timeMax": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Before', ``, 'string') }}",
"timeMin": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('After', ``, 'string') }}",
"calendar": {
"__rl": true,
"mode": "list",
"value": "user@example.com",
"cachedResultName": "For the Agent"
},
"operation": "getAll",
"returnAll": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Return_All', ``, 'boolean') }}"
},
"typeVersion": 1.3
},
{
"id": "27234a63-fccb-4642-8d4e-da519d6fee01",
"name": "Delete2",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
432,
896
],
"parameters": {
"eventId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', ``, 'string') }}",
"options": {},
"calendar": {
"__rl": true,
"mode": "list",
"value": "user@example.com",
"cachedResultName": "For the Agent"
},
"operation": "delete"
},
"typeVersion": 1.3
},
{
"id": "57487467-132a-4b7c-8624-966b686c6f8d",
"name": "Send a text message1",
"type": "n8n-nodes-base.telegram",
"position": [
80,
-96
],
"parameters": {
"text": "={{ $json.text }}",
"chatId": "=5900086927",
"additionalFields": {
"appendAttribution": false
}
},
"typeVersion": 1.2
},
{
"id": "9ea741a1-841b-4753-be4c-3f2aa4f2fd0b",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
-656,
80
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "8cc6db1c-bb33-4411-9c5e-401c845ed491",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.labels[0].id }}",
"rightValue": "INBOX"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "2be0d390-f48a-4468-afe6-8fd2a95dec62",
"name": "No Operation, do nothing",
"type": "n8n-nodes-base.noOp",
"position": [
-416,
208
],
"parameters": {},
"typeVersion": 1
},
{
"id": "3692648e-7aa5-47f7-9a5c-978baa8cd1b9",
"name": "Date & Time",
"type": "n8n-nodes-base.dateTimeTool",
"position": [
752,
896
],
"parameters": {
"options": {
"timezone": "Asia/Dhaka"
},
"includeTime": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Include_Current_Time', ``, 'boolean') }}",
"outputFieldName": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Output_Field_Name', ``, 'string') }}"
},
"typeVersion": 2
},
{
"id": "0f5144c4-c468-4a09-b40b-73437bcd91f3",
"name": "Basic LLM Chain",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
-304,
64
],
"parameters": {
"text": "=From: {{ $json.From }}\nMail: {{ $json.snippet }}\nTime: {{ $now.format('yyyy-MM-dd (hh:mm a)') }}\n\nwhen you get a mail give me the complete mail and on the top give the type of the mail and the Time and also who send that.\n\nDon't need the reply.",
"batching": {},
"promptType": "define"
},
"typeVersion": 1.7
},
{
"id": "8f920cb0-0a0b-4193-8fa0-42435d9c59a4",
"name": "Text Classifier",
"type": "@n8n/n8n-nodes-langchain.textClassifier",
"position": [
80,
208
],
"parameters": {
"options": {},
"inputText": "={{ $('Gmail Trigger').item.json.snippet }}",
"categories": {
"categories": [
{
"category": "Client",
"description": "=Mails from people interested in hiring or working with me."
},
{
"category": "Sponsorship Request",
"description": "=Mails about collaboration or promotion offers for products or tools."
},
{
"category": "Not Business",
"description": "Mails that are personal, spam, or unrelated to work."
}
]
}
},
"typeVersion": 1.1
},
{
"id": "dcc5fa2a-ef4e-4841-ba05-d06b9898b5bf",
"name": "Update",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
560,
896
],
"parameters": {
"eventId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', ``, 'string') }}",
"calendar": {
"__rl": true,
"mode": "list",
"value": "user@example.com",
"cachedResultName": "For the Agent"
},
"operation": "update",
"updateFields": {},
"useDefaultReminders": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Use_Default_Reminders', ``, 'boolean') }}"
},
"typeVersion": 1.3
},
{
"id": "ac9cd97e-4c8c-43c2-812f-6eed8c417744",
"name": "Reply to a message",
"type": "n8n-nodes-base.gmail",
"position": [
848,
32
],
"parameters": {
"message": "=Hi \n\nThanks for reaching out! I\u2019ve received your message and will get back to you shortly with more details.\n\nLooking forward to connecting soon.\n\nBest,\nRakin",
"options": {},
"emailType": "text",
"messageId": "={{ $('Gmail Trigger').item.json.id }}",
"operation": "reply"
},
"typeVersion": 2.1
},
{
"id": "b68eb497-82da-4bfc-971d-b408bd009f27",
"name": "Not Business",
"type": "n8n-nodes-base.gmail",
"position": [
560,
400
],
"parameters": {
"labelIds": [
"Label_2065466039386271982"
],
"messageId": "={{ $('Gmail Trigger').item.json.id }}",
"operation": "addLabels"
},
"typeVersion": 2.1
},
{
"id": "5e4748c7-9257-4609-ac93-b9b47c6480ad",
"name": "Reply to a message1",
"type": "n8n-nodes-base.gmail",
"position": [
848,
224
],
"parameters": {
"message": "=Hi,\n\nThanks for your interest in collaborating! My rate for promoting a product in a 6\u20138 minute video is $400.\n\nIf that works for you, feel free to let me know and we can discuss the next steps.\n\nBest regards,\nRakin Jakaria",
"options": {},
"emailType": "text",
"messageId": "={{ $('Gmail Trigger').item.json.id }}",
"operation": "reply"
},
"typeVersion": 2.1
},
{
"id": "151a4629-8d42-4067-80c8-d6f3d6914387",
"name": "Get Contacts",
"type": "n8n-nodes-base.googleSheetsTool",
"position": [
1104,
896
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1UTOyNDNeRJj6nRuladtP61ljeZg6xXK3O1Kn3Dq7t_A/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1UTOyNDNeRJj6nRuladtP61ljeZg6xXK3O1Kn3Dq7t_A",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1UTOyNDNeRJj6nRuladtP61ljeZg6xXK3O1Kn3Dq7t_A/edit?usp=drivesdk",
"cachedResultName": "Contact Details"
}
},
"typeVersion": 4.6
},
{
"id": "a65d8d91-154f-4549-8c9d-f1e18cddc797",
"name": "Add Contacts",
"type": "n8n-nodes-base.googleSheetsTool",
"position": [
992,
896
],
"parameters": {
"columns": {
"value": {
"Name": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Name', ``, 'string') }}",
"Email Address": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Email_Address', ``, 'string') }}"
},
"schema": [
{
"id": "Name",
"type": "string",
"display": true,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email Address",
"type": "string",
"display": true,
"required": false,
"displayName": "Email Address",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1UTOyNDNeRJj6nRuladtP61ljeZg6xXK3O1Kn3Dq7t_A/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1UTOyNDNeRJj6nRuladtP61ljeZg6xXK3O1Kn3Dq7t_A",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1UTOyNDNeRJj6nRuladtP61ljeZg6xXK3O1Kn3Dq7t_A/edit?usp=drivesdk",
"cachedResultName": "Contact Details"
}
},
"typeVersion": 4.6
},
{
"id": "92df96af-8b12-4b48-9630-1f258d16af00",
"name": "Client",
"type": "n8n-nodes-base.gmail",
"position": [
560,
32
],
"parameters": {
"labelIds": [
"Label_1534483885587560921"
],
"messageId": "={{ $('Gmail Trigger').item.json.id }}",
"operation": "addLabels"
},
"typeVersion": 2.1
},
{
"id": "29d848ba-4177-454a-b1cb-aad13ffc0599",
"name": "Sponsorship Request",
"type": "n8n-nodes-base.gmail",
"position": [
560,
224
],
"parameters": {
"labelIds": [
"Label_3681145886880643071"
],
"messageId": "={{ $('Gmail Trigger').item.json.id }}",
"operation": "addLabels"
},
"typeVersion": 2.1
},
{
"id": "25886543-7fc9-41bf-8354-95e1cd204970",
"name": "Simple Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
-576,
896
],
"parameters": {
"sessionKey": "={{ $json.message.chat.id }}",
"sessionIdType": "customKey"
},
"typeVersion": 1.3
},
{
"id": "8f0249f5-72d4-44a3-893d-f49a726e8909",
"name": "Gemini1",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
80,
416
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "e018f9e3-1f07-449c-bf4b-f5a5207a26d0",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1952,
160
],
"parameters": {
"color": 3,
"width": 900,
"height": 840,
"content": "# \ud83d\udee0\ufe0f Setup Guide \n## \ud83d\udc64 Author: [Rakin Jakaria](https://www.youtube.com/@rakinjakaria) \n\n## \ud83d\udd0c Steps to Connect: \n1. **Gmail & Calendar OAuth2 Setup** \n - Create **Gmail OAuth2** and **Google Calendar OAuth2** credentials in n8n. \n - Authorize access for both services and apply them to their respective nodes (Send, Reply, Calendar tools). \n\n2. **Google Gemini API Key** \n - Generate an API key from [Google AI Studio](https://aistudio.google.com/). \n - Add it to the **Google Gemini (PaLM) API** credential in n8n and link it to the **Gemini** nodes. \n\n3. **Google Sheets Integration** \n - Set up **Google Sheets OAuth2** and connect to your spreadsheet. \n - Ensure columns for **Name** and **Email Address** exist in **Sheet1**. \n\n4. **Telegram Bot Setup** \n - Link your Telegram account via **Telegram API** credentials. \n - The **Telegram Trigger** node will listen for commands (e.g., email drafting, calendar scheduling). \n\n5. **AI Agent Customization** \n - Edit the **AI Agent** node\u2019s system message to reflect your preferences (e.g., assistant name, task rules). \n - Pre-create Gmail labels (e.g., *Client*, *Sponsorship Request*) for auto-categorization. \n\n6. **Testing** \n - Trigger test emails/calendar events to verify workflows. \n - Use Telegram to send commands like: \n *\"Schedule a meeting with Alex on Friday at 2 PM\"* or *\"Send an email to John about the project.\"* \n\n--- \n\ud83d\udca1 **Pro Tips:** \n- Label IDs must match your Gmail\u2019s actual label IDs. \n- For time zones, adjust the **Date & Time** node to your region (e.g., `Asia/Dhaka`). \n\nNeed help? Watch Rakin\u2019s [YouTube Tutorials](https://www.youtube.com/@rakinjakaria) for visual guidance. \ud83c\udfa5"
},
"typeVersion": 1
},
{
"id": "bf296a3d-37d6-4d98-b300-0ddc1c419607",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1856,
-384
],
"parameters": {
"color": 3,
"width": 608,
"height": 512,
"content": "## Start here: Step-by Step Youtube Tutorial :star:\n[](https://youtu.be/WO3mM7XZRLg)"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "023ba63b-5725-45db-a032-7e12f647d171",
"connections": {
"If": {
"main": [
[
{
"node": "Basic LLM Chain",
"type": "main",
"index": 0
}
],
[
{
"node": "No Operation, do nothing",
"type": "main",
"index": 0
}
]
]
},
"Send": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Reply": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Client": {
"main": [
[
{
"node": "Reply to a message",
"type": "main",
"index": 0
}
]
]
},
"Delete": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Gemini": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Update": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Delete2": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Gemini1": {
"ai_languageModel": [
[
{
"node": "Basic LLM Chain",
"type": "ai_languageModel",
"index": 0
},
{
"node": "Text Classifier",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "Send a text message",
"type": "main",
"index": 0
}
]
]
},
"Get Many": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Get Many2": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Date & Time": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Add Contacts": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Create Event": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Get Contacts": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Gmail Trigger": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Simple Memory": {
"ai_memory": [
[
{
"node": "AI Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"Basic LLM Chain": {
"main": [
[
{
"node": "Text Classifier",
"type": "main",
"index": 0
},
{
"node": "Send a text message1",
"type": "main",
"index": 0
}
]
]
},
"Text Classifier": {
"main": [
[
{
"node": "Client",
"type": "main",
"index": 0
}
],
[
{
"node": "Sponsorship Request",
"type": "main",
"index": 0
}
],
[
{
"node": "Not Business",
"type": "main",
"index": 0
}
]
]
},
"Telegram Trigger": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Sponsorship Request": {
"main": [
[
{
"node": "Reply to a message1",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Use cases are many: Manage your Gmail inbox, schedule calendar events, and handle contact details — all from one central AI-powered assistant. Perfect for freelancers managing clients, agency owners who need streamlined communication, or busy professionals who want a personal AI…
Source: https://n8n.io/workflows/7901/ — 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.
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
ITfest. Uses telegramTrigger, telegram, textClassifier, agent. Event-driven trigger; 70 nodes.
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.
> AI-powered nutrition assistant for Telegram — log meals, set goals, and get personalized daily reports with Google Sheets integration.