AutomationFlowsAI & RAG › Telegram AI Task Manager with Google Tasks

Telegram AI Task Manager with Google Tasks

Original n8n title: Ai-powered Telegram Task Manager with Mcp Server

ByFrancis Njenga @gatura on n8n.io

The ToDo App workflow is designed to streamline task management through Telegram and Google Tasks integration. This workflow allows users to create, update, and manage tasks via Telegram messages, leveraging AI capabilities to enhance user interaction. The expected outcome is a…

Event trigger★★★★☆ complexityAI-powered21 nodesTelegram TriggerMcp TriggerAgentMcp Client ToolOpenAI ChatMemory Buffer WindowGoogle Tasks ToolTelegram
AI & RAG Trigger: Event Nodes: 21 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #3656 — we link there as the canonical source.

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 →

Download .json
{
  "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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

The ToDo App workflow is designed to streamline task management through Telegram and Google Tasks integration. This workflow allows users to create, update, and manage tasks via Telegram messages, leveraging AI capabilities to enhance user interaction. The expected outcome is a…

Source: https://n8n.io/workflows/3656/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

BoomerBobBot.TP. Uses agent, telegramTrigger, telegram, memoryBufferWindow. Event-driven trigger; 95 nodes.

Agent, Telegram Trigger, Telegram +10
AI & RAG

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

OpenAI, HTTP Request, OpenAI Chat +7
AI & RAG

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

Redis, Agent Tool, Google Calendar +10
AI & RAG

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.

Telegram Trigger, Telegram, OpenAI +10
AI & RAG

Unlock the Power of Language with Personalized AI Learning! MOTION TUTOR is a revolutionary AI-powered language learning platform that adapts to your progress and guides you from basic vocabulary to c

Agent, Airtable Tool, OpenAI Chat +6