AutomationFlowsAI & RAG › Manage Schedule & Contacts with Telegram Bot Using Gpt-4o-mini & Google Services

Manage Schedule & Contacts with Telegram Bot Using Gpt-4o-mini & Google Services

ByRonnie Craig @ronnie-craig-2025 on n8n.io

Transform your Telegram into a powerful AI-powered personal assistant that manages your calendar, sends daily schedules, searches the web, and accesses your contacts - all through simple text messages.

Event trigger★★★☆☆ complexityAI-powered11 nodesTelegram TriggerAgentTelegramTool WikipediaTool Serp ApiOpenAI ChatMemory Buffer WindowGoogle Calendar Tool
AI & RAG Trigger: Event Nodes: 11 Complexity: ★★★☆☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #7853 — we link there as the canonical source.

This workflow follows the Agent → Gmail Tool 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
{
  "meta": {
    "templateId": "AI_Personal_Assistant_Telegram_Bot"
  },
  "name": "AI Personal Assistant Telegram Bot",
  "tags": [
    "AI",
    "Personal Assistant",
    "Telegram",
    "Calendar",
    "Email",
    "Productivity"
  ],
  "nodes": [
    {
      "id": "e4981de7-db9b-455a-9c42-f3b435955c92",
      "name": "Telegram Trigger",
      "type": "n8n-nodes-base.telegramTrigger",
      "notes": "Receives messages from your Telegram bot. Replace credentials with your bot token from @BotFather",
      "position": [
        -16,
        -16
      ],
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "fa1352d4-0a3b-4871-9c5c-380d2f1fd1d5",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "notes": "Main AI agent using OpenAI. Customize the system message for your needs.",
      "position": [
        224,
        0
      ],
      "parameters": {
        "text": "={{ $json.message.text }}",
        "options": {
          "systemMessage": "You are a helpful personal assistant. When sending emails, always find the recipient's email using the 'Get Contacts' tool first.\n\nCurrent date and time: {{$now}}\n\nDaily Schedule Instructions:\n- Check Google Calendar for today's events (12:00 AM to 11:59 PM)\n- Format events with: title, start/end time, location, description\n- If no events: 'You have a free day! No events on your calendar for today.'\n- Email the summary with subject: 'Your Schedule for Today - [Date]'\n- Sign emails with 'Best Regards,'\n\nReplace 'USER_NAME' with your preferred name in the constraints below:\n\n<constraint>\nAddress the user as USER_NAME in all interactions.\n</constraint>"
        },
        "promptType": "define"
      },
      "typeVersion": 1.7
    },
    {
      "id": "152c29ec-c6be-4fd8-a01a-578ef0aa8d10",
      "name": "Telegram Response",
      "type": "n8n-nodes-base.telegram",
      "notes": "Sends AI agent responses back to Telegram chat",
      "position": [
        592,
        0
      ],
      "parameters": {
        "text": "={{ $json.output }}",
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "9e6fa398-829a-47fd-95c2-81284e507c51",
      "name": "Wikipedia Tool",
      "type": "@n8n/n8n-nodes-langchain.toolWikipedia",
      "notes": "Provides Wikipedia search capabilities to the AI agent",
      "position": [
        -208,
        288
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "66b8fea2-0ec0-423a-ab61-dd8fd8a7e034",
      "name": "Web Search (SerpAPI)",
      "type": "@n8n/n8n-nodes-langchain.toolSerpApi",
      "notes": "Enables web search functionality. Requires SerpAPI account and API key.",
      "position": [
        224,
        288
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "b5ee31ee-8c99-4362-aa1f-3bc2bf1fc9a4",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "notes": "AI language model. Change to gpt-4 or other models as needed. Requires OpenAI API key.",
      "position": [
        -304,
        288
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "gpt-4o-mini"
        },
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "f05203af-2ed7-46a7-8fd8-d3210e4e5a3c",
      "name": "Conversation Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "notes": "Maintains conversation context. Adjust contextWindowLength as needed (default: 10 messages)",
      "position": [
        -80,
        288
      ],
      "parameters": {
        "sessionKey": "={{ $('Telegram Trigger').item.json.message.from.id }}",
        "sessionIdType": "customKey",
        "contextWindowLength": 10
      },
      "typeVersion": 1.3
    },
    {
      "id": "7ac0be2e-ad24-4990-bf5f-6a70d7f53698",
      "name": "Google Calendar",
      "type": "n8n-nodes-base.googleCalendarTool",
      "notes": "Manages calendar events. Replace YOUR_EMAIL@gmail.com with your calendar ID. Requires Google Calendar OAuth2 setup.",
      "position": [
        128,
        288
      ],
      "parameters": {
        "end": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('End', ``, 'string') }}",
        "start": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Start', ``, 'string') }}",
        "calendar": {
          "__rl": true,
          "mode": "id",
          "value": "user@example.com"
        },
        "additionalFields": {
          "summary": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Summary', ``, 'string') }}",
          "description": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Description', ``, 'string') }}"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "0e349248-4509-41ab-a545-e2c9f0149ed6",
      "name": "Gmail Tool",
      "type": "n8n-nodes-base.gmailTool",
      "notes": "Sends emails via Gmail. Requires Gmail OAuth2 setup with send permissions.",
      "position": [
        32,
        288
      ],
      "parameters": {
        "sendTo": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('To', ``, 'string') }}",
        "message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
        "options": {
          "senderName": "{{ $('Telegram Trigger').item.json.message.from.first_name }}",
          "appendAttribution": false
        },
        "subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}",
        "emailType": "text"
      },
      "typeVersion": 2.1
    },
    {
      "id": "14516c92-5f0c-4b5f-b055-b113edb3a36a",
      "name": "Get Contacts",
      "type": "n8n-nodes-base.googleSheetsTool",
      "notes": "Accesses contact database in Google Sheets. Replace YOUR_GOOGLE_SHEET_ID with your sheet ID. Requires Google Sheets OAuth2 setup.",
      "position": [
        544,
        240
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_GOOGLE_SHEET_ID",
          "cachedResultName": "Contacts Sheet"
        },
        "descriptionType": "manual",
        "toolDescription": "Use this to get contact information. Read, update and write data to Google Sheets"
      },
      "typeVersion": 4.5
    },
    {
      "id": "a4d12e77-9beb-4411-897c-77c33784022e",
      "name": "Get Calendar Events",
      "type": "n8n-nodes-base.googleCalendarTool",
      "notes": "Retrieves calendar events for daily schedule emails. Replace YOUR_EMAIL@gmail.com with your calendar ID.",
      "position": [
        672,
        224
      ],
      "parameters": {
        "options": {},
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "user@example.com",
          "cachedResultName": "user@example.com"
        },
        "operation": "getAll"
      },
      "typeVersion": 1.3
    }
  ],
  "active": false,
  "settings": {
    "timezone": "America/Chicago",
    "callerPolicy": "workflowsFromSameOwner",
    "executionOrder": "v1"
  },
  "connections": {
    "AI Agent": {
      "main": [
        [
          {
            "node": "Telegram Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gmail Tool": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get Contacts": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Wikipedia Tool": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Google Calendar": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Conversation Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Get Calendar Events": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Web Search (SerpAPI)": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Transform your Telegram into a powerful AI-powered personal assistant that manages your calendar, sends daily schedules, searches the web, and accesses your contacts - all through simple text messages.

Source: https://n8n.io/workflows/7853/ — 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

This workflow runs a Telegram-based restaurant concierge that answers menu questions, takes text or voice orders with an OpenAI agent, and saves confirmed orders to Google Sheets, then follows up with

Telegram Trigger, Google Sheets, Telegram +5
AI & RAG

Jarvis. Uses telegramTrigger, lmChatOpenAi, openAi, telegram. Event-driven trigger; 28 nodes.

Telegram Trigger, OpenAI Chat, OpenAI +13
AI & RAG

Send a text or voice message to a Telegram bot and it books, reschedules, or cancels Google Calendar events for you. It resolves attendee names to email addresses, attaches a Meet link, and drafts a G

Google Calendar Tool, Telegram Trigger, G Suite Admin Tool +7
AI & RAG

This workflow automates end-to-end curriculum planning using a multi-agent AI architecture in n8n. Designed for educators, instructional designers, and academic institutions, it eliminates the manual

Agent, OpenAI Chat, Memory Buffer Window +8
AI & RAG

Meet Troy, your intelligent personal assistant that seamlessly manages your Google Calendar and Tasks through Telegram. This workflow combines AI-powered natural language processing with MCP (Model Co

Mcp Trigger, Google Calendar Tool, Google Tasks Tool +7