Workflow n8n

Automatisation Telegram avec n8n : envoi de notifications programmées

Ce workflow n8n a pour objectif d'automatiser l'envoi de notifications sur Telegram à des moments précis, facilitant ainsi la communication au sein des équipes ou avec des clients. Dans un contexte où la réactivité est cruciale, cette automatisation permet de s'assurer que les messages importants sont envoyés sans intervention manuelle, réduisant ainsi les risques d'oubli et améliorant la productivité. Le premier déclencheur est un Cron, qui permet de programmer l'exécution du workflow à des intervalles définis. Ensuite, le flux commence par un nœud 'On clicking execute' pour initier le processus manuellement si nécessaire. Le workflow utilise un nœud 'HTTP Request' pour récupérer des données d'une API, suivi d'un traitement des données binaires avec les nœuds 'Binary to json' et 'Json to binary' pour assurer la bonne conversion des formats. Les messages sont ensuite préparés et envoyés via le nœud 'Telegram', où l'utilisateur peut spécifier le texte et l'identifiant du chat. Enfin, un nœud 'Set new update time' permet de mettre à jour les horaires d'envoi, garantissant ainsi que les notifications sont toujours à jour. Cette automatisation n8n offre un gain de temps considérable et améliore la communication, ce qui est essentiel pour toute organisation cherchant à optimiser ses processus.

Tags clés :automatisationTelegramn8ncommunicationnotifications
Catégorie: Cron · Tags: automatisation, Telegram, n8n, communication, notifications0

Workflow n8n Telegram, communication, notifications : vue d'ensemble

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

Workflow n8n Telegram, communication, notifications : détail des nœuds

  • On clicking 'execute'

    Ce noeud déclenche manuellement l'exécution du workflow lorsque l'utilisateur clique sur 'exécuter'.

  • Write Binary File

    Ce noeud écrit un fichier binaire sur le système avec le nom spécifié.

  • Read Binary File

    Ce noeud lit un fichier binaire à partir du chemin spécifié.

  • HTTP Request

    Ce noeud effectue une requête HTTP vers l'URL fournie avec les options et paramètres spécifiés.

  • Telegram

    Ce noeud envoie un message texte à un chat Telegram identifié par son ID.

  • Binary to json

    Ce noeud convertit des données binaires en format JSON selon les options fournies.

  • Json to binary

    Ce noeud convertit des données JSON en format binaire selon le mode et les options spécifiés.

  • Set new update time

    Ce noeud exécute un code JavaScript pour mettre à jour le temps de mise à jour.

  • Split into baches

    Ce noeud exécute une fonction JavaScript pour diviser les données en plusieurs lots.

  • Cron

    Ce noeud déclenche le workflow à des intervalles réguliers selon la configuration de cron.

  • Config

    Ce noeud configure des valeurs et options spécifiques pour le workflow.

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

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "nodes": [
    {
      "name": "On clicking 'execute'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        340,
        380
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "name": "Write Binary File",
      "type": "n8n-nodes-base.writeBinaryFile",
      "position": [
        1680,
        280
      ],
      "parameters": {
        "fileName": "={{$node[\"Config\"].parameter[\"values\"][\"string\"][0][\"value\"]}}"
      },
      "typeVersion": 1
    },
    {
      "name": "Read Binary File",
      "type": "n8n-nodes-base.readBinaryFile",
      "position": [
        580,
        460
      ],
      "parameters": {
        "filePath": "={{$node[\"Config\"].parameter[\"values\"][\"string\"][0][\"value\"]}}"
      },
      "typeVersion": 1,
      "continueOnFail": true,
      "alwaysOutputData": true
    },
    {
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1020,
        460
      ],
      "parameters": {
        "url": "https://readwise.io/reader/api/state/",
        "options": {},
        "authentication": "headerAuth",
        "queryParametersUi": {
          "parameter": [
            {
              "name": "schemaVersion",
              "value": "5"
            },
            {
              "name": "filter[updated_at][gt]",
              "value": "={{$json[\"last_synced\"]}}"
            }
          ]
        },
        "headerParametersUi": {
          "parameter": []
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "10",
          "name": "Header Auth account"
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1480,
        460
      ],
      "parameters": {
        "text": "={{$json[\"title\"]}} by {{$json[\"author\"]}}\n\n{{$json[\"summary\"]}}\n\n{{$json[\"url\"]}}",
        "chatId": "={{$node[\"Config\"].parameter[\"values\"][\"number\"][0][\"value\"]}}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "2",
          "name": "my bot"
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Binary to json",
      "type": "n8n-nodes-base.moveBinaryData",
      "position": [
        800,
        460
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1,
      "alwaysOutputData": true
    },
    {
      "name": "Json to binary",
      "type": "n8n-nodes-base.moveBinaryData",
      "position": [
        1480,
        280
      ],
      "parameters": {
        "mode": "jsonToBinary",
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "name": "Set new update time",
      "type": "n8n-nodes-base.functionItem",
      "position": [
        1280,
        280
      ],
      "parameters": {
        "functionCode": "return {\n  last_synced: new Date().getTime()\n};"
      },
      "typeVersion": 1
    },
    {
      "name": "Split into baches",
      "type": "n8n-nodes-base.function",
      "position": [
        1280,
        460
      ],
      "parameters": {
        "functionCode": "const newValue = Object.values(items[0].json.documents).filter(it => it.category === 'article').filter(it => it.children.length === 0).map(it => ({\n  json: {\n      url: it.url,\n  title: it.title,\n  author: it.author,\n  summary: it.summary,\n  saved_at: new Date(it.saved_at),\n  }\n}))\n\n\nreturn newValue;"
      },
      "typeVersion": 1
    },
    {
      "name": "Cron",
      "type": "n8n-nodes-base.cron",
      "position": [
        340,
        540
      ],
      "parameters": {
        "triggerTimes": {
          "item": [
            {
              "mode": "everyX",
              "unit": "minutes",
              "value": 10
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Config",
      "type": "n8n-nodes-base.set",
      "position": [
        800,
        300
      ],
      "parameters": {
        "values": {
          "number": [
            {
              "name": "Telegram chat it",
              "value": 19999
            }
          ],
          "string": [
            {
              "name": "file path",
              "value": "/whatever/readwiseLastSynced.json"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Cron": {
      "main": [
        [
          {
            "node": "Read Binary File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Split into baches",
            "type": "main",
            "index": 0
          },
          {
            "node": "Set new update time",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Binary to json": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Json to binary": {
      "main": [
        [
          {
            "node": "Write Binary File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Read Binary File": {
      "main": [
        [
          {
            "node": "Binary to json",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split into baches": {
      "main": [
        [
          {
            "node": "Telegram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set new update time": {
      "main": [
        [
          {
            "node": "Json to binary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On clicking 'execute'": {
      "main": [
        [
          {
            "node": "Read Binary File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n Telegram, communication, notifications : pour qui est ce workflow ?

Ce workflow s'adresse aux entreprises de toutes tailles souhaitant améliorer leur communication interne ou externe via Telegram. Il est particulièrement utile pour les équipes marketing, les gestionnaires de projet et toute organisation ayant besoin d'envoyer des notifications régulières. Un niveau technique intermédiaire est recommandé pour la personnalisation.

Workflow n8n Telegram, communication, notifications : problème résolu

Ce workflow résout le problème de la gestion manuelle des notifications sur Telegram, qui peut entraîner des oublis ou des retards dans la communication. En automatisant ce processus, les utilisateurs éliminent les frustrations liées à l'envoi de messages à des moments critiques, réduisant ainsi le risque de manquer des opportunités de communication. Après mise en place, les utilisateurs peuvent s'attendre à une amélioration significative de la réactivité et de l'efficacité de leurs échanges.

Workflow n8n Telegram, communication, notifications : étapes du workflow

Étape 1 : Le workflow est déclenché par un Cron, qui définit les moments d'exécution.

  • Étape 1 : Un nœud 'On clicking execute' permet de lancer le processus manuellement si besoin.
  • Étape 2 : Le nœud 'HTTP Request' récupère les données nécessaires depuis une API.
  • Étape 3 : Les données sont traitées avec les nœuds 'Binary to json' et 'Json to binary' pour assurer leur formatage correct.
  • Étape 4 : Le message est préparé et envoyé via le nœud 'Telegram', où l'utilisateur spécifie le texte et l'identifiant du chat.
  • Étape 5 : Le nœud 'Set new update time' met à jour les horaires d'envoi pour garantir la pertinence des notifications.

Workflow n8n Telegram, communication, notifications : guide de personnalisation

Pour personnaliser ce workflow, commencez par ajuster le nœud 'Cron' afin de définir vos propres horaires d'envoi. Modifiez le nœud 'HTTP Request' pour pointer vers l'API de votre choix, en adaptant les paramètres d'authentification si nécessaire. Dans le nœud 'Telegram', vous pouvez changer le texte du message et l'identifiant du chat pour cibler le bon public. Si vous souhaitez ajouter d'autres outils, envisagez d'intégrer des nœuds supplémentaires pour enrichir les données avant l'envoi. Assurez-vous également de surveiller le flux pour détecter d'éventuelles erreurs et garantir un fonctionnement optimal.