Workflow: Schedule Telegram Send

Workflow Details

Download Workflow
{
    "id": "nV1xFcF5HWJcD6w7",
    "meta": {
        "instanceId": "b1be0f8fadff87de92fbcd08be474fb794e544ef8a62dd9c586c9914a3836990"
    },
    "name": "Automatically Send Daily Meeting List to Telegram",
    "tags": [
        {
            "id": "THCdGkSMWvR7AzSR",
            "name": "Template",
            "createdAt": "2024-02-28T08:32:57.511Z",
            "updatedAt": "2024-02-28T08:32:57.511Z"
        },
        {
            "id": "ro6MmCu2eov1eWfR",
            "name": "Creators",
            "createdAt": "2024-03-01T11:11:36.214Z",
            "updatedAt": "2024-03-01T11:11:36.214Z"
        }
    ],
    "nodes": [
        {
            "id": "eee04fe7-7f65-4db8-8ad8-7b67197a1f70",
            "name": "Get meetings for today",
            "type": "n8n-nodes-base.googleCalendar",
            "position": [
                1240,
                580
            ],
            "parameters": {
                "options": {
                    "timeMax": "={{ $today.plus({ days: 1 }) }}",
                    "timeMin": "={{ $today }}",
                    "singleEvents": true
                },
                "calendar": {
                    "__rl": true,
                    "mode": "list",
                    "value": "lrnr6ha3nt9cv8i0fimup684e4@group.calendar.google.com",
                    "cachedResultName": "Meeting Room"
                },
                "operation": "getAll"
            },
            "credentials": {
                "googleCalendarOAuth2Api": {
                    "id": "BSvdyVkCIqvVagsr",
                    "name": "Google Calendar account"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "358ab462-d69f-4980-99fd-de5a22a3c783",
            "name": "Every morning @ 6",
            "type": "n8n-nodes-base.scheduleTrigger",
            "position": [
                940,
                580
            ],
            "parameters": {
                "rule": {
                    "interval": [
                        {
                            "triggerAtHour": 6
                        }
                    ]
                }
            },
            "typeVersion": 1.100000000000000088817841970012523233890533447265625
        },
        {
            "id": "57f77b4e-d608-4929-bc49-2dfecff88c8d",
            "name": "Set",
            "type": "n8n-nodes-base.set",
            "position": [
                1520,
                580
            ],
            "parameters": {
                "values": {
                    "number": [],
                    "string": [
                        {
                            "name": "Name",
                            "value": "={{ $json.summary }}"
                        },
                        {
                            "name": "Time",
                            "value": "={{ $json.start }}"
                        },
                        {
                            "name": "Guests",
                            "value": "={{ $json.attendees }}"
                        }
                    ]
                },
                "options": [],
                "keepOnlySet": true
            },
            "typeVersion": 1
        },
        {
            "id": "6bcde2e8-46f6-46aa-b2f2-0e2670a9ce66",
            "name": "Function",
            "type": "n8n-nodes-base.function",
            "position": [
                1780,
                580
            ],
            "parameters": {
                "functionCode": "let message = \"*Your meetings today are:* \\n\";\n\nfor (item of items) {\n  const time = new Date(item.json.Time.dateTime);\n  const formattedTime = new Intl.DateTimeFormat('fa-IR', {\n    hour: 'numeric',\n    minute: 'numeric',\n    timeZone: item.json.Time.timeZone\n  }).format(time);\n\n  message += `* ${item.json.Name} | ${formattedTime}\\n`;\n\n  if (item.json.Guests && item.json.Guests.length > 0) {\n    message += '*\u00c2&nbsp;- ';\n    item.json.Guests.forEach((guest, index) => {\n      message += `${guest.email}${index < item.json.Guests.length - 1 ? ', ' : ''}`;\n    });\n    message += '\\n';\n  } else {\n    message += '*\u00c2&nbsp;- No guests\\n';\n  }\n}\n\nreturn [{ json: { message } }];\n"
            },
            "typeVersion": 1
        },
        {
            "id": "568c4efd-a4d4-4309-ab3e-c15c955ce361",
            "name": "Telegram",
            "type": "n8n-nodes-base.telegram",
            "position": [
                2120,
                580
            ],
            "parameters": {
                "text": "={{$json[\"message\"]}}",
                "additionalFields": []
            },
            "typeVersion": 1.100000000000000088817841970012523233890533447265625
        },
        {
            "id": "9f2b0543-9f3f-43e2-a7ea-e77ce1430985",
            "name": "Sticky Note",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                800,
                232
            ],
            "parameters": {
                "color": 7,
                "width": 1527.817454565021080270525999367237091064453125,
                "height": 658.152883570997119022649712860584259033203125,
                "content": "## This workflow \nprovides a convenient and automated way to stay on top of your daily meetings and improve your personal productivity.\n\n\n"
            },
            "typeVersion": 1
        },
        {
            "id": "41d85383-ccca-42f6-b9a1-d18e14ab3e32",
            "name": "Sticky Note1",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                2031.70983624164773573284037411212921142578125,
                431.965817024714169747312553226947784423828125
            ],
            "parameters": {
                "color": 5,
                "width": 268.2901637583532874486991204321384429931640625,
                "height": 315.78418093363069374390761367976665496826171875,
                "content": "### Create a Telegram bot in @botfather\nUses your Telegram user ID to send the list of meetings as a message to Telegram."
            },
            "typeVersion": 1
        },
        {
            "id": "254dccf8-a366-4cdc-84ca-987eca928ed6",
            "name": "Sticky Note2",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                820,
                340
            ],
            "parameters": {
                "width": 430.67274934330549740479909814894199371337890625,
                "height": 151.605602230169068889154004864394664764404296875,
                "content": "## setup:\n###    - Google Calendar connected to n8n\n###    - A Telegram bot created and connected to n8n\n###    - Your Telegram user ID specified"
            },
            "typeVersion": 1
        }
    ],
    "active": false,
    "pinData": [],
    "settings": {
        "timezone": "Asia\/Tehran",
        "callerPolicy": "workflowsFromSameOwner",
        "executionOrder": "v1",
        "saveManualExecutions": true
    },
    "versionId": "9dc21ef6-2b7d-4c80-9c03-0d636ab6f0d1",
    "connections": {
        "Set": {
            "main": [
                [
                    {
                        "node": "Function",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Function": {
            "main": [
                [
                    {
                        "node": "Telegram",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Every morning @ 6": {
            "main": [
                [
                    {
                        "node": "Get meetings for today",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get meetings for today": {
            "main": [
                [
                    {
                        "node": "Set",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
Back to Workflows

Related Workflows

Post New YouTube Videos to X
View
Twitter notifications
View
Hacker News to Video Template - AlexK1919
View
Manual Ftp Automation Webhook
View
Filter Manual Send Triggered
View
Get only new RSS with Photo
View
HTTP GitHub Create Webhook
View
Personalized AI Tech Newsletter Using RSS, OpenAI and Gmail
View
YogiAI
View
Speech Support Workflow
View