Assistant de prise de rendez-vous
Intermédiaire
Ceci est unAI Chatbot, Multimodal AIworkflow d'automatisation du domainecontenant 13 nœuds.Utilise principalement des nœuds comme Telegram, GmailTool, DateTimeTool, Agent, TelegramTrigger. Assistant de gestion de réunions
Prérequis
- •Token Bot Telegram
- •Compte Google et informations d'identification Gmail API
- •Clé API OpenAI
Nœuds utilisés (13)
Catégorie
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
"id": "SeCqKiu6DwEynq5h",
"meta": {
"instanceId": "061ca141d020a6e1355b8c7fe05f92a699e37e92079ad2e150a506ee8bbe9e11"
},
"name": "Meeting Booking Agent",
"tags": [],
"nodes": [
{
"id": "4145c3f3-c976-4e1a-8248-086484f1304d",
"name": "Déclencheur 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": "Agent IA",
"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": "Date et heure",
"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": "Mémoire",
"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": "Note adhésive",
"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": "Note adhésive3",
"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
}
]
]
}
}
}Foire aux questions
Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Intermédiaire - Chatbot IA, IA Multimodale
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Mes flux de travail 2
utilisation多个GPT-4o AIagentgestion个人données:Telegram上deGmail、任务et财务
Set
Code
Gmail
+
Set
Code
Gmail
62 NœudsMahmoud Shrouf
Chatbot IA
Assistant personnel IA - Bot Telegram
utilisationGPT-4o-minietGoogle服务viaTelegrambotgestion日程et联系人
Telegram
Gmail Tool
Agent
+
Telegram
Gmail Tool
Agent
11 NœudsRonnie Craig
Chatbot IA
Gmail Agent
Automatisation des tâches Gmail avec l'assistant Gemini AI et la gestion des contacts
Gmail Tool
Agent
Google Sheets Tool
+
Gmail Tool
Agent
Google Sheets Tool
12 NœudsRakin Jakaria
Chatbot IA
Modèle Jarvis
Jarvis : agent productivité AI pour la gestion des tâches, du calendrier, du courrier et des dépenses basé sur MCP
Switch
Telegram
Gmail Tool
+
Switch
Telegram
Gmail Tool
47 NœudsJitesh Dugar
Divers
Assistant personnel IA - Gestion des tâches et des e-mails
在Telegram上utilisationGPT-4o个人助理gestion任务、e-mailet日历
Set
Code
Switch
+
Set
Code
Switch
40 NœudsRonnie Craig
Création de contenu
Chatbot Webhook
Assistant Gmail et calendrier basé sur l'IA, intégrant l'interface de chat Gemini
Set
Webhook
Gmail Tool
+
Set
Webhook
Gmail Tool
19 NœudsPraneel S
Divers
Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds13
Catégorie2
Types de nœuds9
Description de la difficulté
Auteur
Rakin Jakaria
@rakinjakariaLiens externes
Voir sur n8n.io →
Partager ce workflow