Workflow n8n

Automatisation Slack avec n8n : notifications de consommation d'eau

  • Ce workflow n8n a pour objectif d'automatiser l'envoi de notifications sur Slack concernant la consommation d'eau des utilisateurs. Il s'adresse particulièrement aux équipes de santé et de bien-être qui souhaitent suivre et encourager une hydratation adéquate au sein de leur organisation. En intégrant des outils tels que Google Sheets et OpenAI, ce workflow permet de collecter des données sur la consommation d'eau, de les analyser et de notifier les utilisateurs via Slack.
  • Le processus commence par un déclencheur programmé qui active le workflow à intervalles réguliers. Ensuite, les données de consommation d'eau sont récupérées à partir d'une feuille Google Sheets. Ces données sont ensuite traitées par un modèle OpenAI pour générer des résumés pertinents. En fonction des résultats, des notifications sont envoyées sur Slack pour rappeler aux utilisateurs de rester hydratés. Des notes autocollantes sont également créées pour visualiser les progrès.
  • Les bénéfices de cette automatisation n8n incluent une meilleure gestion de la santé des employés, une réduction des oublis liés à l'hydratation et une communication efficace au sein des équipes. En intégrant des rappels réguliers et des analyses de données, les entreprises peuvent s'assurer que leurs employés restent en bonne santé et productifs.
Tags clés :automatisationSlackGoogle SheetsOpenAIsanté
Catégorie: Scheduled · Tags: automatisation, Slack, Google Sheets, OpenAI, santé0

Workflow n8n Slack, Google Sheets, OpenAI, santé : vue d'ensemble

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

Workflow n8n Slack, Google Sheets, OpenAI, santé : détail des nœuds

  • slack_action_payload

    Ce noeud définit un payload d'action pour Slack avec des options et un format JSON.

  • slack_action_drink_data

    Ce noeud configure des données de boisson pour Slack en utilisant des options et des affectations.

  • OpenAI

    Ce noeud utilise l'API OpenAI pour générer des réponses basées sur des messages fournis.

  • Schedule Trigger

    Ce noeud déclenche le workflow selon un calendrier défini.

  • Limit

    Ce noeud limite le nombre d'éléments traités dans le workflow.

  • Google Sheets - Get Target

    Ce noeud récupère des données d'une feuille Google Sheets spécifiée.

  • Summarize

    Ce noeud résume les données en fonction des options et des champs spécifiés.

  • combine data

    Ce noeud combine plusieurs ensembles de données selon des critères définis.

  • If

    Ce noeud évalue des conditions pour déterminer le chemin à suivre dans le workflow.

  • Wait

    Ce noeud met le workflow en pause pendant une durée spécifiée.

  • slack drink webhook

    Ce noeud reçoit des requêtes via un webhook pour traiter des actions spécifiques.

  • Sticky Note

    Ce noeud crée une note autocollante avec un contenu et des dimensions spécifiées.

  • Sticky Note1

    Ce noeud crée une note autocollante avec une couleur et des dimensions définies.

  • Sticky Note2

    Ce noeud crée une note autocollante avec une couleur et des dimensions spécifiées.

  • Sticky Note3

    Ce noeud crée une note autocollante avec une couleur et des dimensions définies.

  • Sticky Note4

    Ce noeud crée une note autocollante avec une couleur et des dimensions spécifiées.

  • Slack send drink notification

    Ce noeud envoie une notification de boisson sur Slack avec un message formaté.

  • Send to Slack with confirm

    Ce noeud envoie un message sur Slack avec une confirmation requise.

  • Edit Fields-Set progress

    Ce noeud définit des champs pour mettre à jour le progrès dans le workflow.

  • Google Sheets - log water value to sheet

    Ce noeud enregistre une valeur d'eau dans une feuille Google Sheets.

  • Google Sheets - Get Today Water Log

    Ce noeud récupère les journaux d'eau du jour à partir d'une feuille Google Sheets.

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

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "meta": {
    "instanceId": "fddb3e91967f1012c95dd02bf5ad21f279fc44715f47a7a96a33433621caa253",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "b717d887-4d4b-4f21-97a3-978fcde2c9f6",
      "name": "slack_action_payload",
      "type": "n8n-nodes-base.set",
      "position": [
        -1020,
        100
      ],
      "parameters": {
        "mode": "raw",
        "options": {},
        "jsonOutput": "= {{ $json.body.payload }}"
      },
      "typeVersion": 3.4
    },
    {
      "id": "046950ad-a40c-47d9-8dab-406bc6bf6e12",
      "name": "slack_action_drink_data",
      "type": "n8n-nodes-base.set",
      "position": [
        -800,
        100
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "3d208143-1b80-4701-bff7-fc1dfbf9b89c",
              "name": "value",
              "type": "string",
              "value": "={{ $json.actions[0].value }}"
            },
            {
              "id": "1600b553-8ef1-44ac-9ae7-d33be8e539e5",
              "name": "message_text",
              "type": "string",
              "value": "={{ $json.message.text }}"
            },
            {
              "id": "5ea5f093-7e36-4de0-aa14-fb2bc0788e84",
              "name": "shortcut_url",
              "type": "string",
              "value": "=shortcuts://run-shortcut?name=darrell_water&input="
            },
            {
              "id": "5d9e4946-10eb-48ed-87d8-978235d44ec1",
              "name": "shortcut_url_data",
              "type": "string",
              "value": "={\"value\":{{ $json.actions[0].value }},\"time\":\"{{ $now.format(\"yyyy-MM-dd\") }}T{{ $now.format(\"HH:mm:ss\") }}\"}"
            },
            {
              "id": "625258d8-55eb-4252-b313-b4954da57de1",
              "name": "message_ts",
              "type": "string",
              "value": "={{ $json.container.message_ts }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "f90ec31c-b63e-470c-84ba-9429539d6bf4",
      "name": "OpenAI",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        140,
        -800
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "GPT-4O-MINI"
        },
        "options": {
          "temperature": 1
        },
        "messages": {
          "values": [
            {
              "content": "=Remind to drink water, the last time you drank water was {{ DateTime.fromISO($('combine data').item.json.date +\"T\"+$('combine data').item.json.time).format('yyyy-MM-dd HH:mm:ss') }}\nThe current time is {{ $now.format('yyyy-MM-dd HH:mm:ss') }}\nThe user has drunk water {{ $('combine data').item.json.count_date }} times today"
            },
            {
              "role": "assistant",
              "content": "You are a gentle and professional Chinese medicine practitioner who provides health advice in a friendly, encouraging tone. Please generate a response in JSON format with the structure {\"message\": \"...\"}, keeping the message brief (<100-200 words), persuasive, reminding me to drink water, clearly specifying intervals (such as 2 hours), and mentioning at least one benefit of drinking water (such as replenishing qi) and one negative effect of dehydration (such as blood stasis), encouraging me to take action to drink water, ending with an action prompt. Start directly without using any form of address. "
            },
            {
              "role": "system",
              "content": "must return {\\\"message\\\": \\\"...\\\"} and **responding in English**"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "id": "AE7fbXM0LWEUpaUf",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "28fe1f82-a8d6-4a9a-9061-ec94a7344fa3",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -1260,
        -800
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "=0 {{ Math.floor(Math.random() * 11) }} 8-23 * * *"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "ef12fb27-4377-42be-b9bc-bdbaaaa4c754",
      "name": "Limit",
      "type": "n8n-nodes-base.limit",
      "position": [
        -840,
        -640
      ],
      "parameters": {
        "keep": "lastItems"
      },
      "typeVersion": 1
    },
    {
      "id": "e36862e2-912f-4e41-80b0-6f66cc8ba0ba",
      "name": "Google Sheets - Get Target",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -1040,
        -820
      ],
      "parameters": {
        "options": {
          "returnFirstMatch": false
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 2141999480,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1NRPq87zvNiBGKzVJaT0YYc55qp-6-9kGA4VpqkylpbI/edit#gid=2141999480",
          "cachedResultName": "setting"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1NRPq87zvNiBGKzVJaT0YYc55qp-6-9kGA4VpqkylpbI",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1NRPq87zvNiBGKzVJaT0YYc55qp-6-9kGA4VpqkylpbI/edit?usp=drivesdk",
          "cachedResultName": "n8n-drink-water"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "atsKA0m2aQXeL6i6",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "9809c9bd-51ff-4277-9f0f-5e1438c25fe8",
      "name": "Summarize",
      "type": "n8n-nodes-base.summarize",
      "position": [
        -840,
        -500
      ],
      "parameters": {
        "options": {},
        "fieldsToSummarize": {
          "values": [
            {
              "field": "value",
              "aggregation": "sum"
            },
            {
              "field": "date"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "ca995a95-9c35-43e4-ab68-0f7aa44f99d1",
      "name": "combine data",
      "type": "n8n-nodes-base.merge",
      "position": [
        -620,
        -800
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineByPosition",
        "numberInputs": 3
      },
      "typeVersion": 3
    },
    {
      "id": "44da169c-a2da-427c-aa46-54082b27e94b",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        -200,
        -800
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "350fc192-3049-407a-b468-bfdcfbdde966",
              "operator": {
                "type": "dateTime",
                "operation": "after"
              },
              "leftValue": "={{ DateTime.fromISO($('combine data').item.json.date +\"T\"+$('combine data').item.json.time).format('yyyy-MM-dd HH:mm:ss') }}",
              "rightValue": "={{ $now.minus(30, \"minutes\") }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "bc85d85a-cee2-43ab-a434-b26c5cd69122",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "notes": "If the user log water recently. \nWait for another 3x minutes",
      "position": [
        -20,
        -640
      ],
      "webhookId": "fb26360f-6364-4069-a3f1-ed5c37ecccc0",
      "parameters": {
        "unit": "minutes",
        "amount": "={{ Math.floor(Math.random() * 11) + 21 }}"
      },
      "notesInFlow": true,
      "typeVersion": 1.1
    },
    {
      "id": "551c217e-9192-486e-ae9f-068bebd0792a",
      "name": "slack drink webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -1200,
        100
      ],
      "webhookId": "f992f346-0076-4a79-a046-5b5c295bf6c2",
      "parameters": {
        "path": "f992f346-0076-4a79-a046-5b5c295bf6c2",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "c000d036-7246-47a5-9001-ffc482c74371",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1340,
        -960
      ],
      "parameters": {
        "width": 1060,
        "height": 620,
        "content": "## Grab recent drink data\n"
      },
      "typeVersion": 1
    },
    {
      "id": "fd4bdbf4-c2d0-497c-891e-2667a85fa2ad",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -260,
        -960
      ],
      "parameters": {
        "color": 2,
        "width": 360,
        "height": 500,
        "content": "If already drink recently. Delay the notification in 3x minutes randomly\n"
      },
      "typeVersion": 1
    },
    {
      "id": "cd4b4928-a858-4f12-b294-51ba8a4484da",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        120,
        -960
      ],
      "parameters": {
        "color": 5,
        "width": 580,
        "height": 360,
        "content": "## Send the slack notification with AI wording. Also have the drink water action buttons"
      },
      "typeVersion": 1
    },
    {
      "id": "cc7c8459-a97d-4ee9-b97c-b4a95afecf5a",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1340,
        -320
      ],
      "parameters": {
        "color": 3,
        "width": 1300,
        "height": 660,
        "content": "## When User interact the drink button. Record the drink value to sheet and send back the iOS health log water url to start the shortcut\n\n**Note for Shortcut:**\n\nThe shortcul url will be like `shortcuts://run-shortcut?name=darrell_water&input=%7B%22value%22%3A100%2C%22time%22%3A%222025-03-04T16%3A10%3A15%22%7D`\n\nIt's url encoded. The decoded version will be:\n`shortcuts://run-shortcut?name=darrell_water&input={\"value\":100,\"time\":\"2025-03-04T16:10:15\"}`\n\nWe can see it pass the shortcut name and input with json string value. This will be used in iOS shortcut"
      },
      "typeVersion": 1
    },
    {
      "id": "e8e388e0-dddc-4db2-b5fa-acb76d025580",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1700,
        -960
      ],
      "parameters": {
        "color": 7,
        "width": 340,
        "height": 240,
        "content": "## Created by darrell_tw_ \n\nAn engineer now focus on AI and Automation\n\n### contact me with following:\n[X](https://x.com/darrell_tw_)\n[Threads](https://www.threads.net/@darrell_tw_)\n[Instagram](https://www.instagram.com/darrell_tw_/)\n[Website](https://www.darrelltw.com/)"
      },
      "typeVersion": 1
    },
    {
      "id": "32b098ea-a72f-4906-9a39-916afcf47dc8",
      "name": "Slack send drink notification",
      "type": "n8n-nodes-base.slack",
      "position": [
        480,
        -800
      ],
      "webhookId": "1ffefb29-4176-4a9c-a8e2-cfc3caf05910",
      "parameters": {
        "text": "喝水提醒",
        "select": "channel",
        "blocksUi": "={\n\t\"blocks\": [\n\t\t{\n\t\t\t\"type\": \"section\",\n\t\t\t\"text\": {\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"{{ $json.message.content.message ? $json.message.content.message : 'Time to drink!' }}\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"type\": \"section\",\n\t\t\t\"text\": {\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"{{ $('Edit Fields-Set progress').item.json.progress_image }}\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"type\": \"actions\",\n\t\t\t\"elements\": [\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"button\",\n\t\t\t\t\t\"text\": {\n\t\t\t\t\t\t\"type\": \"plain_text\",\n\t\t\t\t\t\t\"emoji\": true,\n\t\t\t\t\t\t\"text\": \"100\"\n\t\t\t\t\t},\n\t\t\t\t\t\"style\": \"primary\",\n\t\t\t\t\t\"value\": \"100\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"button\",\n\t\t\t\t\t\"text\": {\n\t\t\t\t\t\t\"type\": \"plain_text\",\n\t\t\t\t\t\t\"emoji\": true,\n\t\t\t\t\t\t\"text\": \"150\"\n\t\t\t\t\t},\n\t\t\t\t\t\"style\": \"primary\",\n\t\t\t\t\t\"value\": \"150\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"button\",\n\t\t\t\t\t\"text\": {\n\t\t\t\t\t\t\"type\": \"plain_text\",\n\t\t\t\t\t\t\"emoji\": true,\n\t\t\t\t\t\t\"text\": \"200\"\n\t\t\t\t\t},\n\t\t\t\t\t\"style\": \"primary\",\n\t\t\t\t\t\"value\": \"200\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"button\",\n\t\t\t\t\t\"text\": {\n\t\t\t\t\t\t\"type\": \"plain_text\",\n\t\t\t\t\t\t\"emoji\": true,\n\t\t\t\t\t\t\"text\": \"250\"\n\t\t\t\t\t},\n\t\t\t\t\t\"style\": \"primary\",\n\t\t\t\t\t\"value\": \"250\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"button\",\n\t\t\t\t\t\"text\": {\n\t\t\t\t\t\t\"type\": \"plain_text\",\n\t\t\t\t\t\t\"emoji\": true,\n\t\t\t\t\t\t\"text\": \"300\"\n\t\t\t\t\t},\n\t\t\t\t\t\"style\": \"primary\",\n\t\t\t\t\t\"value\": \"300\"\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t]\n}",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "C08FW6YKVC1",
          "cachedResultName": "n8n-drink-water-nofity-demo"
        },
        "messageType": "block",
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "id": "sD1J9ZLyEhcglrRa",
          "name": "Slack account"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "8f550d8f-b960-41df-8a3b-2443327d5892",
      "name": "Send to Slack with confirm",
      "type": "n8n-nodes-base.slack",
      "position": [
        -560,
        0
      ],
      "webhookId": "fc8af764-ed01-4ca1-acef-80b8076bb9db",
      "parameters": {
        "text": "=Log Successfully",
        "select": "channel",
        "blocksUi": "={\n\t\"blocks\": [\n        {\n\t\t\t\"type\": \"divider\"\n\t\t},\n\t\t{\n\t\t\t\"type\": \"section\",\n\t\t\t\"text\": {\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"Already log the water\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"type\": \"section\",\n\t\t\t\"text\": {\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"Click me to Shortcut\"\n\t\t\t},\n\t\t\t\"accessory\": {\n\t\t\t\t\"type\": \"button\",\n\t\t\t\t\"text\": {\n\t\t\t\t\t\"type\": \"plain_text\",\n\t\t\t\t\t\"text\": \"iOS Health\",\n\t\t\t\t\t\"emoji\": true\n\t\t\t\t},\n\t\t\t\t\"value\": \"click\",\n\t\t\t\t\"url\": \"{{ $('slack_action_drink_data').item.json.shortcut_url}}{{ $('slack_action_drink_data').item.json.shortcut_url_data.urlEncode() }}\",\n\t\t\t\t\"action_id\": \"button-action\"\n\t\t\t}\n\t\t}\n\t]\n}",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "C08FW6YKVC1",
          "cachedResultName": "n8n-drink-water-nofity-demo"
        },
        "messageType": "block",
        "otherOptions": {
          "thread_ts": {
            "replyValues": {
              "thread_ts": "={{ $('slack_action_drink_data').item.json.message_ts }}"
            }
          }
        },
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "id": "sD1J9ZLyEhcglrRa",
          "name": "Slack account"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "3383574c-7c96-4332-9876-2e47ad21f3de",
      "name": "Edit Fields-Set progress",
      "type": "n8n-nodes-base.set",
      "position": [
        -420,
        -800
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "427f1878-99a0-446a-b4a2-2c49c919c809",
              "name": "progress_percent",
              "type": "number",
              "value": "={{ ($json.sum_value/$json.target) }}"
            },
            {
              "id": "3fd85387-6ad3-4f4a-92ee-1db7e84f065b",
              "name": "progress_image",
              "type": "string",
              "value": "={{ (function() {    let p = $json.sum_value / $json.target;    let n = Math.round(p * 10);    n = Math.max(0, Math.min(10, n));    return '💧'.repeat(n) + '⬜'.repeat(10 - n);  })() }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "67fa160d-0ea2-48c2-83b5-2f5f1b6a01b5",
      "name": "Google Sheets - log water value to sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -560,
        180
      ],
      "parameters": {
        "columns": {
          "value": {
            "date": "={{ $now.format('yyyy-MM-dd') }}",
            "time": "={{ $now.format('HH:mm:ss') }}",
            "value": "={{ $json.value }}"
          },
          "schema": [
            {
              "id": "date",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "time",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "value",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "value",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1NRPq87zvNiBGKzVJaT0YYc55qp-6-9kGA4VpqkylpbI/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1NRPq87zvNiBGKzVJaT0YYc55qp-6-9kGA4VpqkylpbI",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1NRPq87zvNiBGKzVJaT0YYc55qp-6-9kGA4VpqkylpbI/edit?usp=drivesdk",
          "cachedResultName": "n8n-drink-water"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "atsKA0m2aQXeL6i6",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "6d336f63-0016-46ae-b71f-2e1dfac06826",
      "name": "Google Sheets - Get Today Water Log",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -1040,
        -640
      ],
      "parameters": {
        "options": {
          "returnFirstMatch": false
        },
        "filtersUI": {
          "values": [
            {
              "lookupValue": "={{ $now.format('yyyy-MM-dd') }}",
              "lookupColumn": "date"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1NRPq87zvNiBGKzVJaT0YYc55qp-6-9kGA4VpqkylpbI/edit#gid=0",
          "cachedResultName": "log"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1NRPq87zvNiBGKzVJaT0YYc55qp-6-9kGA4VpqkylpbI",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1NRPq87zvNiBGKzVJaT0YYc55qp-6-9kGA4VpqkylpbI/edit?usp=drivesdk",
          "cachedResultName": "n8n-drink-water"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "atsKA0m2aQXeL6i6",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.5
    }
  ],
  "pinData": {},
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "OpenAI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait": {
      "main": [
        [
          {
            "node": "OpenAI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Limit": {
      "main": [
        [
          {
            "node": "combine data",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "OpenAI": {
      "main": [
        [
          {
            "node": "Slack send drink notification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summarize": {
      "main": [
        [
          {
            "node": "combine data",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "combine data": {
      "main": [
        [
          {
            "node": "Edit Fields-Set progress",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Google Sheets - Get Target",
            "type": "main",
            "index": 0
          },
          {
            "node": "Google Sheets - Get Today Water Log",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "slack drink webhook": {
      "main": [
        [
          {
            "node": "slack_action_payload",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "slack_action_payload": {
      "main": [
        [
          {
            "node": "slack_action_drink_data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "slack_action_drink_data": {
      "main": [
        [
          {
            "node": "Google Sheets - log water value to sheet",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send to Slack with confirm",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields-Set progress": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets - Get Target": {
      "main": [
        [
          {
            "node": "combine data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send to Slack with confirm": {
      "main": [
        []
      ]
    },
    "Google Sheets - Get Today Water Log": {
      "main": [
        [
          {
            "node": "Limit",
            "type": "main",
            "index": 0
          },
          {
            "node": "Summarize",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n Slack, Google Sheets, OpenAI, santé : pour qui est ce workflow ?

Ce workflow s'adresse aux entreprises et équipes de santé qui souhaitent promouvoir l'hydratation au sein de leur organisation. Il est idéal pour les professionnels ayant un niveau technique intermédiaire et qui utilisent déjà des outils comme Slack et Google Sheets.

Workflow n8n Slack, Google Sheets, OpenAI, santé : problème résolu

Ce workflow résout le problème de la négligence de l'hydratation au travail. En automatisant les notifications, il élimine les oublis fréquents et encourage les employés à boire suffisamment d'eau tout au long de la journée. Cela réduit les risques de déshydratation et améliore le bien-être général des employés, ce qui peut également augmenter leur productivité.

Workflow n8n Slack, Google Sheets, OpenAI, santé : étapes du workflow

Étape 1 : Le workflow est déclenché par un événement programmé.

  • Étape 1 : Les données de consommation d'eau sont récupérées depuis Google Sheets.
  • Étape 2 : Ces données sont analysées à l'aide d'OpenAI pour générer des résumés.
  • Étape 3 : En fonction des résultats, des notifications sont envoyées sur Slack pour rappeler aux utilisateurs de s'hydrater.
  • Étape 4 : Des notes autocollantes sont créées pour visualiser les progrès des utilisateurs.

Workflow n8n Slack, Google Sheets, OpenAI, santé : guide de personnalisation

Pour personnaliser ce workflow, vous pouvez modifier le documentId et le nom de la feuille Google Sheets pour correspondre à vos données. Vous pouvez également ajuster les messages envoyés sur Slack en fonction de vos préférences. Si vous souhaitez intégrer d'autres outils, vous pouvez ajouter des noeuds supplémentaires dans le workflow. Assurez-vous de sécuriser les informations sensibles en configurant correctement les authentifications pour Slack et Google Sheets.