{
  "meta": {
    "instanceId": "31645fe974a636f0f842088a1a2b47fcb85d774386add7f76f469cfce7c26489"
  },
  "nodes": [
    {
      "id": "602fdc41-712e-416b-a710-d017d9b37961",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        -96,
        288
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-2.5-pro"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "credential-id",
          "name": "googlePalmApi Credential"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e3168a9e-7f96-4f70-b456-e4b1daa4aad4",
      "name": "Simple Memory",
      "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 Trigger",
      "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": "Send message",
      "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": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        32,
        0
      ],
      "parameters": {
        "height": 208,
        "content": "## Whatsapp Trigger \n"
      },
      "typeVersion": 1
    },
    {
      "id": "7c5fa4cd-4acf-4eff-b24e-e4afacb538b2",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        896,
        -32
      ],
      "parameters": {
        "height": 240,
        "content": "## Receive Message from Whatsapp \n"
      },
      "typeVersion": 1
    },
    {
      "id": "3d6ce86d-7e1b-443b-ab30-74ebe1fc6a88",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -144,
        224
      ],
      "parameters": {
        "height": 208,
        "content": "## Chatbot Model \n"
      },
      "typeVersion": 1
    },
    {
      "id": "454953d2-884c-4744-b24e-5a0f4d3a3d91",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -736,
        -80
      ],
      "parameters": {
        "color": 5,
        "width": 560,
        "height": 1056,
        "content": "# 🤖 WhatsApp AI Assistant with Email & Calendar Agents\nThis workflow transforms your WhatsApp into a powerful AI assistant. It uses a central Manager Agent that intelligently delegates tasks to specialized sub-agents for handling your email and calendar, or for general conversation.\n\n## 📝 Core Functions\nIntelligent Task Routing: The main Manager Agent analyzes your request and passes it to the correct specialized tool (Email, Calendar, or Chatbot).\n\n### Full Email Management:\n- Send, reply to, and draft emails.\n- Search your inbox.\n- Apply labels and mark emails as unread.\n### Complete Calendar Control:\n- Create events (with or without attendees).\n- View, update, and delete events.\n- Check your availability.\n### Conversational Chat:\nA dedicated chatbot model handles general questions and conversation.\n\n## 🛠️ Setup Instructions\n### To get this workflow running, you need to configure credentials for each service:\n\n**WhatsApp Nodes:** Configure the Whatsapp Trigger and Send Message nodes with your WhatsApp Business API credentials.\n\n**Google Gemini Models:** Add your Google AI API Key to all the Google Gemini nodes in the Chatbot, Email, and Calendar tools.\n\n**Email Tool (Gmail):** Authenticate your Google Account (OAuth2) for all the Gmail nodes inside the Email Tool.\n\n**Calendar Tool (Google Calendar):** Authenticate your Google Account (OAuth2) for all the Google Calendar nodes inside the Calendar Tool.\n\n## 🚀 How to Use\n- Activate the workflow.\n- Send a message to the connected WhatsApp number with your request.\n- The Manager Agent will understand your intent and use the right tool to respond."
      },
      "typeVersion": 1
    },
    {
      "id": "41ce875c-37e7-4951-9cfa-f42ea3b7d30c",
      "name": "email_agent",
      "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": "Send Email",
      "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": "credential-id",
          "name": "gmailOAuth2 Credential"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "50d8ade9-dac7-4ccc-a8ae-6615286fb08d",
      "name": "Create Draft",
      "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": "credential-id",
          "name": "gmailOAuth2 Credential"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "e24ae5b1-43e1-4f32-97e0-52427b5342af",
      "name": "Email Reply",
      "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": "credential-id",
          "name": "gmailOAuth2 Credential"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "7d4e96f1-3a10-4dc3-b2ea-ee0e2dd0f799",
      "name": "Get Labels",
      "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": "credential-id",
          "name": "gmailOAuth2 Credential"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "77845634-4ff5-4ad2-9594-ab79c927a8b8",
      "name": "Label Emails",
      "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": "credential-id",
          "name": "gmailOAuth2 Credential"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "b3fd8367-720d-4fe5-9ee0-85f7514fa8bd",
      "name": "Mark Unread",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        384,
        720
      ],
      "webhookId": "69904b8b-8728-4dd4-ac79-0fe57a3f85a8",
      "parameters": {
        "messageId": "={{ $fromAI(\"messageID\") }}",
        "operation": "markAsUnread"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "credential-id",
          "name": "gmailOAuth2 Credential"
        }
      },
      "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": "credential-id",
          "name": "gmailOAuth2 Credential"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "3512e751-be49-4838-8fb7-b6aa4de24330",
      "name": "Window Buffer Memory2",
      "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 Chat Model4",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        240,
        432
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "id": "credential-id",
          "name": "googlePalmApi Credential"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "505935dc-9a63-4a60-bf67-a4e7287590b1",
      "name": "calendar_agent",
      "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": "Get all event",
      "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": "user@example.com",
          "cachedResultName": "user@example.com"
        },
        "operation": "getAll",
        "returnAll": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Return_All', ``, 'boolean') }}"
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "credential-id",
          "name": "googleCalendarOAuth2Api Credential"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "7288051d-f09d-4cf0-98a9-6f4e86eecc71",
      "name": "Delete event",
      "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": "user@example.com",
          "cachedResultName": "user@example.com"
        },
        "operation": "delete"
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "credential-id",
          "name": "googleCalendarOAuth2Api Credential"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "20376235-d0ac-4837-8532-97f228e8bceb",
      "name": "Get a single event",
      "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": "user@example.com",
          "cachedResultName": "user@example.com"
        },
        "operation": "get"
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "credential-id",
          "name": "googleCalendarOAuth2Api Credential"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "59e9d5f2-fe2e-4056-a926-92db4b4ea7bd",
      "name": "Update event",
      "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": "user@example.com",
          "cachedResultName": "user@example.com"
        },
        "operation": "update",
        "updateFields": {},
        "useDefaultReminders": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Use_Default_Reminders', ``, 'boolean') }}"
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "credential-id",
          "name": "googleCalendarOAuth2Api Credential"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "94212cf3-b885-4531-b4a6-91267e0a887d",
      "name": "Availablity operation agent",
      "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": "user@example.com",
          "cachedResultName": "user@example.com"
        },
        "resource": "calendar"
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "credential-id",
          "name": "googleCalendarOAuth2Api Credential"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "a841c406-4f77-4bb0-8775-ef47e0f5a643",
      "name": "Create Event with attendee",
      "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": "user@example.com",
          "cachedResultName": "user@example.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": "credential-id",
          "name": "googleCalendarOAuth2Api Credential"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "7cc58558-0ccb-42fc-905e-426b4adc62e2",
      "name": "Create Event without attendee",
      "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": "user@example.com",
          "cachedResultName": "user@example.com"
        },
        "additionalFields": {
          "summary": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Summary', ``, 'string') }}",
          "attendees": [],
          "description": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Description', ``, 'string') }}"
        }
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "credential-id",
          "name": "googleCalendarOAuth2Api Credential"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "5b576fd8-4885-44c0-857e-4461cfba99d8",
      "name": "Google Gemini Chat Model5",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        816,
        448
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "id": "credential-id",
          "name": "googlePalmApi Credential"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e495bfed-8ee7-4b4c-aef4-fded0a80d9ad",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        144,
        240
      ],
      "parameters": {
        "width": 512,
        "height": 640,
        "content": "## Email Tool \n"
      },
      "typeVersion": 1
    },
    {
      "id": "ba832dee-7883-4490-831c-17f9079a24a5",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        720,
        240
      ],
      "parameters": {
        "width": 512,
        "height": 640,
        "content": "## Calendar Tool"
      },
      "typeVersion": 1
    },
    {
      "id": "e9b91d30-5de0-4091-be78-810d4f338cad",
      "name": "Personal Agent",
      "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
          }
        ]
      ]
    }
  }
}