Workflow n8n

Automatisation Google Sheets avec n8n : envoi de messages Discord

Ce workflow n8n est conçu pour automatiser l'envoi de messages sur Discord à partir de nouvelles lignes ou de mises à jour dans Google Sheets. Il s'adresse aux équipes qui souhaitent améliorer leur communication interne en intégrant des alertes en temps réel basées sur les données de leur feuille de calcul. Par exemple, une équipe de projet peut recevoir des notifications instantanées lorsque des informations critiques sont ajoutées ou modifiées dans un tableau de suivi. L'automatisation n8n permet ainsi de gagner du temps et d'éviter les erreurs humaines liées à la gestion manuelle des données. Le workflow commence par un déclencheur de type 'On new or updated row' qui surveille les modifications dans une feuille Google Sheets spécifique. Lorsque des données sont ajoutées ou mises à jour, le workflow passe à l'étape suivante où les informations sont converties en un format de tableau ASCII pour une meilleure lisibilité. Ensuite, un message est envoyé via le nœud 'Send message' à un canal Discord prédéfini, utilisant un webhook pour assurer la transmission des données. Enfin, une note autocollante est créée pour garder une trace des notifications envoyées. Grâce à cette automatisation, les entreprises peuvent améliorer leur réactivité et leur collaboration, tout en réduisant le risque d'oublis ou de retards dans la communication des informations importantes.

Tags clés :automatisationGoogle SheetsDiscordworkflowcommunication
Catégorie: Webhook · Tags: automatisation, Google Sheets, Discord, workflow, communication0

Workflow n8n Google Sheets, Discord, communication : vue d'ensemble

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

Workflow n8n Google Sheets, Discord, communication : détail des nœuds

  • On new or updated row

    Ce noeud déclenche le workflow lorsqu'une nouvelle ligne est ajoutée ou qu'une ligne existante est mise à jour dans une feuille Google Sheets.

  • Send message

    Ce noeud envoie un message sur Discord via un webhook avec le texte spécifié.

  • Convert to ASCII table

    Ce noeud convertit les données en un tableau ASCII à l'aide d'un code JavaScript.

  • Sticky Note

    Ce noeud crée une note autocollante avec le contenu spécifié, ainsi que la largeur et la hauteur définies.

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

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "meta": {
    "instanceId": "a2434c94d549548a685cca39cc4614698e94f527bcea84eefa363f1037ae14cd"
  },
  "nodes": [
    {
      "id": "b3a0fa7c-eb47-4f51-98d7-ac1a8de7b05d",
      "name": "On new or updated row",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "position": [
        800,
        380
      ],
      "parameters": {
        "options": {
          "columnsToWatch": [
            "Security Code"
          ]
        },
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Np8TQv7kWwwrGiPkWWsmr4WYWAosv1BMBwwCd0f-dis/edit#gid=0",
          "cachedResultName": "Investments"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1Np8TQv7kWwwrGiPkWWsmr4WYWAosv1BMBwwCd0f-dis",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Np8TQv7kWwwrGiPkWWsmr4WYWAosv1BMBwwCd0f-dis/edit?usp=drivesdk",
          "cachedResultName": "Investments"
        }
      },
      "credentials": {
        "googleSheetsTriggerOAuth2Api": {
          "id": "35",
          "name": "TEST USER"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "61b96d9b-801c-43e6-b89a-a55245386e4f",
      "name": "Send message",
      "type": "n8n-nodes-base.discord",
      "position": [
        1200,
        380
      ],
      "parameters": {
        "text": "=```\n{{ $json.ascii_table }}\n```",
        "options": {},
        "webhookUri": "https://discord.com/api/webhooks/..."
      },
      "typeVersion": 1
    },
    {
      "id": "2dc9ce88-2079-4419-9f48-2281ac25cb36",
      "name": "Convert to ASCII table",
      "type": "n8n-nodes-base.code",
      "position": [
        1000,
        380
      ],
      "parameters": {
        "jsCode": "/* configure columns to be displayed */\nconst columns_to_display = [\n  \"Security Code\",\n  \"Price\",\n  \"Quantity\",\n]\n\n/* End of configuration section (do not edit code below) */\nconst google_sheets_data = $('On new or updated row').all();\n\n/**\n * Takes a list of objects and returns an ascii table with\n * padding and headers.\n */\nfunction ascii_table(data, columns_to_display) {\n  let table = \"\"\n  \n  // Get the headers\n  let headers = []\n  for (let i = 0; i < columns_to_display.length; i++) {\n    headers.push(columns_to_display[i])\n  }\n\n  // Get the longest string in each column\n  let longest_strings = []\n  for (let i = 0; i < headers.length; i++) {\n    let longest_string = headers[i].length\n    for (let j = 0; j < data.length; j++) {\n      let string_length = data[j].json[headers[i]].length\n      if (string_length > longest_string) {\n        longest_string = string_length\n      }\n    }\n    longest_strings.push(longest_string)\n  }\n\n  // Add the headers to the table\n  for (let i = 0; i < headers.length; i++) {\n    table += headers[i].toString().padEnd(longest_strings[i] + 2, \" \")\n  }\n\n  // Add the data to the table\n  for (let i = 0; i < data.length; i++) {\n    table += \"\\n\"\n    for (let j = 0; j < headers.length; j++) {\n      table += data[i].json[headers[j]].toString().padEnd(longest_strings[j] + 2, \" \")\n    }\n  }\n\n  return table\n}\n\noutput = {\n  ascii_table: ascii_table(google_sheets_data, columns_to_display),\n}\n\nconsole.log(output.ascii_table)\n\nreturn output"
      },
      "typeVersion": 1
    },
    {
      "id": "2db7b37b-22f9-424d-a889-33f8a0db2b01",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        340,
        220
      ],
      "parameters": {
        "width": 402,
        "height": 433,
        "content": "## Send Google Sheets data as a message to a Discord channel\nThis workflow sends a message to a Discord channel when a new row is added or a row is updated in a Google Sheet. The message will send all data rows in the Google Sheet.\n\n### How it works\nUsing a code node, we can use the obtained Google Sheet data to create a custom message that will be sent to Discord. The message will be sent to the Discord channel specified in the Discord node.\n\n### Setup\nThis workflow requires that you set up a Discord webhook and have an existing Google Sheet with data. See how to set up a Discord webhook [here](https://docs.n8n.io/integrations/builtin/credentials/discord/#creating-a-webhook-in-discord).\n"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "On new or updated row": {
      "main": [
        [
          {
            "node": "Convert to ASCII table",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert to ASCII table": {
      "main": [
        [
          {
            "node": "Send message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n Google Sheets, Discord, communication : pour qui est ce workflow ?

Ce workflow s'adresse aux équipes de projet, aux responsables de la communication et aux entreprises qui utilisent Google Sheets pour gérer leurs données. Il est idéal pour les organisations de taille petite à moyenne qui cherchent à automatiser leurs processus de communication sans nécessiter de compétences techniques avancées.

Workflow n8n Google Sheets, Discord, communication : problème résolu

Ce workflow résout le problème de la communication inefficace liée à la gestion manuelle des données dans Google Sheets. En automatisant l'envoi de notifications sur Discord, il élimine les risques d'oubli et permet aux équipes de rester informées en temps réel. Les utilisateurs peuvent ainsi se concentrer sur des tâches à plus forte valeur ajoutée, tout en assurant une meilleure réactivité face aux changements de données.

Workflow n8n Google Sheets, Discord, communication : étapes du workflow

Étape 1 : Le workflow est déclenché par l'ajout ou la mise à jour d'une ligne dans Google Sheets.

  • Étape 1 : Les données sont ensuite traitées par le nœud 'Convert to ASCII table' pour les formater de manière lisible.
  • Étape 2 : Un message est envoyé à un canal Discord via le nœud 'Send message', utilisant un webhook pour transmettre les informations.
  • Étape 3 : Une note autocollante est créée pour garder une trace des notifications envoyées.

Workflow n8n Google Sheets, Discord, communication : guide de personnalisation

Pour personnaliser ce workflow, vous pouvez modifier l'ID du document Google Sheets et le nom de la feuille à surveiller. Assurez-vous également d'ajuster l'URL du webhook Discord pour diriger les messages vers le bon canal. Si nécessaire, vous pouvez adapter le code JavaScript dans le nœud 'Convert to ASCII table' pour changer le format des données envoyées. Enfin, vous pouvez ajuster les dimensions de la note autocollante selon vos besoins.