AutomationFlowsSlack & Telegram › Daily Hydration Reminder with Slack/discord & Airtable Reaction Tracking

Daily Hydration Reminder with Slack/discord & Airtable Reaction Tracking

Original n8n title: Daily Hydration 💧 Reminder with Slack/discord & Airtable Reaction Tracking

ByShelly-Ann Davy @SheCodesFlow on n8n.io

Automate wellness engagement in your community with a twice-daily hydration reminder sent to Slack or Discord, and automatically track member reactions in Airtable. This no-code workflow nurtures self-care culture while capturing engagement data—zero manual effort required.

Cron / scheduled trigger★★★★☆ complexity8 nodesHTTP RequestAirtable
Slack & Telegram Trigger: Cron / scheduled Nodes: 8 Complexity: ★★★★☆ Added:

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

This workflow follows the Airtable → 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
{
  "name": "Daily Hydration Hug \ud83d\udca7",
  "nodes": [
    {
      "id": "trigger-schedule",
      "name": "Every Day at 10 AM & 3 PM",
      "type": "n8n-nodes-base.scheduleTrigger",
      "notes": "\ud83d\udd52 Schedule: Daily Wellness Nudges\n\nTriggers the workflow twice daily:\n- 10:00 AM\n- 3:00 PM\n\n\ud83d\udd39 Set timezone in Make settings to match your community.\n\nThis is the heartbeat of the hydration reminder system.",
      "position": [
        250,
        300
      ],
      "parameters": {},
      "typeVersion": 1,
      "notesAlignment": "top"
    },
    {
      "id": "random-gif-picker",
      "name": "Pick Random GIF",
      "type": "n8n-nodes-base.set",
      "notes": "\ud83d\uddbc\ufe0f Random GIF Selector\n\nRotates through a curated list of calming hydration-themed GIFs.\n\n\ud83d\udca1 Hosted on Giphy, Imgur, or CDN.\n\nExample URLs:\n- https://media.giphy.com/.../water.gif\n- https://example.com/hug.gif\n\nYou can expand the list for seasonal variety.",
      "position": [
        500,
        300
      ],
      "inputNames": [
        "GIFs"
      ],
      "parameters": {},
      "outputNames": [
        "With GIF"
      ],
      "notesAlignment": "top"
    },
    {
      "id": "send-slack-message",
      "name": "Send to Slack",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "\ud83d\udce4 Send Message to Slack\n\nPosts a friendly hydration reminder with:\n- Soothing text\n- Random GIF (accessory)\n\n\u2705 Uses Slack's Block Kit for rich formatting.\n\n\ud83d\udd27 Replace URL with Discord webhook if needed.",
      "position": [
        750,
        250
      ],
      "parameters": {},
      "notesAlignment": "top"
    },
    {
      "id": "send-discord-message",
      "name": "Send to Discord",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "\ud83d\udce4 Send Message to Discord\n\nSends a clean, embed-based message with hydration GIF.\n\n\ud83c\udfa8 Color: Soft blue (#2C7873 \u2192 2899551)\n\n\ud83d\udca1 Use only one send node (Slack OR Discord) unless routing dynamically.",
      "position": [
        750,
        350
      ],
      "parameters": {},
      "notesAlignment": "top"
    },
    {
      "id": "wait-24-hours",
      "name": "Wait 24 Hours",
      "type": "n8n-nodes-base.wait",
      "notes": "\u23f8\ufe0f Wait for Reactions\n\nPauses 24 hours to allow members to react with \u2705.\n\n\ud83d\udd39 You can reduce to 12h for faster cycles.\n\n\u26a0\ufe0f Do not skip: needed to capture engagement.",
      "position": [
        1000,
        300
      ],
      "parameters": {},
      "notesAlignment": "top"
    },
    {
      "id": "fetch-reactions-slack",
      "name": "Get Slack Reactions",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "\ud83d\udd0d Fetch Slack Reactions\n\nUses Slack API to check if \u2705 was added.\n\n\ud83d\udd10 Requires Bot Token with:\n- reactions:read\n- channels:read\n\n\ud83d\udca1 Store message timestamp from initial post.",
      "position": [
        1250,
        250
      ],
      "parameters": {},
      "notesAlignment": "top"
    },
    {
      "id": "filter-yes-reactions",
      "name": "Filter \u2705 Reactions",
      "type": "n8n-nodes-base.switch",
      "notes": "\u2705 Filter for Checkmark Reactions\n\nOnly continues if at least one \u2705 (white_check_mark) was added.\n\n\ud83d\udd27 You can add more emoji filters (e.g., \ud83d\udca7, \ud83e\udef6) for expanded tracking.",
      "position": [
        1500,
        300
      ],
      "parameters": {},
      "notesAlignment": "top"
    },
    {
      "id": "airtable-log-reaction",
      "name": "Log in Airtable",
      "type": "n8n-nodes-base.airtable",
      "notes": "\ud83d\udcca Log Reaction in Airtable\n\nSaves each \u2705 reaction as a new record.\n\n\ud83d\udd01 Used later to generate monthly 'Hydration Heroes' leaderboard.\n\n\ud83d\udca1 Link to user profiles or add tags for segmentation.",
      "position": [
        1750,
        300
      ],
      "parameters": {},
      "notesAlignment": "top"
    }
  ],
  "active": false,
  "settings": {
    "callerPolicy": "none",
    "saveDataError": "all",
    "executionOrder": "parallel",
    "saveDataSuccess": "all"
  },
  "connections": {
    "Send to Slack": {
      "main": [
        [
          {
            "node": "Wait 24 Hours",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 24 Hours": {
      "main": [
        [
          {
            "node": "Get Slack Reactions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Pick Random GIF": {
      "main": [
        [
          {
            "node": "Send to Slack",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send to Discord",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send to Discord": {
      "main": [
        [
          {
            "node": "Wait 24 Hours",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Slack Reactions": {
      "main": [
        [
          {
            "node": "Filter \u2705 Reactions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter \u2705 Reactions": {
      "main": [
        [
          {
            "node": "Log in Airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Every Day at 10 AM & 3 PM": {
      "main": [
        [
          {
            "node": "Pick Random GIF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

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

About this workflow

Automate wellness engagement in your community with a twice-daily hydration reminder sent to Slack or Discord, and automatically track member reactions in Airtable. This no-code workflow nurtures self-care culture while capturing engagement data—zero manual effort required.

Source: https://n8n.io/workflows/7986/ — 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

This template provides a fully automated system for monitoring news on any topic you choose. It leverages Linkup's AI-powered web search to find recent, relevant articles, extracts key information lik

HTTP Request, Airtable, Slack
Slack & Telegram

This n8n workflow monitors WooCommerce refund activity to detect unusual spikes in product returns at the SKU level. It compares return volumes across rolling 24-hour windows, alerts teams in Slack wh

Slack, Airtable, HTTP Request
Slack & Telegram

Send A Random Recipe Once A Day To Telegram. Uses airtable, telegram, httpRequest, telegramTrigger. Scheduled trigger; 15 nodes.

Airtable, Telegram, HTTP Request +1
Slack & Telegram

This telegram bot is designed to send one random recipe a day.

Airtable, Telegram, HTTP Request +1
Slack & Telegram

🚀 Remote Job Automation Workflow Automatically fetch, clean, and broadcast the latest remote job listings — powered by RemoteOK, Airtable, and Telegram.

HTTP Request, Telegram, Airtable