회의 예약 도우미
중급
이것은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
콘텐츠 제작
챗봇 웹훅
Gemini 채팅 인터페이스를 통합한 AI 기반 Gmail 및 캘린더 어시스턴트
Set
Webhook
Gmail Tool
+
Set
Webhook
Gmail Tool
19 노드Praneel S
기타