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

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
AI & RAG

✨ Intro This workflow shows how to go beyond a “plain” AI chatbot by:

Telegram, OpenAI, OpenAI Chat +13