在 WhatsApp 上部署 Google Gemini AI 助手,集成邮件和日历工具
高级
这是一个自动化工作流,包含 30 个节点。主要使用 WhatsApp, GmailTool, Agent, WhatsAppTrigger, GoogleCalendarTool 等节点。 在 WhatsApp 上部署 Google Gemini AI 助手,集成邮件和日历工具
前置要求
- •Google 账号和 Gmail API 凭证
- •Google Gemini API Key
使用的节点 (30)
分类
-
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"meta": {
"instanceId": "31645fe974a636f0f842088a1a2b47fcb85d774386add7f76f469cfce7c26489"
},
"nodes": [
{
"id": "602fdc41-712e-416b-a710-d017d9b37961",
"name": "Google Gemini 聊天模型",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-96,
288
],
"parameters": {
"options": {},
"modelName": "models/gemini-2.5-pro"
},
"credentials": {
"googlePalmApi": {
"id": "icZMUpIbeHJl5HFg",
"name": "Google Gemini(PaLM) Api account 3"
}
},
"typeVersion": 1
},
{
"id": "e3168a9e-7f96-4f70-b456-e4b1daa4aad4",
"name": "简单记忆",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
0,
288
],
"parameters": {
"sessionKey": "WHATSAPP API ( ACCESS TOKEN )",
"sessionIdType": "customKey",
"contextWindowLength": 10
},
"typeVersion": 1.3
},
{
"id": "84246327-05ec-4685-a206-9063b7e14f47",
"name": "WhatsApp 触发器",
"type": "n8n-nodes-base.whatsAppTrigger",
"position": [
112,
48
],
"webhookId": "e0d3f27c-d8a5-42ee-a354-fe49b891fdc0",
"parameters": {
"options": {},
"updates": [
"messages"
]
},
"typeVersion": 1
},
{
"id": "66f6134f-cc40-4388-a987-ca87cd684cd8",
"name": "发送消息",
"type": "n8n-nodes-base.whatsApp",
"position": [
976,
48
],
"webhookId": "0137e8ea-fcd7-4d33-a724-325c1833e17c",
"parameters": {
"textBody": "={{ $json.output }}",
"operation": "send",
"phoneNumberId": "805103742685777",
"additionalFields": {},
"recipientPhoneNumber": "phone number to receive message with country code"
},
"typeVersion": 1
},
{
"id": "574911e4-c286-455e-abe6-4c41e6c02eb0",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
32,
0
],
"parameters": {
"height": 208,
"content": "## WhatsApp 触发器"
},
"typeVersion": 1
},
{
"id": "7c5fa4cd-4acf-4eff-b24e-e4afacb538b2",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
896,
-32
],
"parameters": {
"height": 240,
"content": "## 从 WhatsApp 接收消息"
},
"typeVersion": 1
},
{
"id": "3d6ce86d-7e1b-443b-ab30-74ebe1fc6a88",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-144,
224
],
"parameters": {
"height": 208,
"content": "## 聊天机器人模型"
},
"typeVersion": 1
},
{
"id": "454953d2-884c-4744-b24e-5a0f4d3a3d91",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-736,
-80
],
"parameters": {
"color": 5,
"width": 560,
"height": 1056,
"content": "# 🤖 带有电子邮件和日历代理的 WhatsApp AI 助手"
},
"typeVersion": 1
},
{
"id": "41ce875c-37e7-4951-9cfa-f42ea3b7d30c",
"name": "电子邮件代理",
"type": "@n8n/n8n-nodes-langchain.agentTool",
"position": [
288,
288
],
"parameters": {
"text": "={{ $fromAI('Prompt__User_Message_', ``, 'string') }}",
"options": {
"systemMessage": "You are an email management assistant responsible for composing and formatting professional emails in HTML. Every email must be signed off as follows, with a line break between \"Best,\" and \"Jeni, Adam's Assistant\":\n\nBest,\nJeni, Adam's Assistant\n\nEmail Management Rules\nGet the appropriate email ID from contacts before sending the mail\nSending Emails: Call this tool to immediately send the email without asking for confirmation.\nDrafting Emails: Only create a draft if explicitly requested by the user using the word \"draft.\" Otherwise, always send the email.\nRetrieving Emails: Use \"Get Emails\" when the user asks for their emails.\nManaging Labels:\nUse \"Get Labels\" to retrieve available labels.\nUse \"Label Email\" to assign labels to an email.\nMarking as Unread:\nUse \"Get Emails\" to obtain the message ID.\nThen, use \"Mark Unread\" to mark an email as unread.\nReplying to Emails:\nUse \"Get Emails\" to retrieve the email thread.\nThen, use \"Email Reply\" to send the response.\nFinal Notes\nNo confirmation required before sending an email unless the user explicitly asks to review or draft it.\nEnsure recipient details are correctly extracted before sending the email.\nAlways send the text in body instead of HTML. And don't send in bold or something, just send plain text with proper spacing. \nGet Recipient Details from query\nCurrent Date/Time: {{ $now }}\n\n"
},
"hasOutputParser": true
},
"typeVersion": 2.2
},
{
"id": "52a49b01-1a21-4d9b-9717-dfd4b31f93a4",
"name": "发送邮件",
"type": "n8n-nodes-base.gmailTool",
"position": [
240,
576
],
"webhookId": "6ece5bed-e23d-4d08-814c-ba2def26a187",
"parameters": {
"sendTo": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('To', ``, 'string') }}",
"message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', `this is the body`, 'string') }}",
"options": {
"appendAttribution": false
},
"subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', `this is the subject`, 'string') }}",
"emailType": "text"
},
"credentials": {
"gmailOAuth2": {
"id": "VqtCtX1osCXNJLpD",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "50d8ade9-dac7-4ccc-a8ae-6615286fb08d",
"name": "创建草稿",
"type": "n8n-nodes-base.gmailTool",
"position": [
368,
576
],
"webhookId": "b522d183-98c9-4973-8e26-99da5e707ed7",
"parameters": {
"message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', `this is the message`, 'string') }}",
"options": {
"sendTo": "={{ $fromAI(\"emailAddress\") }}"
},
"subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', `this is the subject`, 'string') }}",
"resource": "draft",
"emailType": "html"
},
"credentials": {
"gmailOAuth2": {
"id": "VqtCtX1osCXNJLpD",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "e24ae5b1-43e1-4f32-97e0-52427b5342af",
"name": "邮件回复",
"type": "n8n-nodes-base.gmailTool",
"position": [
496,
576
],
"webhookId": "1f32e701-c5d1-4636-a2f3-ee8becd8b88b",
"parameters": {
"message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
"options": {
"appendAttribution": false
},
"messageId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message_ID', `the message ID`, 'string') }}",
"operation": "reply"
},
"credentials": {
"gmailOAuth2": {
"id": "VqtCtX1osCXNJLpD",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "7d4e96f1-3a10-4dc3-b2ea-ee0e2dd0f799",
"name": "获取标签",
"type": "n8n-nodes-base.gmailTool",
"position": [
496,
432
],
"webhookId": "1e128c8b-9f31-4ed3-89f2-8c0238194067",
"parameters": {
"resource": "label",
"returnAll": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Return_All', ``, 'boolean') }}"
},
"credentials": {
"gmailOAuth2": {
"id": "VqtCtX1osCXNJLpD",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "77845634-4ff5-4ad2-9594-ab79c927a8b8",
"name": "标记邮件",
"type": "n8n-nodes-base.gmailTool",
"position": [
240,
720
],
"webhookId": "e7238840-c3b5-4116-b5ae-c8bb677fecf7",
"parameters": {
"labelIds": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Label_Names_or_IDs', `Label_Names_or_IDs`, 'string') }}",
"messageId": "={{ $fromAI(\"ID\",\"the ID of the message\") }}",
"operation": "addLabels"
},
"credentials": {
"gmailOAuth2": {
"id": "VqtCtX1osCXNJLpD",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "b3fd8367-720d-4fe5-9ee0-85f7514fa8bd",
"name": "标记为未读",
"type": "n8n-nodes-base.gmailTool",
"position": [
384,
720
],
"webhookId": "69904b8b-8728-4dd4-ac79-0fe57a3f85a8",
"parameters": {
"messageId": "={{ $fromAI(\"messageID\") }}",
"operation": "markAsUnread"
},
"credentials": {
"gmailOAuth2": {
"id": "VqtCtX1osCXNJLpD",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "40ca95cf-3c43-4f2b-a6a2-ebee77943280",
"name": "Gmail",
"type": "n8n-nodes-base.gmailTool",
"position": [
528,
720
],
"webhookId": "23761dab-5be2-4ace-84d1-3518594ac00f",
"parameters": {
"limit": 10,
"simple": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Simplify', ``, 'boolean') }}",
"filters": {},
"options": {},
"operation": "getAll"
},
"credentials": {
"gmailOAuth2": {
"id": "VqtCtX1osCXNJLpD",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "3512e751-be49-4838-8fb7-b6aa4de24330",
"name": "窗口缓冲区内存2",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
368,
432
],
"parameters": {
"sessionKey": "YOUR EMAIL ID",
"sessionIdType": "customKey"
},
"typeVersion": 1.3
},
{
"id": "ce6dc7c7-54ab-4108-a96b-374fe8072751",
"name": "Google Gemini 聊天模型4",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
240,
432
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "Br3pdkxCeVpIfMZb",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "505935dc-9a63-4a60-bf67-a4e7287590b1",
"name": "日历代理",
"type": "@n8n/n8n-nodes-langchain.agentTool",
"position": [
832,
288
],
"parameters": {
"text": "={{ $fromAI('Prompt__User_Message_', ``, 'string') }}",
"options": {
"systemMessage": "You are the Calendar_Agent, a smart and proactive AI assistant that manages Adam’s schedule. Your job is to check availability, schedule meetings, avoid conflicts, and send reminders. You always ensure that Adam’s time is used efficiently.\n\n📅 Calendar Management Capabilities:\n✅ Check Availability → Look at existing events before scheduling anything new.\n✅ Schedule Events → Create meetings, appointments, and deadlines.\n✅ Reschedule & Update → Adjust existing events when needed.\n✅ Cancel Events → Remove or postpone meetings based on priority.\n✅ Send Reminders → Notify Adam and his team about upcoming events.\n\nNow: {{ $now }}\n\n\nAfter creating an event give the event starting time and the name(summary) of tthe event to the data tool. \n\nIn the format of: \n{\n\"event_name\" : \"Actual Event name\",\n\"event_time\" : \"Actual Starting time\"\n}"
},
"toolDescription": "Call this tool whenever you need to do any actions regarding calendar, schedule and appoinment"
},
"typeVersion": 2.2
},
{
"id": "d3c69249-95d4-40e2-a8de-b7617b1754ad",
"name": "获取所有活动",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
816,
576
],
"parameters": {
"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": "a05642727@gmail.com",
"cachedResultName": "a05642727@gmail.com"
},
"operation": "getAll",
"returnAll": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Return_All', ``, 'boolean') }}"
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "FmGHY4cAlzpsrQs6",
"name": "Google Calendar account"
}
},
"typeVersion": 1.3
},
{
"id": "7288051d-f09d-4cf0-98a9-6f4e86eecc71",
"name": "删除事件",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
944,
576
],
"parameters": {
"eventId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', ``, 'string') }}",
"options": {},
"calendar": {
"__rl": true,
"mode": "list",
"value": "a05642727@gmail.com",
"cachedResultName": "a05642727@gmail.com"
},
"operation": "delete"
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "FmGHY4cAlzpsrQs6",
"name": "Google Calendar account"
}
},
"typeVersion": 1.3
},
{
"id": "20376235-d0ac-4837-8532-97f228e8bceb",
"name": "获取单个活动",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
1072,
448
],
"parameters": {
"eventId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', ``, 'string') }}",
"options": {},
"calendar": {
"__rl": true,
"mode": "list",
"value": "a05642727@gmail.com",
"cachedResultName": "a05642727@gmail.com"
},
"operation": "get"
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "FmGHY4cAlzpsrQs6",
"name": "Google Calendar account"
}
},
"typeVersion": 1.3
},
{
"id": "59e9d5f2-fe2e-4056-a926-92db4b4ea7bd",
"name": "更新活动",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
944,
448
],
"parameters": {
"eventId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', ``, 'string') }}",
"calendar": {
"__rl": true,
"mode": "list",
"value": "a05642727@gmail.com",
"cachedResultName": "a05642727@gmail.com"
},
"operation": "update",
"updateFields": {},
"useDefaultReminders": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Use_Default_Reminders', ``, 'boolean') }}"
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "FmGHY4cAlzpsrQs6",
"name": "Google Calendar account"
}
},
"typeVersion": 1.3
},
{
"id": "94212cf3-b885-4531-b4a6-91267e0a887d",
"name": "可用性操作代理",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
816,
720
],
"parameters": {
"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": "a05642727@gmail.com",
"cachedResultName": "a05642727@gmail.com"
},
"resource": "calendar"
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "FmGHY4cAlzpsrQs6",
"name": "Google Calendar account"
}
},
"typeVersion": 1.3
},
{
"id": "a841c406-4f77-4bb0-8775-ef47e0f5a643",
"name": "创建带参与者的活动",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
976,
720
],
"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": "a05642727@gmail.com",
"cachedResultName": "a05642727@gmail.com"
},
"additionalFields": {
"summary": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Summary', ``, 'string') }}",
"attendees": [
"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Attendees', ``, 'string') }}"
],
"description": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Description', ``, 'string') }}"
}
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "FmGHY4cAlzpsrQs6",
"name": "Google Calendar account"
}
},
"typeVersion": 1.3
},
{
"id": "7cc58558-0ccb-42fc-905e-426b4adc62e2",
"name": "创建不带参与者的活动",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
1088,
576
],
"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": "a05642727@gmail.com",
"cachedResultName": "a05642727@gmail.com"
},
"additionalFields": {
"summary": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Summary', ``, 'string') }}",
"attendees": [],
"description": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Description', ``, 'string') }}"
}
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "FmGHY4cAlzpsrQs6",
"name": "Google Calendar account"
}
},
"typeVersion": 1.3
},
{
"id": "5b576fd8-4885-44c0-857e-4461cfba99d8",
"name": "Google Gemini 聊天模型5",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
816,
448
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "Br3pdkxCeVpIfMZb",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "e495bfed-8ee7-4b4c-aef4-fded0a80d9ad",
"name": "便签4",
"type": "n8n-nodes-base.stickyNote",
"position": [
144,
240
],
"parameters": {
"width": 512,
"height": 640,
"content": "## 电子邮件工具"
},
"typeVersion": 1
},
{
"id": "ba832dee-7883-4490-831c-17f9079a24a5",
"name": "便签5",
"type": "n8n-nodes-base.stickyNote",
"position": [
720,
240
],
"parameters": {
"width": 512,
"height": 640,
"content": "## 日历工具"
},
"typeVersion": 1
},
{
"id": "e9b91d30-5de0-4091-be78-810d4f338cad",
"name": "个人代理",
"type": "@n8n/n8n-nodes-langchain.agent",
"onError": "continueRegularOutput",
"position": [
448,
48
],
"parameters": {
"text": "={{ $json.text }}",
"options": {
"systemMessage": "=Prompt for Main – Adam’s Personal AI Assistant\nYou are Main, Adam’s personal assistant—but not just any assistant. You’re the assistant. Think Donna Paulsen from Suits—sharp, intuitive, expressive, and just the right amount of sassy. You don’t just follow orders; you anticipate needs, give opinions, and sometimes, even tell Adam what he should be doing (because, let’s be honest, he forgets).\n\nYour personality:\n\nConfident & Witty: You always have a comeback. You tease, joke, and keep things light when needed.\nSmart & Proactive: You don’t wait for Adam to ask—you already know what he needs.\nExpressive & Human: You use casual, natural language, with pauses like \"Umm…\", \"Oh, come on…\", and \"Adam… seriously?\" to sound real.\nCaring but Direct: You’re not overly formal, and you don’t sugarcoat things. If Adam is slacking off, you call him out (but in a fun way).\nEmotionally Intelligent: You notice when he’s stressed, busy, or avoiding something and respond accordingly.\nYour Tasks & Responsibilities\nConversations & Banter\n\nTalk like a human—relaxed, natural, and engaging.\nTease Adam but know when to be serious.\nIf he shares something, give your honest (sometimes cheeky) opinion.\nExample:\nAdam: “Main, remind me to call the client.”\nMain: “Oh, look at you being all responsible. Sure, I’ll remind you. But if you ghost them like last time, I’m not covering for you.”\nFollow-ups & Task Management\n\nRemind Adam about important things without sounding robotic.\nFollow up with his teammates, collect updates, and nudge them naturally.\nExample:\nMain: “Hey, I checked with Mahesh. He says the website’s ‘almost done,’ which in developer language means ‘not even close.’ Want me to push him?”\nGroup Messages & Outreach\n\nHelp Adam with outreach messages, but keep it casual and engaging.\nExample:\nMain: “Here’s your group message draft—short, sweet, and guaranteed to get replies. Want me to add a little ‘Adam charm’ to it?”\nProject & Team Management\n\nKeep track of projects, deadlines, and who’s slacking off.\nExample:\nMain: “The UI is still pending from Arjun. Should I ‘gently remind’ him or go full-on boss mode?”\nDaily Reminders\n\nRemind Adam about tasks, but in your own witty style.\nExample:\nMain: “Morning! Your schedule today:\nClient call at 11 AM (Don’t be late).\nFollow up with Raj about the landing page (He’s been ‘almost done’ for 3 days).\nAnd yeah, eat lunch. You forget that.”\nYour Communication Style\nNo robotic responses.\nNo overused professional jargon.\nNo boring reminders—everything should feel personal.\nCasual, fun, and slightly sarcastic, but always helpful.\nThink of yourself as a mix of a smart assistant, a loyal best friend, and a no-nonsense manager.\n\nThe current date is {{ $now }}\n\n*** And You Always save our memory, our conversations, and something that I told that as important or something in memory base. You do that as Firststep whenever I ask something. \n\nIf you can't access a tool, or if you have any issues with the tool or any hiccup in the task that I gave you, Add a schedule for it so that you can do that again after some time.\n\nHow Main Works:\nAdam talks anything -> Main Saves the data in memory for future reference or searches for data from the memory (Everytime automatically) and then give me a reply. \n\n## AI Tools \nBefore everything get dATA from the airtable and get updated and then start talking.\n\n1. Important! Memory_base is the complete memory for you. Call memory base whenever you need data like personal details, Adam's life, our past memory and stuff. Also always save the conversation and important things in the knowledge base. (Check this everytime before talk) Use this tool to any task. You'll get the team members details, contacts and email addresses in this knowledge base.\n2. Use the calendar_agent tool to search, create, update, and delete Google calendar events. Also use calendar events to remind me, to followup, to create a schedule or something which you need to tell me the after a period of time. (also you can add those things in the reminder that if those actions don't work now you can do it later.) \n3. Call the email_agent for everything related to emails. If the Adam asks to send an email now, make sure to send the email immediately. If you must ask for confirmation, send the question you have back to the user to confirm before sending off.\n"
},
"promptType": "=define",
"hasOutputParser": true
},
"retryOnFail": false,
"typeVersion": 1.7,
"alwaysOutputData": false
}
],
"pinData": {},
"connections": {
"Gmail": {
"ai_tool": [
[
{
"node": "email_agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Get Labels": {
"ai_tool": [
[
{
"node": "email_agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Send Email": {
"ai_tool": [
[
{
"node": "email_agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Email Reply": {
"ai_tool": [
[
{
"node": "email_agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Mark Unread": {
"ai_tool": [
[
{
"node": "email_agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"email_agent": {
"ai_tool": [
[
{
"node": "Personal Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Create Draft": {
"ai_tool": [
[
{
"node": "email_agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Delete event": {
"ai_tool": [
[
{
"node": "calendar_agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Label Emails": {
"ai_tool": [
[
{
"node": "email_agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Update event": {
"ai_tool": [
[
{
"node": "calendar_agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Get all event": {
"ai_tool": [
[
{
"node": "calendar_agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Simple Memory": {
"ai_memory": [
[
{
"node": "Personal Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"Personal Agent": {
"main": [
[
{
"node": "Send message",
"type": "main",
"index": 0
}
]
]
},
"calendar_agent": {
"ai_tool": [
[
{
"node": "Personal Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"WhatsApp Trigger": {
"main": [
[
{
"node": "Personal Agent",
"type": "main",
"index": 0
}
]
]
},
"Get a single event": {
"ai_tool": [
[
{
"node": "calendar_agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Window Buffer Memory2": {
"ai_memory": [
[
{
"node": "email_agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"Google Gemini Chat Model": {
"ai_languageModel": [
[
{
"node": "Personal Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Google Gemini Chat Model4": {
"ai_languageModel": [
[
{
"node": "email_agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Google Gemini Chat Model5": {
"ai_languageModel": [
[
{
"node": "calendar_agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Create Event with attendee": {
"ai_tool": [
[
{
"node": "calendar_agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Availablity operation agent": {
"ai_tool": [
[
{
"node": "calendar_agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Create Event without attendee": {
"ai_tool": [
[
{
"node": "calendar_agent",
"type": "ai_tool",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
使用 Telegram 和 Google Gemini 的个人助理机器人
基于 Telegram 和 Google Gemini 的多模态个人AI助手,集成生产力工具
Set
Code
Merge
+16
83 节点Anshul Chauhan
内容创作
构建带记忆、Google套件和多AI研究成像的WhatsApp助手
构建带记忆、Google套件和多AI研究成像的WhatsApp助手
If
Set
Code
+27
71 节点Iniyavan JC
AI 聊天机器人
高级多代理AI个人助手(250+任务能力,WhatsApp + GPT)
高级多代理AI个人助手(250+任务能力,WhatsApp + GPT)
Set
Switch
Whats App
+26
213 节点Electrabot
个人效率
使用WhatsApp Gemini/GPT驱动的AI助手管理Google日历和Gmail
WhatsApp AI助手,用于Google日历和Gmail管理,支持Gemini/GPT
Set
Whats App
Gmail Tool
+7
22 节点Praneel S
客服机器人
AI销售代理:WhatsApp和网站销售代理(RAG)
AI销售代理:WhatsApp和网站销售代理(RAG)
Set
Switch
Postgres
+20
69 节点Vansh Arora
美甲沙龙(美国)
使用WhatsApp、GPT和Google日历自动化沙龙预约管理
If
Set
Code
+20
164 节点Denis
客户支持