Workflow: Telegram GoogleCalendar Automation

Workflow Details

Download Workflow
{
    "id": "SvYHgLmzosuLAe4A",
    "meta": {
        "instanceId": "a4bfc93e975ca233ac45ed7c9227d84cf5a2329310525917adaf3312e10d5462",
        "templateCredsSetupCompleted": true
    },
    "name": "Google Calendar Event Reminder",
    "tags": [],
    "nodes": [
        {
            "id": "dff5d952-23cb-4822-9aec-0dcae3de568a",
            "name": "Schedule Trigger",
            "type": "n8n-nodes-base.scheduleTrigger",
            "disabled": true,
            "position": [
                -40,
                300
            ],
            "parameters": {
                "rule": {
                    "interval": [
                        {
                            "field": "minutes",
                            "minutesInterval": 1
                        }
                    ]
                }
            },
            "typeVersion": 1.1999999999999999555910790149937383830547332763671875
        },
        {
            "id": "a6de9944-1dd7-430e-a1d9-100710ddfa9c",
            "name": "OpenAI Chat Model",
            "type": "@n8n\/n8n-nodes-langchain.lmChatOpenAi",
            "position": [
                700,
                500
            ],
            "parameters": {
                "model": {
                    "__rl": true,
                    "mode": "list",
                    "value": "gpt-4o-mini"
                },
                "options": []
            },
            "credentials": {
                "openAiApi": {
                    "id": "CDX6QM4gLYanh0P4",
                    "name": "OpenAi account"
                }
            },
            "typeVersion": 1.1999999999999999555910790149937383830547332763671875
        },
        {
            "id": "6d2208a6-6000-4b6b-a82c-e346b7885409",
            "name": "Get upcoming event",
            "type": "n8n-nodes-base.googleCalendar",
            "position": [
                240,
                300
            ],
            "parameters": {
                "limit": 5,
                "options": [],
                "timeMax": "={{ $now.plus({ hour: 1, minute:1 }) }}",
                "timeMin": "={{ $now.plus({ hour: 1 }) }}",
                "calendar": {
                    "__rl": true,
                    "mode": "list",
                    "value": "davide.boizza@gmail.com",
                    "cachedResultName": "davide.boizza@gmail.com"
                },
                "operation": "getAll"
            },
            "credentials": {
                "googleCalendarOAuth2Api": {
                    "id": "8RFK3u13g2PJEGa9",
                    "name": "Google Calendar account"
                }
            },
            "typeVersion": 1.3000000000000000444089209850062616169452667236328125
        },
        {
            "id": "e6f6e744-60b0-4b22-93bc-f3ffcfac71f6",
            "name": "Already sent?",
            "type": "n8n-nodes-base.removeDuplicates",
            "position": [
                480,
                300
            ],
            "parameters": {
                "options": [],
                "operation": "removeItemsSeenInPreviousExecutions",
                "dedupeValue": "={{ $json.id }}"
            },
            "typeVersion": 2
        },
        {
            "id": "882d08f5-790a-40bb-bda5-60744d587633",
            "name": "Secretary Agent",
            "type": "@n8n\/n8n-nodes-langchain.agent",
            "position": [
                720,
                300
            ],
            "parameters": {
                "text": "=These are the details of the event\/appointment:\n\nEvent Name: {{ $('Get upcoming event').item.json.summary }}\nDescription: {{ $('Get upcoming event').item.json.description }}\nLocation: {{ $('Get upcoming event').item.json.location }}\nStart: {{ $('Get upcoming event').item.json.start.dateTime }}\nEnd: {{ $('Get upcoming event').item.json.end.dateTime }}\nCreated by: {{ $('Get upcoming event').item.json.creator.email }}",
                "options": {
                    "systemMessage": "=## Core Identity\nYou are a professional and friendly virtual secretary, dedicated to reminder appointments with efficiency and a warm personal touch.\n\n## Communication Style\n- Communicate in a conversational, approachable manner\n- Maintain a balance between professional competence and friendly rapport\n- Use a tone that is informal yet precise\n- Inject occasional light humor and personality into interactions\n\n## Key Responsibilities\n1. Calendar Management\n   - Provide timely reminders and scheduling updates\n\n2. Communication Approach\n   - Respond promptly and clearly\n   - Maintain confidentiality and discretion\n\n## Interaction Guidelines\n- Use a friendly, conversational tone\n- Just describe the details of the event without asking questions\n\n## Tone and Language\n- Warm and approachable\n- Professional but not overly formal\n- Direct and clear in communication\n- Use simple, straightforward language\n- Show genuine care and attentiveness\n\nRemember: Your primary goal is to make the user's life easier, more organized, and less stressful through efficient and friendly administrative support."
                },
                "promptType": "define",
                "hasOutputParser": true
            },
            "typeVersion": 1.8000000000000000444089209850062616169452667236328125
        },
        {
            "id": "82509a0f-9086-423e-8928-f882e59333b8",
            "name": "Send reminder",
            "type": "n8n-nodes-base.telegram",
            "position": [
                1100,
                300
            ],
            "webhookId": "dbb6a96e-db3b-4827-9455-a91007b89616",
            "parameters": {
                "text": "={{ $json.output }}",
                "chatId": "CHAT_ID",
                "additionalFields": {
                    "appendAttribution": false
                }
            },
            "credentials": {
                "telegramApi": {
                    "id": "0hSq9VwaiJifiscT",
                    "name": "Telegram account"
                }
            },
            "typeVersion": 1.1999999999999999555910790149937383830547332763671875
        },
        {
            "id": "d08dd565-4718-4fbc-af7c-7a2e042c96f8",
            "name": "Sticky Note",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                -40,
                -140
            ],
            "parameters": {
                "color": 3,
                "width": 620,
                "content": "## Google Calendar Event Reminder\nThis smart **Google Calendar** workflow fixes that by sending you a clear, friendly reminder exactly **1 hour before your event starts**\u2014delivered through **Telegram** as if a personal assistant were looking out for you. Powered by **AI**, it transforms cold calendar alerts into warm, conversational nudges you won't ignore."
            },
            "typeVersion": 1
        },
        {
            "id": "7a9379ca-f301-40b9-ae90-742663bbcdf2",
            "name": "Sticky Note1",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                -40,
                40
            ],
            "parameters": {
                "width": 620,
                "height": 140,
                "content": "## STEP 1\n- In the \"Get upcoming event\" node enter how much time before the event starts you want to be notified. It is currently set to 1 hour\n- In the Telegram node replace CHAT_ID with that of your personal Bot"
            },
            "typeVersion": 1
        },
        {
            "id": "d7852912-6501-4a1b-8928-6eb890e4aea8",
            "name": "Sticky Note2",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                420,
                240
            ],
            "parameters": {
                "width": 220,
                "height": 200,
                "content": "Prevent multiple reminders for the same event"
            },
            "typeVersion": 1
        }
    ],
    "active": false,
    "pinData": [],
    "settings": {
        "timezone": "Europe\/Rome",
        "callerPolicy": "workflowsFromSameOwner",
        "executionOrder": "v1"
    },
    "versionId": "d0dd74db-e96c-4a09-a8d1-6fb193b6e015",
    "connections": {
        "Already sent?": {
            "main": [
                [
                    {
                        "node": "Secretary Agent",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Secretary Agent": {
            "main": [
                [
                    {
                        "node": "Send reminder",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Schedule Trigger": {
            "main": [
                [
                    {
                        "node": "Get upcoming event",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "OpenAI Chat Model": {
            "ai_languageModel": [
                [
                    {
                        "node": "Secretary Agent",
                        "type": "ai_languageModel",
                        "index": 0
                    }
                ]
            ]
        },
        "Get upcoming event": {
            "main": [
                [
                    {
                        "node": "Already sent?",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
Back to Workflows

Related Workflows

Manual HTTP Create Webhook
View
Complete Youtube
View
Coffee Bot (Mattermost)
View
Manual Mongodb Automate Triggered
View
INSEE Enrichment for Agile CRM
View
Adaptive RAG
View
HTTP Telegram Create Webhook
View
Luma AI - Webhook Response v1 - AK
View
Executecommand Functionitem Automate
View
Summarize YouTube Videos & Chat About Content with GPT-4o-mini via Telegram
View