Describe the problem/error/question
Hi everyone,
I’m experimenting with building a multi-agent setup in n8n. My base workflow works fine:
• Telegram Trigger → Main AI Agent → Reply to Telegram
This part runs perfectly – I can message the main agent through Telegram and get replies back.
The problem appears when I try to add a second AI Agent as a Tool for the main agent (for example, a “Calendar Agent” with Google Calendar nodes).
• Even if the secondary agent (AI Agent Tool) is not connected to the main agent, just having it in the workflow causes the execution to hang.
• When I run the workflow (Execute Workflow) and send a Telegram message, the execution never starts – it just spins on “Executing workflow” forever.
• If I remove the secondary AI Agent node, the workflow immediately works again.
Things I’ve already tried:
• Creating a brand-new secondary AI Agent with only minimal description/prompt
• Adding Google Calendar tools and also leaving the agent completely empty
• Using different LLM providers (OpenRouter with DeepSeek, etc.)
• Verifying Google Calendar credentials (tested directly with success)
So it doesn’t seem to be a credentials issue or a problem with the main AI Agent. It looks more like a bug in the AI Agent Tool itself.
Questions:
• Has anyone else experienced this behavior with AI Agent Tools?
• Is this a known bug or limitation in the current version of n8n?
• Are there specific configuration requirements for Agent Tools to avoid this?
• Is the best workaround currently to use “Call Another Workflow Tool” instead of embedding another AI Agent directly?
It feels very much like the AI Agent Tool node itself is causing the workflow to freeze, so I’d love to know if this is already on the team’s radar, or if anyone found a solution.
Thanks a lot ![]()
Please share your workflow
{
"nodes": [
{
"parameters": {
"updates": [
"message"
],
"additionalFields": {
"download": false,
"userIds": ""
}
},
"id": "81adec11-612d-4949-9745-d3399347ecf4",
"name": "Telegram Message Trigger",
"type": "n8n-nodes-base.telegramTrigger",
"typeVersion": 1.2,
"position": [
-352,
-480
],
"webhookId": "55acc711-c248-4ac9-b6cd-e295c2d33f4b",
"alwaysOutputData": false,
"notesInFlow": false,
"credentials": {
"telegramApi": {
"id": "1tI5dI3xSjZSkNuj",
"name": "ralf personal"
}
}
},
{
"parameters": {
"sessionIdType": "customKey",
"sessionKey": "={{ $('Telegram Message Trigger').item.json.message.chat }}{{ $('Telegram Message Trigger').item.json.message.date }}{{ $('Telegram Message Trigger').item.json.message.text }}",
"contextWindowLength": 10
},
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"typeVersion": 1.3,
"position": [
448,
-240
],
"id": "a020b201-45b0-4407-a580-2f20b04745c1",
"name": "Simple Memory"
},
{
"parameters": {
"chatId": "={{ $('Telegram Message Trigger').first().json.message.chat.id }}",
"text": "={{ $json.output }}",
"additionalFields": {
"appendAttribution": false
}
},
"type": "n8n-nodes-base.telegram",
"typeVersion": 1.2,
"position": [
992,
-480
],
"id": "e81ceeb0-0c18-491c-add8-30efe40a6844",
"name": "Reply in Telegram1",
"webhookId": "b96b7a41-9806-455f-b72e-00aa638eda71",
"notesInFlow": false,
"credentials": {
"telegramApi": {
"id": "1tI5dI3xSjZSkNuj",
"name": "ralf personal"
}
}
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"id": "2b538077-d3d3-4713-b973-68748313ff97",
"leftValue": "={{ $json.message.voice }}",
"rightValue": "",
"operator": {
"type": "object",
"operation": "notEmpty",
"singleValue": true
}
}
],
"combinator": "and"
},
"options": {}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2.2,
"position": [
-128,
-480
],
"id": "3b142f54-05c0-4d48-92a0-d05c3743c953",
"name": "Check if Audio file1"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "eb912219-2436-4f04-8ffc-c1c20eb07344",
"name": "text",
"value": "={{ $json.message.text }}",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
96,
-480
],
"id": "b66b2cde-125b-402c-9c5f-8951852c50f2",
"name": "Set field1"
},
{
"parameters": {
"promptType": "define",
"text": "={{ $json.text || $json.message.text }}",
"options": {
"systemMessage": "=Telegram Personal AI Assistant - Main Orchestrator\nYou are the main orchestrator of a personal AI assistant system that communicates with users through Telegram. Your primary role is to understand user requests and delegate tasks to specialized agents when needed.\nYour Role as Main Agent\n\nPrimary function: Understand user requests and route them to appropriate specialized agents\nDirect handling: General conversation, questions, and tasks that don't require specialized agents\nCoordination: Manage communication between user and specialized agents\n\nAvailable Specialized Agents\nCurrently available agents in your system:\n\nCalendar Agent: Manages calendar events, scheduling, appointments, reminders, and time-related queries\n\nNote: More agents will be added to this system in the future\nDecision Logic - When to Use Agents\nCalendar Agent - Use when user requests involve:\n\nCreating, editing, or deleting calendar events\nChecking schedule/availability\nSetting reminders or appointments\nTime management and scheduling conflicts\nQuestions about upcoming events\n\nHandle Directly - For requests involving:\n\nGeneral conversation and questions\nInformation requests not requiring specialized tools\nCasual chat and getting to know the user\n\nAgent Communication Protocol\nWhen delegating to an agent:\n\nClearly identify which agent should handle the request\nProvide the agent with relevant context from the conversation\nInclude user's personal information if needed for the task\nRelay the agent's response back to user in a natural way\n\nYour Core Capabilities\nYou can help users with:\n\nGeneral conversation - Answer questions and provide information\nTask coordination - Route requests to specialized agents\nContext management - Maintain conversation flow across different agents\n\nCommunication Style\nResponse Format\n\nKeep responses conversational and friendly\nUse appropriate length for Telegram (not too long)\nBe helpful and informative\nMatch the user's tone and communication style\n\nVoice Message Handling\n\nWhen users send voice messages, respond naturally as if they spoke to you directly\nDon't mention that their message was transcribed\nRespond in a conversational way that flows naturally\n\nContext Awareness\n\nRemember the current date and time: Today is {{ $now.format('cccc') }} the {{ $now.format('yyyy-MM-dd HH:mm') }}\nUse this information to provide relevant, timely responses\nReference \"today\", \"tomorrow\", \"this week\" appropriately\n\nPersonal Information Context\nMy name is: Alex Courtland Walters (používej first name Alex)\nMy email: [email protected]\nDate of birth: 10.8. 2006\nImportant Guidelines\n\nMaintain conversation context using the memory system\nAsk clarifying questions when requests are ambiguous\nRespect privacy - only access information when relevant to the request\nWhen using specialized agents, ensure smooth handoff and natural conversation flow\nIf you can't help with something directly and no appropriate agent exists, suggest alternatives\n\nRemember: You're a personal assistant orchestrator, so be personable, helpful, and focused on making Alex's day easier and more organized by efficiently coordinating with specialized agents when needed.\nToday is {{ $now.format('cccc') }} the {{ $now.format('yyyy-MM-dd HH:mm') }}."
}
},
"id": "479d15a3-0f5d-4af5-8a18-2ebcd27db9fb",
"name": "Assistant Agent1",
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 2.2,
"position": [
400,
-480
]
},
{
"parameters": {},
"type": "@n8n/n8n-nodes-langchain.toolThink",
"typeVersion": 1.1,
"position": [
224,
-240
],
"id": "1bb38b91-2438-4a9c-a89b-9f53bdc7298d",
"name": "Think1"
},
{
"parameters": {
"model": "deepseek/deepseek-chat-v3.1:free",
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"typeVersion": 1,
"position": [
-16,
-256
],
"id": "0195049b-80cc-4f71-9410-714703a7a82e",
"name": "OpenRouter Chat Model2",
"credentials": {
"openRouterApi": {
"id": "8JlCh1eh7FetjmhR",
"name": "OpenRouter account 2"
}
}
},
{
"parameters": {
"toolDescription": "Calendar Agent - Personal Assistant\nYou are a specialized Calendar Agent within Alex's personal AI assistant system. Your sole focus is managing calendar events, scheduling, and time-related tasks.",
"text": "=Your Specialized Role\n\nPrimary function: Manage all calendar-related operations\nHandle: Event creation, editing, deletion, scheduling, availability checks, reminders\nCollaborate: Work with the main agent to provide seamless calendar management\n\nCore Capabilities\n\nCreate, modify, and delete calendar events\nCheck schedule availability and conflicts\nSet up reminders and recurring events\nProvide schedule overviews (daily, weekly, monthly)\nManage appointment scheduling\nHandle time zone considerations\n\nCommunication Style\n\nBe concise and action-oriented\nConfirm important details (date, time, location)\nAsk for clarification when event details are unclear\nProvide clear confirmations when tasks are completed\n\nContext Information\n\nUser name: Alex Courtland Walters\nUser email: [email protected]\nCurrent date/time: {{ $now.format('yyyy-MM-dd HH:mm') }}\nUse Czech time zone context when relevant\n\nGuidelines\n\nAlways confirm event details before creating/modifying\nBe proactive about potential scheduling conflicts\nSuggest optimal times when asked for availability\nKeep responses focused on calendar functionality\nReturn control to main agent when task is complete\n\nRemember: You are a specialist - focus only on calendar management and do it exceptionally well.",
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.agentTool",
"typeVersion": 2.2,
"position": [
560,
-272
],
"id": "53d47809-6002-49aa-801c-ca6f724e47db",
"name": "calendar agent"
},
{
"parameters": {
"model": "deepseek/deepseek-chat-v3.1:free",
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"typeVersion": 1,
"position": [
512,
-48
],
"id": "5007056c-dbdb-4ebf-8e27-0f51cd343e22",
"name": "OpenRouter Chat Model",
"credentials": {
"openRouterApi": {
"id": "8JlCh1eh7FetjmhR",
"name": "OpenRouter account 2"
}
}
},
{
"parameters": {
"calendar": {
"__rl": true,
"value": "[email protected]",
"mode": "list",
"cachedResultName": "[email protected]"
},
"additionalFields": {}
},
"type": "n8n-nodes-base.googleCalendarTool",
"typeVersion": 1.3,
"position": [
720,
-64
],
"id": "3d3ca4ed-d299-48b5-9aec-a47fbe5011fa",
"name": "Create an event in Google Calendar",
"credentials": {
"googleCalendarOAuth2Api": {
"id": "RraYv1Sh4LNRbx0q",
"name": "alexcw asistant"
}
}
}
],
"connections": {
"Telegram Message Trigger": {
"main": [
[
{
"node": "Check if Audio file1",
"type": "main",
"index": 0
}
]
]
},
"Simple Memory": {
"ai_memory": [
[
{
"node": "Assistant Agent1",
"type": "ai_memory",
"index": 0
}
]
]
},
"Check if Audio file1": {
"main": [
[],
[
{
"node": "Set field1",
"type": "main",
"index": 0
}
]
]
},
"Set field1": {
"main": [
[
{
"node": "Assistant Agent1",
"type": "main",
"index": 0
}
]
]
},
"Assistant Agent1": {
"main": [
[
{
"node": "Reply in Telegram1",
"type": "main",
"index": 0
}
]
]
},
"Think1": {
"ai_tool": [
[
{
"node": "Assistant Agent1",
"type": "ai_tool",
"index": 0
}
]
]
},
"OpenRouter Chat Model2": {
"ai_languageModel": [
[
{
"node": "Assistant Agent1",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"calendar agent": {
"ai_tool": [
[
{
"node": "Assistant Agent1",
"type": "ai_tool",
"index": 0
}
]
]
},
"OpenRouter Chat Model": {
"ai_languageModel": [
[
{
"node": "calendar agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Create an event in Google Calendar": {
"ai_tool": [
[
{
"node": "calendar agent",
"type": "ai_tool",
"index": 0
}
]
]
}
},
"pinData": {},
"meta": {
"templateId": "voice_assistant_agent_with_telegram",
"templateCredsSetupCompleted": true,
"instanceId": "c8f4b6b254d6bb2f3dc1c156b6cfa9fb490f35f90a30d5d6bbbaafd0eb42713e"
}
}Information on your n8n setup
- n8n version: newest
- Database (default: SQLite):
- n8n EXECUTIONS_PROCESS setting (default: own, main):
- Running n8n via (Docker, npm, n8n cloud, desktop app): self hosted by railway
- Operating system:


