{ "name": "đŸ¤–Calendar Agent", "nodes": [ { "parameters": { "model": "gpt-4o", "options": {} }, "id": "a34e2d84-ae30-4bfe-afa9-23dbd5dd3845", "name": "OpenAI Chat Model", "type": "n8n-nodes-base.noOp", "typeVersion": 1, "position": [ 740, 540 ], "credentials": { "openAiApi": { "id": "BP9v81AwJlpYGStD", "name": "OpenAi account" } }, "notes": "This lmChatOpenAi node performs automated tasks as part of the workflow." }, { "parameters": { "assignments": { "assignments": [ { "id": "7ab380a2-a8d3-421c-ab4e-748ea8fb7904", "name": "response", "value": "Unable to perform task. Please try again.", "type": "string" } ] }, "options": {} }, "id": "ec5518af-86f7-4f41-9682-ddddc621f356", "name": "Try Again", "type": "n8n-nodes-base.set", "typeVersion": 3.4, "position": [ 1660, 380 ], "notes": "This set node performs automated tasks as part of the workflow." }, { "parameters": { "assignments": { "assignments": [ { "id": "39c2f302-03be-4464-a17a-d7cc481d6d44", "name": "=response", "value": "={{$json.output}}", "type": "string" } ] }, "options": {} }, "id": "fc889778-08ca-431e-8109-7133110aa0db", "name": "Success", "type": "n8n-nodes-base.set", "typeVersion": 3.4, "position": [ 1660, 180 ], "notes": "This set node performs automated tasks as part of the workflow." }, { "parameters": { "promptType": "define", "text": "={{ $json.query }}", "options": { "systemMessage": "=# Overview\nYou are a calendar assistant. Your responsibilities include creating, getting, and deleting events in the user's calendar.\n\n**Calendar Management Tools** \n - Use \"Create Event with Attendee\" when an event includes a participant. \n - Use \"Create Event\" for solo events. \n - Use \"Get Events\" to fetch calendar schedules when requested.\n - Use \"Delete Event\" to delete an event. You must use \"Get Events\" first to get the ID of the event to delete.\n - Use \"Update Event\" to update an event. You must use \"Get Events\" first to get the ID of the event to update.\n\n## Final Notes\nHere is the current date/time: {{ $now }}\nIf a duration for an event isn't specified, assume it will be one hour." } }, "id": "47814b5d-390b-4d4c-b6ec-578075200739", "name": "Calendar Agent", "type": "n8n-nodes-base.noOp", "typeVersion": 1.6, "position": [ 980, 280 ], "onError": "continueErrorOutput", "notes": "This agent node performs automated tasks as part of the workflow." }, { "parameters": { "calendar": { "__rl": true, "value": "nateherk88@gmail.com", "mode": "list", "cachedResultName": "nateherk88@gmail.com" }, "start": "={{ $fromAI(\"eventStart\") }}", "end": "={{ $fromAI(\"eventEnd\") }}", "additionalFields": { "attendees": [ "={{ $fromAI(\"eventAttendeeEmail\") }}" ], "summary": "={{ $fromAI(\"eventTitle\") }}" } }, "type": "n8n-nodes-base.googleCalendarTool", "typeVersion": 1.3, "position": [ 1440, 540 ], "id": "2d26c039-4756-4a86-b09c-1160b7cd6022", "name": "Create Event with Attendee", "credentials": { "googleCalendarOAuth2Api": { "id": "HYMNtkm0oglf42QP", "name": "Google Calendar account" } }, "notes": "This googleCalendarTool node performs automated tasks as part of the workflow." }, { "parameters": { "calendar": { "__rl": true, "value": "nateherk88@gmail.com", "mode": "list", "cachedResultName": "nateherk88@gmail.com" }, "start": "={{ $fromAI(\"eventStart\") }}", "end": "={{ $fromAI(\"eventEnd\") }}", "additionalFields": { "attendees": [], "summary": "={{ $fromAI(\"eventTitle\") }}" } }, "type": "n8n-nodes-base.googleCalendarTool", "typeVersion": 1.3, "position": [ 1300, 640 ], "id": "8bd1e7c7-98a0-4cc1-96e3-cfd2107475a9", "name": "Create Event", "credentials": { "googleCalendarOAuth2Api": { "id": "HYMNtkm0oglf42QP", "name": "Google Calendar account" } }, "notes": "This googleCalendarTool node performs automated tasks as part of the workflow." }, { "parameters": { "operation": "getAll", "calendar": { "__rl": true, "value": "nateherk88@gmail.com", "mode": "list", "cachedResultName": "nateherk88@gmail.com" }, "timeMin": "={{ $fromAI(\"dayBefore\",\"the day before the date the user requested\") }}", "timeMax": "={{ $fromAI(\"dayAfter\",\"the day after the date the user requested\") }}", "options": {} }, "type": "n8n-nodes-base.googleCalendarTool", "typeVersion": 1.3, "position": [ 1160, 680 ], "id": "b148f124-e2b4-4e47-8053-45d03d77ff6e", "name": "Get Events", "credentials": { "googleCalendarOAuth2Api": { "id": "HYMNtkm0oglf42QP", "name": "Google Calendar account" } }, "notes": "This googleCalendarTool node performs automated tasks as part of the workflow." }, { "parameters": { "operation": "delete", "calendar": { "__rl": true, "value": "nateherk88@gmail.com", "mode": "list", "cachedResultName": "nateherk88@gmail.com" }, "eventId": "={{ $fromAI(\"eventID\") }}", "options": {} }, "type": "n8n-nodes-base.googleCalendarTool", "typeVersion": 1.3, "position": [ 1020, 660 ], "id": "923acc0e-85b5-44e6-a063-f1642f5108b3", "name": "Delete Event", "credentials": { "googleCalendarOAuth2Api": { "id": "HYMNtkm0oglf42QP", "name": "Google Calendar account" } }, "notes": "This googleCalendarTool node performs automated tasks as part of the workflow." }, { "parameters": { "operation": "update", "calendar": { "__rl": true, "value": "nateherk88@gmail.com", "mode": "list", "cachedResultName": "nateherk88@gmail.com" }, "eventId": "={{ $fromAI(\"eventID\") }}", "updateFields": { "end": "={{ $fromAI(\"endTime\") }}", "start": "={{ $fromAI(\"startTime\") }}" } }, "type": "n8n-nodes-base.googleCalendarTool", "typeVersion": 1.3, "position": [ 880, 620 ], "id": "41941ae4-9cc7-4c96-8e4f-957804fc8be2", "name": "Update Event", "credentials": { "googleCalendarOAuth2Api": { "id": "HYMNtkm0oglf42QP", "name": "Google Calendar account" } }, "notes": "This googleCalendarTool node performs automated tasks as part of the workflow." }, { "parameters": { "inputSource": "passthrough" }, "type": "n8n-nodes-base.executeWorkflowTrigger", "typeVersion": 1.1, "position": [ 740, 280 ], "id": "8abc645d-345e-4113-966d-0d3373f4141b", "name": "When Executed by Another Workflow", "notes": "This executeWorkflowTrigger node performs automated tasks as part of the workflow." }, { "id": "error-cd00c98a", "name": "Error Handler", "type": "n8n-nodes-base.stopAndError", "typeVersion": 1, "position": [ 1000, 400 ], "parameters": { "message": "Workflow execution error", "options": {} } } ], "pinData": {}, "connections": { "a34e2d84-ae30-4bfe-afa9-23dbd5dd3845": { "main": [ [ { "node": "error-handler-a34e2d84-ae30-4bfe-afa9-23dbd5dd3845-c1a8f01a", "type": "main", "index": 0 } ] ] }, "2d26c039-4756-4a86-b09c-1160b7cd6022": { "main": [ [ { "node": "error-handler-2d26c039-4756-4a86-b09c-1160b7cd6022-757bd424", "type": "main", "index": 0 } ] ] }, "8bd1e7c7-98a0-4cc1-96e3-cfd2107475a9": { "main": [ [ { "node": "error-handler-8bd1e7c7-98a0-4cc1-96e3-cfd2107475a9-c2b3bf1c", "type": "main", "index": 0 } ] ] }, "b148f124-e2b4-4e47-8053-45d03d77ff6e": { "main": [ [ { "node": "error-handler-b148f124-e2b4-4e47-8053-45d03d77ff6e-ea1fc865", "type": "main", "index": 0 } ] ] }, "923acc0e-85b5-44e6-a063-f1642f5108b3": { "main": [ [ { "node": "error-handler-923acc0e-85b5-44e6-a063-f1642f5108b3-5d9ba082", "type": "main", "index": 0 } ] ] }, "41941ae4-9cc7-4c96-8e4f-957804fc8be2": { "main": [ [ { "node": "error-handler-41941ae4-9cc7-4c96-8e4f-957804fc8be2-681c6911", "type": "main", "index": 0 } ] ] } }, "active": false, "settings": { "executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000 }, "versionId": "64d1923c-64fc-4d17-b776-cf0528ac9366", "meta": { "instanceId": "workflow-c10ec8da", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:45.307159", "updatedAt": "2025-09-29T07:07:45.307187", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "id": "0NtlJ41IozGhtFa6", "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "description": "Automated workflow: đŸ¤–Calendar Agent. This workflow processes data and performs automated tasks.", "notes": "Excellent quality workflow: đŸ¤–Calendar Agent. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }