Workflow n8n

Automatisation Google Calendar avec n8n : envoi quotidien sur Telegram

  • Ce workflow n8n a pour objectif d'automatiser l'envoi quotidien de la liste des réunions programmées dans Google Calendar vers Telegram. Idéal pour les équipes qui souhaitent rester informées des événements à venir, cette automatisation permet de gagner du temps et d'éviter les oublis. En intégrant Google Calendar et Telegram, les utilisateurs peuvent recevoir des notifications directement sur leur application de messagerie préférée, facilitant ainsi la gestion de leur emploi du temps.
  • Le déroulé du workflow commence par un déclencheur planifié, configuré pour s'exécuter chaque matin à 6 heures. Ensuite, le nœud 'Get meetings for today' interroge Google Calendar pour récupérer toutes les réunions programmées pour la journée. Les informations obtenues sont ensuite traitées par un nœud 'Set' qui prépare le message à envoyer. Un nœud 'Function' peut être utilisé pour personnaliser le contenu du message, avant que le nœud 'Telegram' n'envoie le texte formaté à un canal ou un utilisateur spécifique. Ce processus est soutenu par des nœuds supplémentaires de 'Sticky Note' qui peuvent être utilisés pour des annotations visuelles ou des rappels.
  • Les bénéfices de cette automatisation sont multiples : elle réduit le risque d'oubli de réunions, améliore la communication au sein des équipes et permet une meilleure organisation quotidienne. En intégrant ce workflow, les entreprises peuvent optimiser leur gestion du temps et renforcer leur efficacité opérationnelle.
Tags clés :automatisationGoogle CalendarTelegramn8nproductivité
Catégorie: Scheduled · Tags: automatisation, Google Calendar, Telegram, n8n, productivité0

Workflow n8n Google Calendar, Telegram, productivité : vue d'ensemble

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Workflow n8n Google Calendar, Telegram, productivité : détail des nœuds

  • Get meetings for today

    Ce noeud récupère les réunions prévues pour aujourd'hui à partir de Google Calendar.

  • Every morning @ 6

    Ce noeud déclenche le workflow tous les matins à 6 heures.

  • Set

    Ce noeud permet de définir des valeurs spécifiques à utiliser dans le workflow.

  • Function

    Ce noeud exécute un code JavaScript personnalisé pour traiter des données.

  • Telegram

    Ce noeud envoie un message via Telegram avec le texte spécifié.

  • Sticky Note

    Ce noeud crée une note autocollante avec des paramètres de couleur, de taille et de contenu.

  • Sticky Note1

    Ce noeud crée une autre note autocollante avec des spécifications de couleur, de taille et de contenu.

  • Sticky Note2

    Ce noeud génère une note autocollante en définissant sa taille et son contenu.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "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.1
    },
    {
      "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 += '*Â&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 += '*Â&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.1
    },
    {
      "id": "9f2b0543-9f3f-43e2-a7ea-e77ce1430985",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        232
      ],
      "parameters": {
        "color": 7,
        "width": 1527.817454565021,
        "height": 658.1528835709971,
        "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.7098362416477,
        431.96581702471417
      ],
      "parameters": {
        "color": 5,
        "width": 268.2901637583533,
        "height": 315.7841809336307,
        "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.6727493433055,
        "height": 151.60560223016907,
        "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
          }
        ]
      ]
    }
  }
}

Workflow n8n Google Calendar, Telegram, productivité : pour qui est ce workflow ?

Ce workflow s'adresse aux équipes professionnelles, aux gestionnaires de projet et aux entreprises qui utilisent Google Calendar et Telegram pour la communication. Il est conçu pour des utilisateurs ayant un niveau technique intermédiaire, cherchant à automatiser leurs processus quotidiens.

Workflow n8n Google Calendar, Telegram, productivité : problème résolu

Ce workflow résout le problème de la gestion des réunions en automatisant l'envoi des notifications. Les utilisateurs n'ont plus à se souvenir de vérifier leur calendrier chaque matin, ce qui réduit le stress et les oublis. Grâce à cette automatisation, ils reçoivent directement sur Telegram un rappel de leurs réunions, ce qui améliore la ponctualité et l'organisation.

Workflow n8n Google Calendar, Telegram, productivité : étapes du workflow

Étape 1 : Le déclencheur planifié 'Every morning @ 6' active le workflow chaque matin.

  • Étape 1 : Le nœud 'Get meetings for today' récupère les réunions du jour depuis Google Calendar.
  • Étape 2 : Les données sont traitées par le nœud 'Set' pour préparer le message.
  • Étape 3 : Un nœud 'Function' permet de personnaliser le contenu du message.
  • Étape 4 : Le nœud 'Telegram' envoie le message formaté à l'utilisateur ou au canal choisi.
  • Étape 5 : Des nœuds 'Sticky Note' peuvent être utilisés pour ajouter des rappels visuels si nécessaire.

Workflow n8n Google Calendar, Telegram, productivité : guide de personnalisation

Pour personnaliser ce workflow, vous pouvez modifier l'URL de webhook dans le nœud Telegram pour l'adapter à votre compte. Vous pouvez également ajuster les paramètres du nœud 'Get meetings for today' pour filtrer les réunions selon vos besoins. Si vous souhaitez ajouter d'autres notifications ou annotations, vous pouvez intégrer des nœuds 'Sticky Note' supplémentaires. Assurez-vous de tester le flux pour garantir que les messages sont envoyés correctement et que les informations sont à jour.