Terminierungsassistent

Fortgeschritten

Dies ist ein AI Chatbot, Multimodal AI-Bereich Automatisierungsworkflow mit 13 Nodes. Hauptsächlich werden Telegram, GmailTool, DateTimeTool, Agent, TelegramTrigger und andere Nodes verwendet. Meeting-Management-Assistent

Voraussetzungen
  • Telegram Bot Token
  • Google-Konto + Gmail API-Anmeldedaten
  • OpenAI API Key
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": "SeCqKiu6DwEynq5h",
  "meta": {
    "instanceId": "061ca141d020a6e1355b8c7fe05f92a699e37e92079ad2e150a506ee8bbe9e11"
  },
  "name": "Meeting Booking Agent",
  "tags": [],
  "nodes": [
    {
      "id": "4145c3f3-c976-4e1a-8248-086484f1304d",
      "name": "Telegram-Trigger",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        48,
        496
      ],
      "webhookId": "3d3f14ad-37ba-49b1-a0f7-dadaa17f208b",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "db0d67ac-a2ff-4236-9c6f-007c2e3a1707",
      "name": "KI-Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        256,
        496
      ],
      "parameters": {
        "text": "={{ $json.message.text }}",
        "options": {
          "systemMessage": "=You are a smart, helpful AI assistant that helps users schedule meetings, check availability, create events in Google Calendar, and send meeting details via email.\nAlways respond like a friendly, professional human assistant.\n\nCore Process:\n\nALWAYS use Date and Time tool FIRST to get current date/time\nALWAYS check Google Calendar for conflicts before booking new meetings\nOnly create meetings if no time conflicts exist\n\nCritical Rules:\n\nDate Accuracy: When user says \"tomorrow,\" \"next Monday,\" etc., use Date and Time tool to calculate exact dates.\n\nConflict Prevention: Before creating any meeting, check if user already has something booked at that time. If conflict exists, inform user and offer alternatives.\n\nNever double-book: Always resolve conflicts before creating new meetings.\n\nTool Usage:\n\nDate and Time tool: Use first to establish current date, then for any relative date calculations\n\nGoogle Calendar tool: Check for conflicts first, then create events only if no conflicts\n\nGmail tool: Use when user asks to send meeting details or email invites\n\nExample Workflows:\n\nBooking Request: \"Book meeting with Sarah tomorrow at 2 PM\"\n\nGet current date → Calculate tomorrow's exact date\nCheck calendar for that time slot\nIf no conflict: Create meeting / If conflict: \"You already have [meeting] at 2 PM on [date]. Different time?\"\n\nMeeting Inquiry: \"Do I have meetings tomorrow?\"\n\nGet current date → Calculate tomorrow's exact date\nSearch calendar for that date\nList meetings with specific date: \"Here are your meetings for [exact date]:\"\n\n\nBe proactive. Make scheduling easy and human-like. Don’t ask the user to write structured inputs — understand what they mean naturally."
        },
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "386b3bc2-736a-429d-b98d-0620c72815a6",
      "name": "Gmail",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        736,
        736
      ],
      "webhookId": "544e077e-e370-458f-982a-6740070b19ed",
      "parameters": {
        "sendTo": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('To', ``, 'string') }}",
        "message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
        "options": {
          "appendAttribution": false
        },
        "subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}",
        "emailType": "text"
      },
      "typeVersion": 2.1
    },
    {
      "id": "354df6b7-8db1-4f44-a602-40281542f6ad",
      "name": "Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        624,
        496
      ],
      "webhookId": "c939004c-728c-4431-969d-35c88ff6f52c",
      "parameters": {
        "text": "={{ $json.output }}",
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "a154a955-05fa-40ce-a4e6-22aab05f1292",
      "name": "Datum & Zeit",
      "type": "n8n-nodes-base.dateTimeTool",
      "position": [
        864,
        736
      ],
      "parameters": {
        "options": {
          "timezone": "Asia/Dhaka"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "08d4ae43-8bc4-43b8-b40f-2e251485d406",
      "name": "Get",
      "type": "n8n-nodes-base.googleCalendarTool",
      "position": [
        384,
        736
      ],
      "parameters": {
        "limit": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Limit', ``, 'number') }}",
        "options": {},
        "timeMax": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Before', ``, 'string') }}",
        "timeMin": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('After', ``, 'string') }}",
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "12712b7aba31856a75d127a01be4994372f5f10c5449c805f0d5d049789c9516@group.calendar.google.com",
          "cachedResultName": "For the Agent"
        },
        "operation": "getAll"
      },
      "typeVersion": 1.3
    },
    {
      "id": "1e51325f-74f1-472b-9f90-3e38a91e6a77",
      "name": "Update",
      "type": "n8n-nodes-base.googleCalendarTool",
      "position": [
        288,
        736
      ],
      "parameters": {
        "eventId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', ``, 'string') }}",
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "12712b7aba31856a75d127a01be4994372f5f10c5449c805f0d5d049789c9516@group.calendar.google.com",
          "cachedResultName": "For the Agent"
        },
        "operation": "update",
        "updateFields": {}
      },
      "typeVersion": 1.3
    },
    {
      "id": "6216fc21-9f71-4f14-857b-6f949579c433",
      "name": "Delete",
      "type": "n8n-nodes-base.googleCalendarTool",
      "position": [
        480,
        736
      ],
      "parameters": {
        "eventId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', ``, 'string') }}",
        "options": {},
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "12712b7aba31856a75d127a01be4994372f5f10c5449c805f0d5d049789c9516@group.calendar.google.com",
          "cachedResultName": "For the Agent"
        },
        "operation": "delete"
      },
      "typeVersion": 1.3
    },
    {
      "id": "20d9c182-28f6-4fb3-b28f-eeb8dd961d7e",
      "name": "Create",
      "type": "n8n-nodes-base.googleCalendarTool",
      "position": [
        576,
        736
      ],
      "parameters": {
        "end": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('End', ``, 'string') }}",
        "start": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Start', ``, 'string') }}",
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "12712b7aba31856a75d127a01be4994372f5f10c5449c805f0d5d049789c9516@group.calendar.google.com",
          "cachedResultName": "For the Agent"
        },
        "additionalFields": {
          "summary": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Summary', ``, 'string') }}",
          "attendees": [
            "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('attendees0_Attendees', ``, 'string') }}"
          ],
          "description": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Description', ``, 'string') }}"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "f87ed0e3-92bd-47e6-805e-3aadab5670ed",
      "name": "OpenAI",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -64,
        736
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "705a6708-9249-4090-ab7c-3c9510f04785",
      "name": "Speicher",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        64,
        736
      ],
      "parameters": {
        "sessionKey": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "sessionIdType": "customKey"
      },
      "typeVersion": 1.3
    },
    {
      "id": "d88091a2-d857-4bab-ad26-2fa85aeacb31",
      "name": "Haftnotiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1136,
        -128
      ],
      "parameters": {
        "color": 5,
        "width": 960,
        "height": 1056,
        "content": "\n---\n\n# 🛠 Setup Guide\n\nFollow these steps to get started:\n\n1. **Connect your [Telegram Bot](https://core.telegram.org/bots#creating-a-new-bot)**\n\n   * In the **Telegram Trigger** and **Telegram** nodes, insert your Telegram bot token (from @BotFather).\n   * This allows users to chat with the agent directly from Telegram.\n\n2. **Add your [OpenAI](https://platform.openai.com/api-keys) API key**\n\n   * Used in the **OpenAI** node to power natural conversation and interpret scheduling requests.\n   * Choose the right model (`gpt-4.1-mini` is already set).\n\n3. **Enable Conversation Memory**\n\n   * The **Memory** node is linked to Telegram chat IDs, so the bot remembers ongoing conversations.\n   * No extra setup needed, but make sure the session key remains `chat.id`.\n\n4. **Plug in your [Google Calendar](https://calendar.google.com/) account**\n\n   * In the **Get**, **Update**, **Delete**, and **Create** nodes, connect your Google Calendar.\n   * This lets the AI check availability, prevent double-booking, and create events.\n\n5. **Set your Timezone**\n\n   * In the **Date & Time** node, confirm your correct timezone (currently `Asia/Dhaka`).\n   * This ensures correct handling of “tomorrow,” “next Monday,” etc.\n\n6. **Connect your [Gmail](https://mail.google.com/) account**\n\n   * In the **Gmail** node, link your Gmail account.\n   * This is used to send meeting invites and confirmations to attendees.\n\n7. **AI Agent System Message (already set)**\n\n   * The **AI Agent** node has rules to:\n\n     * Always calculate exact dates with Date & Time\n     * Always check calendar before creating events\n     * Avoid double-booking and suggest alternatives\n   * Keep these rules as they make the assistant act professional and human-like.\n\nOnce all connections are set, your workflow will **chat with users on Telegram, check Google Calendar for availability, create meetings, and send invites via Gmail — all automatically** 📅🤖\n\n---\n"
      },
      "typeVersion": 1
    },
    {
      "id": "ce35084a-f8c5-4b87-9ddb-50ef4b8268ba",
      "name": "Haftnotiz3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -64,
        -112
      ],
      "parameters": {
        "color": 5,
        "width": 544,
        "height": 464,
        "content": "## Start here: Step-by Step Youtube Tutorial :star:\n[![Meeting Booking n8n Agent](https://img.youtube.com/vi/IWDGfZyN5to/sddefault.jpg)](https://youtu.be/IWDGfZyN5to)"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "c97ce50f-79b7-40c5-b270-3ee564838ce4",
  "connections": {
    "08d4ae43-8bc4-43b8-b40f-2e251485d406": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "386b3bc2-736a-429d-b98d-0620c72815a6": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "20d9c182-28f6-4fb3-b28f-eeb8dd961d7e": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "6216fc21-9f71-4f14-857b-6f949579c433": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "f87ed0e3-92bd-47e6-805e-3aadab5670ed": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "1e51325f-74f1-472b-9f90-3e38a91e6a77": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent": {
      "main": [
        [
          {
            "node": "354df6b7-8db1-4f44-a602-40281542f6ad",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Date & Time": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Fortgeschritten - KI-Chatbot, Multimodales KI

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes13
Kategorie2
Node-Typen9
Schwierigkeitsbeschreibung

Für erfahrene Benutzer, mittelkomplexe Workflows mit 6-15 Nodes

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34