This workflow corresponds to n8n.io template #7787 — we link there as the canonical source.
This workflow follows the Agent → Execute Workflow Trigger 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": "41tGOnU3hN9zjJln",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "ca7ai Google_Cal_sub_agent",
"tags": [],
"nodes": [
{
"id": "16324d82-a9bc-4073-9b4c-fd77a090dca1",
"name": "When Executed by Another Workflow",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
-96,
0
],
"parameters": {
"workflowInputs": {
"values": [
{
"name": "text"
},
{
"name": "sessionid"
}
]
}
},
"typeVersion": 1.1
},
{
"id": "874f3806-88e5-4402-a4fd-e4a3898c82b5",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
112,
0
],
"parameters": {
"text": "={{ $json.text }}",
"options": {
"systemMessage": "=You are a calendar assistant who can easily manage events in a google calendar. \nYou must provide the start and end date.\n\nIf you need to create events in the calendar use the \"Get\" tool. To delete events in the calendar use \"Delete\", and to create events use the \"Create\" tool.\n\nthe current date and time is {{ $now}}\nAdditionally, you must provide the summary and other details for the calendar which your tool might need. "
},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "415dd782-7737-4167-b22d-b8f45adc0d2b",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-32,
208
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "cf9318a7-a3df-448e-8bed-4d2eb79da709",
"name": "Simple Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
128,
208
],
"parameters": {
"sessionKey": "={{ $json.sessionid }}",
"sessionIdType": "customKey"
},
"typeVersion": 1.3
},
{
"id": "c64f7db8-55e6-42da-afe9-9a4033620283",
"name": "Create",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
416,
160
],
"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": "test@gmail.com",
"cachedResultName": "test@gmail.com"
},
"additionalFields": {
"summary": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Summary', ``, 'string') }}"
},
"useDefaultReminders": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Use_Default_Reminders', ``, 'boolean') }}"
},
"credentials": {
"googleCalendarOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "df7a77d7-ed5e-4b22-ac32-06a634b5be04",
"name": "Get",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
272,
208
],
"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": "test@gmail.com",
"cachedResultName": "test@gmail.com"
},
"operation": "getAll",
"returnAll": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Return_All', ``, 'boolean') }}"
},
"credentials": {
"googleCalendarOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "8c875363-d79a-47be-89c5-1ff43222c0ff",
"name": "Delete",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
368,
304
],
"parameters": {
"eventId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', ``, 'string') }}",
"options": {},
"calendar": {
"__rl": true,
"mode": "list",
"value": "test@gmail.com",
"cachedResultName": "test@gmail.com"
},
"operation": "delete"
},
"credentials": {
"googleCalendarOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "1ac31106-5ff0-422f-a921-7a7c653c61a6",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-592,
-16
],
"parameters": {
"color": 4,
"width": 304,
"height": 144,
"content": "**CHILD \u2014 CALENDAR TOOLS**\n\n**Get**: list events by date range\n**Create**: start + end + summary (required)\n**Delete**: requires eventId\nMemory keyed by `sessionid`"
},
"typeVersion": 1
},
{
"id": "91cd60cf-8893-4b1b-935d-accaca98d43a",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-592,
144
],
"parameters": {
"width": 304,
"content": "**SUB-AGENT LOGIC**\n\n**Inputs**: text, sessionid\nAgent chooses the right tool\nReturn concise confirmation back to Parent"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "8dbfb5d7-a1e1-4f2e-b50d-b9a2b2739f17",
"connections": {
"Get": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Create": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Delete": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Simple Memory": {
"ai_memory": [
[
{
"node": "AI Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"When Executed by Another Workflow": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"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.
googleCalendarOAuth2ApiopenAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
What this workflow does
Source: https://n8n.io/workflows/7787/ — 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.
Learn how to build an MCP Server and Client in n8n with official nodes.
Build your first AI MCP Server. Uses agent, googleCalendarTool, mcpTrigger, executeWorkflowTrigger. Event-driven trigger; 32 nodes.
Build your first AI MCP Server. Uses agent, googleCalendarTool, mcpTrigger, executeWorkflowTrigger. Event-driven trigger; 32 nodes.
⚡📽️ Ultimate AI-Powered Chatbot for YouTube Summarization & Analysis. Uses executeWorkflowTrigger, chatTrigger, stickyNote, memoryBufferWindow. Event-driven trigger; 29 nodes.
This n8n workflow template allows you to interact with an AI agent that extracts details and the transcript of a YouTube video using a provided video ID. Once the details and transcript are retrieved,