AutomationFlowsSlack & Telegram › Automate Meeting Scheduling Through Telegram with Google Calendar & Notion CRM

Automate Meeting Scheduling Through Telegram with Google Calendar & Notion CRM

ByShelly-Ann Davy @SheCodesFlow on n8n.io

The Graceful Scheduler Bot transforms scheduling into an elegant, automated process. Clients and affiliates simply send a message in Telegram, and the workflow manages everything: conflict checks, calendar booking, confirmations, CRM logging, and reminders. ✨ 📲 Telegram Intake:…

Event trigger★★★★☆ complexity19 nodesHTTP RequestEmail SendTelegram
Slack & Telegram Trigger: Event Nodes: 19 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #8593 — we link there as the canonical source.

This workflow follows the Emailsend → HTTP Request 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
{
  "meta": {
    "templateCreatedBy": {
      "id": "template-creator",
      "name": "n8n Template Creator"
    },
    "templateCredentials": [
      "notionApi",
      "smtp",
      "telegramApi"
    ]
  },
  "name": "Automate client nurture emails and testimonial collection from Notion",
  "tags": [],
  "nodes": [
    {
      "id": "sticky-overview",
      "name": "Setup Guide",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -700,
        20
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "sticky-config",
      "name": "Configuration Instructions",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -700,
        540
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "manual-trigger",
      "name": "Manual Trigger",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -300,
        300
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "schedule-trigger",
      "name": "Schedule Daily",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -300,
        420
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "settings",
      "name": "Settings",
      "type": "n8n-nodes-base.set",
      "position": [
        -60,
        360
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "get-date",
      "name": "Get Today Date",
      "type": "n8n-nodes-base.code",
      "position": [
        160,
        360
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "query-notion",
      "name": "Query Notion",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        380,
        360
      ],
      "parameters": {},
      "typeVersion": 4.1
    },
    {
      "id": "calculate",
      "name": "Calculate Days",
      "type": "n8n-nodes-base.code",
      "position": [
        600,
        360
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "if-day7",
      "name": "IF Day 7",
      "type": "n8n-nodes-base.if",
      "position": [
        820,
        260
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "if-day30",
      "name": "IF Day 30",
      "type": "n8n-nodes-base.if",
      "position": [
        820,
        360
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "if-day60",
      "name": "IF Day 60",
      "type": "n8n-nodes-base.if",
      "position": [
        820,
        460
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "email-day7",
      "name": "Email Day 7",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        1040,
        260
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "email-day30",
      "name": "Email Day 30",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        1040,
        360
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "email-day60",
      "name": "Email Day 60",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        1040,
        460
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "telegram-notify",
      "name": "Telegram Notify",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1260,
        360
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "webhook",
      "name": "Testimonial Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -300,
        640
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "parse-testimonial",
      "name": "Parse Testimonial",
      "type": "n8n-nodes-base.code",
      "position": [
        -60,
        640
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "telegram-testimonial",
      "name": "Notify Testimonial",
      "type": "n8n-nodes-base.telegram",
      "position": [
        160,
        640
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "respond",
      "name": "Respond",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        380,
        640
      ],
      "parameters": {},
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "connections": {
    "Respond": {
      "main": []
    },
    "IF Day 7": {
      "main": [
        [],
        [
          {
            "node": "Email Day 7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Settings": {
      "main": [
        [
          {
            "node": "Get Today Date",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF Day 30": {
      "main": [
        [],
        [
          {
            "node": "Email Day 30",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF Day 60": {
      "main": [
        [],
        [
          {
            "node": "Email Day 60",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email Day 7": {
      "main": [
        [
          {
            "node": "Telegram Notify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email Day 30": {
      "main": [
        [
          {
            "node": "Telegram Notify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email Day 60": {
      "main": [
        [
          {
            "node": "Telegram Notify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Query Notion": {
      "main": [
        [
          {
            "node": "Calculate Days",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculate Days": {
      "main": [
        [
          {
            "node": "IF Day 7",
            "type": "main",
            "index": 0
          },
          {
            "node": "IF Day 30",
            "type": "main",
            "index": 0
          },
          {
            "node": "IF Day 60",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Today Date": {
      "main": [
        [
          {
            "node": "Query Notion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Manual Trigger": {
      "main": [
        [
          {
            "node": "Settings",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Daily": {
      "main": [
        [
          {
            "node": "Settings",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Testimonial": {
      "main": [
        [
          {
            "node": "Notify Testimonial",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Notify Testimonial": {
      "main": [
        [
          {
            "node": "Respond",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Testimonial Webhook": {
      "main": [
        [
          {
            "node": "Parse Testimonial",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "triggerCount": 2
}
Pro

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

About this workflow

The Graceful Scheduler Bot transforms scheduling into an elegant, automated process. Clients and affiliates simply send a message in Telegram, and the workflow manages everything: conflict checks, calendar booking, confirmations, CRM logging, and reminders. ✨ 📲 Telegram Intake:…

Source: https://n8n.io/workflows/8593/ — original creator credit. Request a take-down →

More Slack & Telegram workflows → · Browse all categories →

Related workflows

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

Slack & Telegram

N8N Complete Final. Uses telegramTrigger, dataTable, telegram, mqtt. Event-driven trigger; 58 nodes.

Telegram Trigger, Data Table, Telegram +3
Slack & Telegram

TextMain. Uses telegramTrigger, stopAndError, telegram, httpRequest. Event-driven trigger; 56 nodes.

Telegram Trigger, Stop And Error, Telegram +2
Slack & Telegram

Pede Ai. Uses httpRequest, telegram, postgres, telegramTrigger. Event-driven trigger; 53 nodes.

HTTP Request, Telegram, Postgres +1
Slack & Telegram

📄 Documentation: Notion Guide

Telegram Trigger, @Blotato/N8N Nodes Blotato, Telegram +1
Slack & Telegram

qualiopi. Uses airtable, telegram, emailSend, httpRequest. Webhook trigger; 51 nodes.

Airtable, Telegram, Email Send +3