会議予約アシスタント
中級
これはAI Chatbot, Multimodal AI分野の自動化ワークフローで、13個のノードを含みます。主にTelegram, GmailTool, DateTimeTool, Agent, TelegramTriggerなどのノードを使用。 会議管理アシスタント
前提条件
- •Telegram Bot Token
- •Googleアカウント + Gmail API認証情報
- •OpenAI API Key
使用ノード (13)
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "SeCqKiu6DwEynq5h",
"meta": {
"instanceId": "061ca141d020a6e1355b8c7fe05f92a699e37e92079ad2e150a506ee8bbe9e11"
},
"name": "Meeting Booking Agent",
"tags": [],
"nodes": [
{
"id": "4145c3f3-c976-4e1a-8248-086484f1304d",
"name": "Telegram トリガー",
"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": "AI エージェント",
"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": "日付と時刻",
"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": "メモリ",
"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": "付箋",
"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": "付箋3",
"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[](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
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級 - AIチャットボット, マルチモーダルAI
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
マイワークフロー2
複数のGPT-4o AIエージェントで個人データを管理する:Telegram上のGmail、タスク、財務
Set
Code
Gmail
+
Set
Code
Gmail
62 ノードMahmoud Shrouf
AIチャットボット
AIパーソナルアシスタントTelegramボット
GPT-4o-miniとGoogleサービスをTelegramボットで使用してスケジュールと連絡先を管理する
Telegram
Gmail Tool
Agent
+
Telegram
Gmail Tool
Agent
11 ノードRonnie Craig
AIチャットボット
Gmailエージェント
Gemini AIアシスタントと連絡先管理を使ったGmailタスクの自動化
Gmail Tool
Agent
Google Sheets Tool
+
Gmail Tool
Agent
Google Sheets Tool
12 ノードRakin Jakaria
AIチャットボット
Jarvis テンプレート
Jarvis:MCPに基づくタスク、カレンダー、メール、経費管理生産性AIエージェント
Switch
Telegram
Gmail Tool
+
Switch
Telegram
Gmail Tool
47 ノードJitesh Dugar
その他
AIパーソナルアシスタント - タスクとメール管理
Telegram上でGPT-4oパーソナルアシスタントでタスク、メール、カレンダーを管理
Set
Code
Switch
+
Set
Code
Switch
40 ノードRonnie Craig
コンテンツ作成
チャットボットWebhook
AIを活用したGmailとカレンダーアシスタントで、Geminiチャットインターフェースと統合
Set
Webhook
Gmail Tool
+
Set
Webhook
Gmail Tool
19 ノードPraneel S
その他