AutomationFlowsAI & RAG › AI Chat Agent with Google Calendar

AI Chat Agent with Google Calendar

Original n8n title: Building First AI Agent

1_3_Building_First_AI_Agent. Uses googleCalendarTool, chatTrigger, agent, lmChatOpenAi. Chat trigger; 9 nodes.

Chat trigger trigger★★★☆☆ complexityAI-powered9 nodesGoogle Calendar ToolChat TriggerAgentOpenAI ChatMemory Buffer Window
AI & RAG Trigger: Chat trigger Nodes: 9 Complexity: ★★★☆☆ AI nodes: yes Added:

This workflow follows the Agent → Chat 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 →

Download .json
{
  "name": "1_3_Building_First_AI_Agent",
  "nodes": [
    {
      "parameters": {
        "operation": "getAll",
        "calendar": {
          "__rl": true,
          "value": "datapopcorn@gmail.com",
          "mode": "list",
          "cachedResultName": "datapopcorn@gmail.com"
        },
        "returnAll": true,
        "options": {
          "timeMin": "={{ $fromAI('after', 'The earliest datetime we want to look for events for') }}",
          "timeMax": "={{ $fromAI('before', 'The latest datetime we want to look for events for') }}",
          "singleEvents": true,
          "query": "={{ $fromAI('query', 'The search query to look for in the calendar. Leave empty if no search query is needed') }}"
        }
      },
      "id": "deeee90a-e7a1-40f6-bb6b-d1acd85f6eaf",
      "name": "Google Calendar",
      "type": "n8n-nodes-base.googleCalendarTool",
      "typeVersion": 1.2,
      "position": [
        860,
        220
      ]
    },
    {
      "parameters": {
        "public": true,
        "options": {
          "title": "\ub370\uc774\ud130\ud31d\ucf58 \uc0c1\ub2f4 \ucc44\ub110\uc785\ub2c8\ub2e4."
        }
      },
      "id": "d745d9c8-c452-4841-90eb-e2e1971451e8",
      "name": "When chat message received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "typeVersion": 1.1,
      "position": [
        360,
        20
      ]
    },
    {
      "parameters": {
        "options": {
          "systemMessage": "=You're a helpful assistant that helps the user answer questions about their calendar.\n\nToday is {{ $now.format('cccc') }} the {{ $now.format('yyyy-MM-dd HH:mm') }}."
        }
      },
      "id": "53109f61-f307-432f-acb8-1d1e56294c53",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        560,
        20
      ]
    },
    {
      "parameters": {
        "content": "![](https://raw.githubusercontent.com/2innnnn0/assets/refs/heads/master/image/datapopcorn_logo_50px.png)\n## \ud83d\udc4b n8n\uc5d0 \uc624\uc2e0 \uac83\uc744 \ud658\uc601\ud569\ub2c8\ub2e4!\n\uc774 \uc608\ub294 \uce98\ub9b0\ub354\uc640 \uc0c1\ud638 \uc791\uc6a9\ud558\ub294 AI \uc5d0\uc774\uc804\ud2b8\ub97c \uad6c\ucd95\ud558\ub294 \ubc29\ubc95\uc744 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. \n\uce98\ub9b0\ub354.\n\n### 1. \uacc4\uc815 \uc5f0\uacb0\ud558\uae30\n- OpenAI \ubaa8\ub378` \ub178\ub4dc\uc5d0\uc11c `\ubb34\ub8cc` 0\uac1c\uc758 OpenAI \ud638\ucd9c\uc744 \uc694\uccad\ud569\ub2c8\ub2e4. \n- \uad6c\uae00 \uce98\ub9b0\ub354` \ub178\ub4dc \uc790\uaca9 \uc99d\uba85 \uc139\uc158\uc5d0\uc11c \uad6c\uae00 \uacc4\uc815\uc744 \uc5f0\uacb0\ud569\ub2c8\ub2e4.\n\n### 2. \ud14c\uc2a4\ud2b8\ud560 \uc900\ube44\uac00 \ub418\uc168\ub098\uc694?\n\uc544\ub798 \ucc44\ud305\uc744 \ud074\ub9ad\ud558\uace0 \uc9c8\ubb38\uc744 \uc2dc\uc791\ud558\uc138\uc694! \uc608\ub97c \ub4e4\uc5b4 `\uc624\ub298 \uc5b4\ub5a4 \ud68c\uc758\uac00 \uc788\ub098\uc694?",
        "height": 469,
        "width": 319,
        "color": 6
      },
      "id": "79d655d4-a0f9-4f9f-b277-fa1d4783337f",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        0,
        -80
      ]
    },
    {
      "parameters": {
        "content": "\n\n\n\n\n\n\n\n\n\n\n\n\uad6c\uae00 \uce98\ub9b0\ub354**\uac00 \uc5c6\uc73c\uc2e0\uac00\uc694? Microsoft Outlook** \ub610\ub294 \ub2e4\ub978 \ub3c4\uad6c\ub85c \ubc14\uafb8\uba74 \ub429\ub2c8\ub2e4.",
        "height": 233,
        "width": 210,
        "color": 7
      },
      "id": "8e8f9e35-988c-46a7-939e-f2d6f5b52d41",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        820,
        220
      ]
    },
    {
      "parameters": {
        "options": {}
      },
      "id": "b912ebd6-c9c2-4ace-9bbc-12bdc9b8d872",
      "name": "OpenAI Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1,
      "position": [
        520,
        220
      ],
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {},
      "id": "b6bcdaed-69bc-4bb8-ae03-50de7bce6a7e",
      "name": "Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "typeVersion": 1.3,
      "position": [
        680,
        220
      ]
    },
    {
      "parameters": {
        "content": "### \ub354 \uc790\uc138\ud788 \uc54c\uace0 \uc2f6\uc73c\uc2e0\uac00\uc694?\nAI\uc5d0 \ub300\ud574 \uc790\uc138\ud788 \uc54c\uc544\ubcf4\uace0 n8n\uc5d0\uc11c AI\ub97c \uac00\uc7a5 \ud6a8\uacfc\uc801\uc73c\ub85c \uc801\uc6a9\ud558\ub294 \ubc29\ubc95\uc744 \uc54c\uace0 \uc2f6\uc73c\uc2e0\uac00\uc694? YouTube\uc758 [\uc0c8\ub85c\uc6b4 \ud29c\ud1a0\ub9ac\uc5bc \uc2dc\ub9ac\uc988](https://www.youtube.com/watch?v=yzvLfHb0nqE&lc)\ub97c \uc0b4\ud3b4\ubcf4\uc138\uc694.",
        "height": 100,
        "width": 317,
        "color": 6
      },
      "id": "0fd88611-391d-46d9-9e80-92f1201a8fa3",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        0,
        400
      ]
    },
    {
      "parameters": {
        "calendar": {
          "__rl": true,
          "value": "datapopcorn@gmail.com",
          "mode": "list",
          "cachedResultName": "datapopcorn@gmail.com"
        },
        "start": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Start', ``, 'string') }}",
        "end": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('End', ``, 'string') }}",
        "additionalFields": {
          "summary": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Summary', ``, 'string') }}"
        }
      },
      "id": "4f229367-5eb8-4254-82f0-9dffa9e98829",
      "name": "Google Calendar1",
      "type": "n8n-nodes-base.googleCalendarTool",
      "typeVersion": 1.2,
      "position": [
        1020,
        220
      ]
    }
  ],
  "connections": {
    "Google Calendar": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Google Calendar1": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "8da28da1-1466-4ec0-85e9-5f8dd05959c1",
  "id": "g2gQBlK3NzYBtCQt",
  "tags": [
    {
      "createdAt": "2025-04-24T07:21:45.484Z",
      "updatedAt": "2025-04-24T07:21:45.484Z",
      "id": "jqWurvS7xJkHjdlh",
      "name": "inflearn"
    }
  ]
}

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

1_3_Building_First_AI_Agent. Uses googleCalendarTool, chatTrigger, agent, lmChatOpenAi. Chat trigger; 9 nodes.

Source: https://github.com/2innnnn0/fastcampus-n8n-data-analysis-agent/blob/main/workflows/1_3_Building_First_AI_Agent.json — 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

Think Tool. Uses stickyNote, agent, googleCalendarTool, memoryBufferWindow. Chat trigger; 28 nodes.

Agent, Google Calendar Tool, Memory Buffer Window +8
AI & RAG

This workflow runs a chat-based OpenAI assistant in n8n that calls three MCP servers for Google Calendar management, Gmail search and draft replies, and utility tools for weather, currency conversion,

Chat Trigger, Agent, OpenAI Chat +7
AI & RAG

Overview Meet Maria, a sophisticated AI Booking Agent designed for Veterinary Clinics (but easily adaptable to any service business). This workflow transforms a simple chat interface into a full-scale

Chat Trigger, Google Calendar Tool, Memory Buffer Window +7
AI & RAG

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

Google Calendar Tool, Gmail Tool, Chat Trigger +6
AI & RAG

This workflow turns n8n into a smart, conversational personal assistant. Think of it as a digital manager for your daily work life. It can read your emails, write out message drafts, check when you ar

Chat Trigger, OpenAI Chat, Gmail Tool +4