Skip to main content

Multi-tool personal assistant with Telegram, Grok-4, Gmail, Calendar & Memory

Workflow preview

Workflow preview
100%
Multi-tool personal assistant with Telegram, Grok-4, Gmail, Calendar & Memory preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

Summary Chat with your AI agent in Telegram. It remembers important facts about you in Airtable, can transcribe your voice messages, search the web, read and manage Google Calendar, fetch Gmail, an...

Best for

  • AI Chatbot automation workflows
  • Multimodal AI automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

@n8n/n8n-nodes-langchain.memorybufferwindow, n8n-nodes-base.airtabletool, n8n-nodes-base.airtable, n8n-nodes-base.aggregate, n8n-nodes-base.merge, n8n-nodes-base.telegramtrigger, n8n-nodes-base.telegram, @n8n/n8n-nodes-langchain.toolserpapi

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Vlad Arbatov.

Original n8n.io source

1.1 Workflow description

Title
Multi-tool personal assistant with Telegram, Grok-4, Gmail, Calendar & Memory
Workflow name
Multi-tool personal assistant with Telegram, Grok-4, Gmail, Calendar & Memory

Summary

Chat with your AI agent in Telegram. It remembers important facts about you in Airtable, can transcribe your voice messages, search the web, read and manage Google Calendar, fetch Gmail, and query Notion. Responses are grounded in your recent memories and tool outputs, then sent back to Telegram.

What this workflow does

  • Listens to your Telegram messages (text or voice)
  • Maintains short-term chat memory per user and long-term memory in Airtable
  • Decides when to save new facts about you (auto “Save Memory” without telling you)
  • Uses tools on demand:
    • Web search via SerpAPI
    • Google Calendar: list/create/update/delete events
    • Gmail: list and read messages
    • Notion: fetch database info
  • Transcribes Telegram voice notes with OpenAI and feeds them to the agent
  • Combines live tool results + recent memories and replies in Telegram

Apps and credentials

  • Telegram Bot API: personal_bot
  • xAI Grok: Grok-4 model for chat
  • OpenAI: speech-to-text (transcribe audio)
  • Airtable: store long-term memories
  • Google Calendar: calendar actions
  • Gmail: email actions
  • Notion: knowledge and reading lists
  • SerpAPI: web search

Typical use cases

  • Personal assistant that remembers preferences, decisions, and tasks
  • Create/update meetings by chatting, and get upcoming events
  • Ask “what did I say I’m reading?” or “what’s our plan from last week?”
  • Voice-first capture: send a voice note → get a transcribed, actionable reply
  • Fetch recent emails or look up info on the web without leaving Telegram
  • Query a Notion database (e.g., “show me the Neurocracy entries”)

How it works (node-by-node)

  • Telegram Trigger
    • Receives messages from your Telegram chat (text and optional voice).
  • Text vs Message Router
    • Routes based on message contents: - Text path → goes directly to the Agent (AI). - Voice path → downloads the file and transcribes before AI. - Always also fetches recent Airtable memories for context.
  • Get a file (Telegram)
    • Downloads the voice file (voice.file_id) when present.
  • Transcribe a recording (OpenAI)
    • Converts audio to text so the agent can use it like a normal message.
  • Get memories (Airtable)
    • Searches your “Agent Memories” base/table, filtered by user, sorted by Created.
  • Aggregate (Aggregate)
    • Bundles recent memory records into a single array “Memories” with text + timestamp.
  • Merge (Merge)
    • Combines current input (text or transcript) with the memory bundle before the agent.
  • Simple Memory (Agent memory window)
    • Short-term session memory keyed by Telegram chat ID; keeps the recent 30 turns.
  • Tools wired into the agent
    • SerpAPI
    • Google Calendar tools: - Get many events in Google Calendar - Create an event in Google Calendar - Update an event in Google Calendar - Delete an event in Google Calendar
    • Gmail tools: - Get many messages in Gmail - Get a message in Gmail
    • Notion tool:
      • Get a database in Notion
      • Airtable tool:
      • Save Memory (stores distilled facts about the user)
  • Agent
    • System prompt defines role, tone, and rules: - Be a friendly assistant. - On each message, decide if it contains user info worth saving. - If yes, call “Save Memory” to persist a short summary in Airtable. - Don’t announce memory saves—just continue helping. - Use tools when needed (web, calendar, Gmail, Notion). - Think with the provided memory context block.
      • Uses xAI Grok Chat Model for reasoning and tool-calling.
      • Can call Save Memory, Calendar, Gmail, Notion, and SerpAPI tools as needed.
  • Save Memory (Airtable)
    • Persists Memory and User fields to “Agent Memories” base; auto timestamp by Airtable.
  • Send a text message (Telegram)
    • Sends the agent’s final answer back to the same Telegram chat ID.

Node map

Node Type Purpose
Telegram Trigger Trigger Receive text/voice from Telegram
Text vs voice router Flow control Route text vs voice; also trigger memories fetch
Get a file Telegram Download voice audio
Transcribe a recording OpenAI Speech-to-text for voice notes
Get memories Airtable Load recent user memories
Aggregate Aggregate Pack memory records into “Memories” array
Merge Merge Combine input and memories before agent call
Simple Memory Agent memory Short-term chat memory per chat ID
xAI Grok Chat Model LLM Core reasoning model for the Agent
Search Web with SerpAPI Tool Web search
Google Calendar tools Tool List/create/update/delete events
Gmail tools Tool Search and read email
Notion tool Tool Query a Notion database
Save Memory Airtable Tool Persist distilled user facts
AI Agent Agent Orchestrates tools + memory, produces the answer
Send a text message Telegram Reply to the user in Telegram

Before you start

  • Create a Telegram bot and get your token (via @BotFather).
  • Put your Telegram user ID into the Telegram Trigger node (chatIds).
  • Connect credentials:
    • xAI Grok (model: grok-4-0709)
    • OpenAI (for audio transcription)
    • Airtable (Agent Memories base and table)
    • Google Calendar OAuth
    • Gmail OAuth
    • Notion API
    • SerpAPI key
  • Adjust the Airtable “User” value and the filterByFormula to match your name or account.

Setup instructions

  1. Telegram
  • Telegram Trigger:
    • additionalFields.chatIds = your_telegram_id
    • download = true to allow voice handling
  • Send a text message:
    • chatId = {{ $('Telegram Trigger').item.json.message.chat.id }}
  1. Memory
  • Airtable base/table must exist with fields: Memory, User, Created (Created auto-managed).
  • In Save Memory and Get memories nodes, align Base, Table, and filterByFormula with your setup.
  • Simple Memory:
    • sessionKey = {{ $('If').item.json.message.chat.id }}
    • contextWindowLength = 30 (adjust as needed)
  1. Tools
  • Google Calendar: choose your calendar, test get/create/update/delete.
  • Gmail: set “returnAll/simplify/messageId” via $fromAI or static defaults.
  • Notion: set your databaseId.
  • SerpAPI: ensure the key is valid.
  1. Agent (AI node)
  • SystemMessage: customize role, name, and any constraints.
  • Text input: concatenates transcript or text into one prompt: {{ $json.text }}{{ $json.message.text }}

How to use

  • Send a text or voice message to your bot in Telegram.
  • The agent replies in the same chat, optionally performing tool actions.
  • New personal facts you mention are silently summarized and stored in Airtable for future context.

Customization ideas

  • Replace Grok with another LLM if desired.
  • Add more tools: Google Drive, Slack, Jira, GitHub, etc.
  • Expand memory schema (e.g., tags, categories, confidence).
  • Add guardrails: profanity filters, domain limits, or cost control.
  • Multi-user support: store chat-to-user mapping and separate memories by user.
  • Add summaries: a daily recap message created from new memories.

Limits and notes

  • Tool latency: calls to Calendar, Gmail, Notion, and SerpAPI add response time.
  • Audio size/format: OpenAI transcription works best with common formats and short clips.
  • Memory growth: periodically archive old Airtable entries, or change Aggregate window.
  • Timezone awareness: Calendar operations depend on your Google Calendar settings.

Privacy and safety

  • Sensitive info may be saved to Airtable; restrict access to the base.
  • Tool actions operate under your connected accounts; review scopes and permissions.
  • The agent may call external APIs (SerpAPI, OpenAI); ensure this aligns with your policies.

Example interactions

  • “Schedule a 30‑min catch‑up with Alex next Tuesday afternoon.”
  • “What meetings do I have in the next 4 weeks?”
  • “Summarize my latest emails from Product Updates.”
  • “What did I say I’m reading?” (agent recalls from memories)
  • Voice note: “Remind me to call the dentist this Friday morning.” → agent transcribes and creates an event.

Tags

  • telegram, agent, memory, grok, openai, airtable, google-calendar, gmail, notion, serpapi, voice, automation

Changelog

  • v1: First release with Telegram agent, short/long-term memory, voice transcription, and tool integrations for web, calendar, email, and Notion.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Simple Memory

Type / Role
@n8n/n8n-nodes-langchain.memoryBufferWindow - memoryBufferWindow
Config choices
Version 1.3

Block 2 - Save Memory

Type / Role
n8n-nodes-base.airtableTool - airtableTool
Config choices
Version 2.1

Block 3 - Get memories

Type / Role
n8n-nodes-base.airtable - airtable
Config choices
Version 2.1

Block 4 - Aggregate

Type / Role
n8n-nodes-base.aggregate - aggregate
Config choices
Version 1

Block 5 - Merge

Type / Role
n8n-nodes-base.merge - merge
Config choices
Version 3.2

Block 6 - Telegram Trigger

Type / Role
n8n-nodes-base.telegramTrigger - telegramTrigger
Config choices
Version 1.2

Block 7 - Send a text message

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Block 8 - Search Web with SerpAPI

Type / Role
@n8n/n8n-nodes-langchain.toolSerpApi - toolSerpApi
Config choices
Version 1

Block 9 - Get many events in Google Calendar

Type / Role
n8n-nodes-base.googleCalendarTool - googleCalendarTool
Config choices
Version 1.3

Block 10 - Create an event in Google Calendar

Type / Role
n8n-nodes-base.googleCalendarTool - googleCalendarTool
Config choices
Version 1.3

Block 11 - Update an event in Google Calendar

Type / Role
n8n-nodes-base.googleCalendarTool - googleCalendarTool
Config choices
Version 1.3

Block 12 - Delete an event in Google Calendar

Type / Role
n8n-nodes-base.googleCalendarTool - googleCalendarTool
Config choices
Version 1.3

Block 13 - Get many messages in Gmail

Type / Role
n8n-nodes-base.gmailTool - gmailTool
Config choices
Version 2.1

Block 14 - Get a message in Gmail

Type / Role
n8n-nodes-base.gmailTool - gmailTool
Config choices
Version 2.1

Block 15 - xAI Grok Chat Model

Type / Role
@n8n/n8n-nodes-langchain.lmChatXAiGrok - lmChatXAiGrok
Config choices
Version 1

Block 16 - Text vs Voice Router

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 17 - Transcribe a recording

Type / Role
@n8n/n8n-nodes-langchain.openAi - openAi
Config choices
Version 1.8

Block 18 - Get a file

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Block 19 - Get a database in Notion

Type / Role
n8n-nodes-base.notionTool - notionTool
Config choices
Version 2.2

Block 20 - AI Agent

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 2.2

Block 21 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 22 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 23 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

3. Summary Table

Workflow Multi-tool personal assistant with Telegram, Grok-4, Gmail, Calendar & Memory
Complexity advanced
Nodes 23
Categories AI Chatbot, Multimodal AI
Author Vlad Arbatov
Published 15 Aug 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/7452/7452.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Multi-tool personal assistant with Telegram, Grok-4, Gmail, Calendar & Memory do?

Summary Chat with your AI agent in Telegram. It remembers important facts about you in Airtable, can transcribe your voice messages, search the web, read and manage Google Calendar, fetch Gmail, an...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your AI Chatbot, Multimodal AI use case.