AutomationFlowsAI & RAG › Bowner Test

Bowner Test

41-BOwner_Test. Uses telegramTrigger, lmChatOpenAi, agent, googleCalendarTool. Event-driven trigger; 8 nodes.

Event trigger★★★☆☆ complexityAI-powered8 nodesTelegram TriggerOpenAI ChatAgentGoogle Calendar ToolTelegramGoogle Sheets ToolGmail ToolMemory Buffer Window
AI & RAG Trigger: Event Nodes: 8 Complexity: ★★★☆☆ AI nodes: yes Added:

This workflow follows the Agent → Gmail Tool recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "41-BOwner_Test",
  "nodes": [
    {
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "type": "n8n-nodes-base.telegramTrigger",
      "typeVersion": 1.2,
      "position": [
        -544,
        -96
      ],
      "id": "9a3ce28d-ec0d-4866-b135-0d717125944c",
      "name": "Telegram Trigger",
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "value": "gpt-5-mini",
          "mode": "list",
          "cachedResultName": "gpt-5-mini"
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.2,
      "position": [
        -544,
        112
      ],
      "id": "0c3749d8-bbb6-421a-8db7-614291f71701",
      "name": "OpenAI Chat Model",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "={{ $json.message.text }}",
        "options": {
          "systemMessage": "=# Meeting Scheduler Bot (no employee availability check)\n\nCoordinate 1-to-1 meetings between the Business Owner and a single employee: collect any missing details, **(optionally) check the owner\u2019s calendar for conflicts**, confirm with the owner on Telegram, then **create the event** and notify the employee by email.\n\n## Context\n- User: Business Owner (Telegram).  Employees sheet: **Role | Name | Number | Email**.\n- Tone: friendly; Language: English.  Default duration: **1 hour**.\n- Timezone: use owner\u2019s; else **America/Denver** (PC).\n- Organizer: the Google Calendar node\u2019s account (owner email not added to attendees).\n\n## Responsibilities\n1) Parse request \u2192 if fields missing, ask **one compact question**.  \n2) Get employee email from Google Sheets by **Name**.  \n3) (If available) conflict-check owner calendar for `{start,end,timezone}`.  \n4) Show final summary \u2192 wait **Confirm / Edit / Cancel**.  \n5) After **Confirm**, create the calendar event and email the employee; send Telegram confirmation to the owner.  \n6) Reset memory when done/cancelled.\n\n## Required Fields\nEmployee name; Date & time (with timezone); Duration (default 1h); Location (`office` or `video`); Title/agenda; Extra participants (optional emails).  \nIf `video`, obtain the **meeting link from Google Calendar** (conference data) and include it.\n\n## Tools\n- **Employees Info (Sheets\u2014read):** lookup by Name \u2192 `{name,email,role,number}`.  \n- **Owner Calendar (Calendar\u2014getMany events):** inputs `{start,end,timezone}`; conflict if `(event.start < end) AND (event.end > start)` and not cancelled.  \n- **Create Event (Calendar\u2014create):** inputs `title,start,end,timezone,location/link,description,attendees:[employeeEmail,...extras]`; enable conference data; returns `eventLink` and `meetingLink`.  \n- **Employee_Not (Gmail\u2014send):** send final meeting details to employee.  \n- **Telegram (send message):** prompts/summaries/confirmation.  \n- **Simple Memory:** session state with the memory key above.\n\n## Telegram Output (Markdown)\n"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 2.1,
      "position": [
        -320,
        -96
      ],
      "id": "eae04998-2618-4502-810f-13b29afdd9d3",
      "name": "GPT-5"
    },
    {
      "parameters": {
        "calendar": {
          "__rl": true,
          "value": "mramdanelshamy@gmail.com",
          "mode": "list",
          "cachedResultName": "mramdanelshamy@gmail.com"
        },
        "start": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Start', ``, 'string') }}",
        "end": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('End', ``, 'string') }}",
        "additionalFields": {
          "attendees": [
            "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('attendees0_Attendees', ``, 'string') }}"
          ],
          "description": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Description', ``, 'string') }}",
          "summary": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Summary', ``, 'string') }}"
        }
      },
      "type": "n8n-nodes-base.googleCalendarTool",
      "typeVersion": 1.3,
      "position": [
        144,
        112
      ],
      "id": "6a0af123-c5f3-44d8-b5c8-b5de1f619316",
      "name": "Create an event in Google Calendar",
      "credentials": {
        "googleCalendarOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "text": "={{ $json.output }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        128,
        -112
      ],
      "id": "75db8409-c546-408a-9b1c-3daded74962d",
      "name": "Send a text message",
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "documentId": {
          "__rl": true,
          "value": "1Hj4lk11wLPATXC33WFrIhGWwCWRGqzQUyFcus3k_SHI",
          "mode": "list",
          "cachedResultName": "Database",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Hj4lk11wLPATXC33WFrIhGWwCWRGqzQUyFcus3k_SHI/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": "gid=0",
          "mode": "list",
          "cachedResultName": "Sheet1",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Hj4lk11wLPATXC33WFrIhGWwCWRGqzQUyFcus3k_SHI/edit#gid=0"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheetsTool",
      "typeVersion": 4.6,
      "position": [
        -192,
        144
      ],
      "id": "12286178-bd0e-4e54-8818-ef2dd89b2f82",
      "name": "Employees Info",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "sendTo": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('To', ``, 'string') }}",
        "subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}",
        "emailType": "text",
        "message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
        "options": {
          "appendAttribution": false
        }
      },
      "type": "n8n-nodes-base.gmailTool",
      "typeVersion": 2.1,
      "position": [
        -32,
        144
      ],
      "id": "b0a3e8ef-37c5-41cc-ae78-171d8ac2d430",
      "name": "Employee_Not",
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "sessionIdType": "customKey",
        "sessionKey": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "contextWindowLength": 500
      },
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "typeVersion": 1.3,
      "position": [
        -368,
        128
      ],
      "id": "eee299f4-0e6e-474d-b0ed-10426a99c0f5",
      "name": "Simple Memory"
    }
  ],
  "connections": {
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "GPT-5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "GPT-5",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Create an event in Google Calendar": {
      "ai_tool": [
        [
          {
            "node": "GPT-5",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "GPT-5": {
      "main": [
        [
          {
            "node": "Send a text message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Employees Info": {
      "ai_tool": [
        [
          {
            "node": "GPT-5",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Employee_Not": {
      "ai_tool": [
        [
          {
            "node": "GPT-5",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "GPT-5",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "45531081-e8e2-4e9f-80b6-aab6ff25ab5b",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "QFq0moOz2HXL9uiv",
  "tags": []
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

41-BOwner_Test. Uses telegramTrigger, lmChatOpenAi, agent, googleCalendarTool. Event-driven trigger; 8 nodes.

Source: https://github.com/MohElshamy1994/n8n-course-Projetcs/blob/f37fce8a58c6e943ea6021f17a9768c72abc71fa/workflows/41_BusinessOwnerGPT5/41-BOwner_GPT5.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Send a text or voice message to a Telegram bot and it books, reschedules, or cancels Google Calendar events for you. It resolves attendee names to email addresses, attaches a Meet link, and drafts a G

Google Calendar Tool, Telegram Trigger, G Suite Admin Tool +7
AI & RAG

Meet Troy, your intelligent personal assistant that seamlessly manages your Google Calendar and Tasks through Telegram. This workflow combines AI-powered natural language processing with MCP (Model Co

Mcp Trigger, Google Calendar Tool, Google Tasks Tool +7
AI & RAG

This workflow turns a Telegram bot into a fitness and nutrition coach powered by Anthropic Claude, with voice-note transcription via OpenAI, user data stored in Google Sheets, and optional workout sch

Telegram Trigger, Telegram, OpenAI +5
AI & RAG

How it works: This project teaches you to create a personal AI assistant named Jackie that operates through Telegram. Jackie can summarize unread emails, check calendar events, manage Google Tasks, an

Google Calendar Tool, Memory Buffer Window, Gmail Tool +6
AI & RAG

This workflow turns a Telegram bot into a simple Notion To-Do assistant.

Google Calendar Tool, Memory Buffer Window, Gmail Tool +6