This workflow follows the Agent → OpenAI 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 →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "ca8b122d-1739-4377-ac99-e20dd2341342",
"name": "Incoming Message",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-1020,
-320
],
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "68f7568b-e677-454b-a1e8-6c07a05e7570",
"name": "MCP Server Trigger",
"type": "@n8n/n8n-nodes-langchain.mcpTrigger",
"position": [
-860,
240
],
"parameters": {
"path": "562ffc95-cf8e-4d4d-8f5b-29b3ff22d5ee"
},
"typeVersion": 1
},
{
"id": "635b8ecc-0f50-477d-8e19-631f868e30f6",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
340,
-320
],
"parameters": {
"options": {
"systemMessage": "=You are a helpful assistant. Whenever askes to update a task, call the get_tasks tools first to retrieve the appropriate task ids then use that to update the tasks.\n\nToday's date: {{ $now }}\n"
}
},
"typeVersion": 1.8
},
{
"id": "ab7740dc-bac2-4044-8317-40d90252d992",
"name": "MCP Client",
"type": "@n8n/n8n-nodes-langchain.mcpClientTool",
"position": [
540,
-100
],
"parameters": {
"sseEndpoint": "https://ai.gatuservices.info/mcp/562ffc95-cf8e-4d4d-8f5b-29b3ff22d5ee/sse"
},
"typeVersion": 1
},
{
"id": "5298eee0-747a-496a-a3a2-e395f7c1caa1",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
300,
-100
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "c5b7e10d-2d7c-403c-bcb5-a10033252f97",
"name": "Simple Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
420,
-100
],
"parameters": {
"sessionKey": "={{ $('Incoming Message').item.json.message.from.id }}",
"sessionIdType": "customKey",
"contextWindowLength": 20
},
"typeVersion": 1.3
},
{
"id": "06d2e8c8-3912-45cd-a074-4eea27c2e5eb",
"name": "chatInput",
"type": "n8n-nodes-base.set",
"position": [
80,
-220
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "ab70dc2d-35d0-4742-988f-ed7077633467",
"name": "chatInput",
"type": "string",
"value": "={{ $json.message.text }}"
},
{
"id": "6439fc2c-dc2d-41fc-b8a3-b33ef80d2878",
"name": "id",
"type": "number",
"value": "={{ $json.message.from.id }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "a9309816-8c1d-435c-ad49-2e45053718c1",
"name": "create_todays_task",
"type": "n8n-nodes-base.googleTasksTool",
"position": [
-1020,
460
],
"parameters": {
"task": "MDg2MzM1OTA5NzI0NzUzNjUwNjc6MDow",
"title": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Title', `Title summary of the task to be done`, 'string') }}",
"additionalFields": {
"notes": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Notes', `Detailed description of the task`, 'string') }}",
"dueDate": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Due_Date', `Date the task should be completed`, 'string') }}",
"completed": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Completion_Date', `Date the task was completed`, 'string') }}"
}
},
"credentials": {
"googleTasksOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "ad6cfc1a-7094-434a-98d1-a6f030067091",
"name": "chatOutput",
"type": "n8n-nodes-base.set",
"position": [
740,
-320
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "df6bd510-e63f-41b1-b5b4-d2c612d5b8d0",
"name": "chatOutput",
"type": "string",
"value": "={{ $json.output }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "e342066f-3cf8-4926-94df-798e831226be",
"name": "sendMessage",
"type": "n8n-nodes-base.telegram",
"position": [
960,
-320
],
"parameters": {
"text": "={{ $json.chatOutput }}",
"chatId": "={{ $('Incoming Message').item.json.message.chat.id }}",
"additionalFields": {
"appendAttribution": false,
"disable_notification": false
}
},
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "e4a1bc16-549f-46a2-92a8-a06e6023089c",
"name": "create_upcoming_task",
"type": "n8n-nodes-base.googleTasksTool",
"position": [
-900,
460
],
"parameters": {
"task": "OFVvNlh6ZmhScHVvNll4dw",
"title": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Title', `Title summary of the task to be done`, 'string') }}",
"additionalFields": {
"notes": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Notes', `Detailed description of the task`, 'string') }}",
"dueDate": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Due_Date', `Date the task should be completed`, 'string') }}",
"completed": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Completion_Date', `Date the task was completed`, 'string') }}"
}
},
"credentials": {
"googleTasksOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "df71bb02-016d-4d56-b80d-404a60c0e7cf",
"name": "complete_task",
"type": "n8n-nodes-base.googleTasksTool",
"position": [
-780,
460
],
"parameters": {
"task": "RS1rbkNCS2JsdVFnVl80cg",
"taskId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Task_ID', `The task id tom be marked as completed. Get it from the get tasks tool`, 'string') }}",
"operation": "update",
"updateFields": {}
},
"credentials": {
"googleTasksOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "a33812bd-986e-4762-87a0-199ff8a7c9aa",
"name": "get_todays_tasks",
"type": "n8n-nodes-base.googleTasksTool",
"position": [
-660,
460
],
"parameters": {
"task": "MDg2MzM1OTA5NzI0NzUzNjUwNjc6MDow",
"operation": "getAll",
"returnAll": true,
"additionalFields": {}
},
"credentials": {
"googleTasksOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "dcb3a6c9-5d7c-4fe6-8b52-f07cf74cfa0c",
"name": "get_upcoming_tasks",
"type": "n8n-nodes-base.googleTasksTool",
"position": [
-540,
460
],
"parameters": {
"task": "OFVvNlh6ZmhScHVvNll4dw",
"operation": "getAll",
"returnAll": true,
"additionalFields": {}
},
"credentials": {
"googleTasksOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "ce63c24a-ce2f-4e06-8ae5-7de75540d438",
"name": "Switch",
"type": "n8n-nodes-base.switch",
"position": [
-800,
-320
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "Voice Note",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "8415cc8d-65a2-448e-a106-1ceb54634dfd",
"operator": {
"type": "object",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.message.voice }}",
"rightValue": ""
}
]
},
"renameOutput": true
}
]
},
"options": {
"fallbackOutput": "extra"
}
},
"typeVersion": 3.2
},
{
"id": "a58488c3-38b8-4492-9f13-a900c7697812",
"name": "audio_id",
"type": "n8n-nodes-base.set",
"position": [
-580,
-420
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "eb7f5d62-e4f3-4b4e-9f1b-6c329feafb3e",
"name": "file_id",
"type": "string",
"value": "={{ $json.message.voice.file_id }}"
},
{
"id": "803031b8-6b21-47fa-b339-ad674ccbbb1e",
"name": "file_unique_id",
"type": "string",
"value": "={{ $json.message.voice.file_unique_id }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "83c2ecae-b601-4669-b820-b5c35d3f936e",
"name": "download_audio",
"type": "n8n-nodes-base.telegram",
"position": [
-360,
-420
],
"parameters": {
"fileId": "={{ $json.file_id }}",
"resource": "file"
},
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "4a496e3a-2e3a-4ce0-9344-192847de1760",
"name": "transcribeAudio",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
-140,
-420
],
"parameters": {
"options": {},
"resource": "audio",
"operation": "transcribe"
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.8
},
{
"id": "38b6aa37-d279-4b1b-be42-7f7cc1bbe688",
"name": "audioInput",
"type": "n8n-nodes-base.set",
"position": [
80,
-420
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "d57b4fc2-10f7-46cd-a89c-0021a92f41d1",
"name": "chatInput",
"type": "string",
"value": "={{ $json.text }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "e524f12f-205f-4fc8-b2f0-b308ec4066b7",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1060,
-500
],
"parameters": {
"color": 4,
"width": 2180,
"height": 540,
"content": "## Main Function to Receive and Send Telegram Messages\n"
},
"typeVersion": 1
},
{
"id": "709b252a-b5e8-4c7e-8bcd-a7092d588070",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1060,
140
],
"parameters": {
"color": 3,
"width": 640,
"height": 480,
"content": "## MCP Server to Carry Out Actions"
},
"typeVersion": 1
}
],
"connections": {
"Switch": {
"main": [
[
{
"node": "audio_id",
"type": "main",
"index": 0
}
],
[
{
"node": "chatInput",
"type": "main",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "chatOutput",
"type": "main",
"index": 0
}
]
]
},
"audio_id": {
"main": [
[
{
"node": "download_audio",
"type": "main",
"index": 0
}
]
]
},
"chatInput": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"MCP Client": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"audioInput": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"chatOutput": {
"main": [
[
{
"node": "sendMessage",
"type": "main",
"index": 0
}
]
]
},
"Simple Memory": {
"ai_memory": [
[
{
"node": "AI Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"complete_task": {
"ai_tool": [
[
{
"node": "MCP Server Trigger",
"type": "ai_tool",
"index": 0
}
]
]
},
"download_audio": {
"main": [
[
{
"node": "transcribeAudio",
"type": "main",
"index": 0
}
]
]
},
"transcribeAudio": {
"main": [
[
{
"node": "audioInput",
"type": "main",
"index": 0
}
]
]
},
"Incoming Message": {
"main": [
[
{
"node": "Switch",
"type": "main",
"index": 0
}
]
]
},
"get_todays_tasks": {
"ai_tool": [
[
{
"node": "MCP Server Trigger",
"type": "ai_tool",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"create_todays_task": {
"ai_tool": [
[
{
"node": "MCP Server Trigger",
"type": "ai_tool",
"index": 0
}
]
]
},
"get_upcoming_tasks": {
"ai_tool": [
[
{
"node": "MCP Server Trigger",
"type": "ai_tool",
"index": 0
}
]
]
},
"create_upcoming_task": {
"ai_tool": [
[
{
"node": "MCP Server Trigger",
"type": "ai_tool",
"index": 0
}
]
]
}
}
}
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.
googleTasksOAuth2ApiopenAiApitelegramApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
How this works
Effortlessly manage your daily tasks by chatting with a Telegram bot that instantly creates and organises Google Tasks for you, saving hours of manual entry and keeping your to-do list current without leaving your messaging app. This workflow suits busy professionals or teams relying on Telegram for quick communication and Google Tasks for productivity, enabling seamless voice or text commands to add items like 'schedule team meeting' or 'review reports'. The pivotal step involves an AI agent interpreting your message via OpenAI, then using the Google Tasks tool to generate and assign tasks for the day, ensuring intelligent prioritisation and reminders.
Use this workflow when you need real-time task capture during conversations, such as in remote work setups or personal planning, but avoid it for complex project management requiring custom fields beyond basic tasks. It's not ideal if your team doesn't use Telegram or prefers desktop apps over mobile bots. Common variations include adding calendar integrations for time-based tasks or extending to email notifications for task updates.
About this workflow
Telegram Googletaskstool. Uses telegramTrigger, mcpTrigger, agent, mcpClientTool. Event-driven trigger; 21 nodes.
Source: https://github.com/Zie619/n8n-workflows — 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.
BoomerBobBot.TP. Uses agent, telegramTrigger, telegram, memoryBufferWindow. Event-driven trigger; 95 nodes.
Personal Assistant. Uses memoryBufferWindow, agent, agentTool, httpRequestTool. Event-driven trigger; 77 nodes.
Digital marketers, content creators, social media managers, and businesses who want to use AI marketing automation for YouTube Shorts without spending hours on production. This AI workflow helps anyon
Transform your salon/service business with this streamlined Telegram automation system featuring Claude integration, zero-setup database management, and intelligent conversation handling. Claude MCP I
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.