8
n8n 中文网amn8n.com

会议预约助手

中级

这是一个AI Chatbot, Multimodal AI领域的自动化工作流,包含 13 个节点。主要使用 Telegram, GmailTool, DateTimeTool, Agent, TelegramTrigger 等节点。 会议管理助手

前置要求
  • Telegram Bot Token
  • Google 账号和 Gmail API 凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "SeCqKiu6DwEynq5h",
  "meta": {
    "instanceId": "061ca141d020a6e1355b8c7fe05f92a699e37e92079ad2e150a506ee8bbe9e11"
  },
  "name": "会议预约助手",
  "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 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": "日期与时间",
      "type": "n8n-nodes-base.dateTimeTool",
      "position": [
        864,
        736
      ],
      "parameters": {
        "options": {
          "timezone": "Asia/Dhaka"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "08d4ae43-8bc4-43b8-b40f-2e251485d406",
      "name": "获取",
      "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": "更新",
      "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": "删除",
      "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": "创建",
      "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": ""
      },
      "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": "## 从这里开始:分步视频教程 :star:"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "c97ce50f-79b7-40c5-b270-3ee564838ce4",
  "connections": {
    "Get": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Gmail": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Create": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Delete": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Update": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent": {
      "main": [
        [
          {
            "node": "Telegram",
            "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)可能需要您自行付费。

工作流信息
难度等级
中级
节点数量13
分类2
节点类型9
难度说明

适合有一定经验的用户,包含 6-15 个节点的中等复杂度工作流

外部链接
在 n8n.io 查看

分享此工作流