AutomationFlowsSlack & Telegram › Daylight Saving Time Notification for Different Timezones

Daylight Saving Time Notification for Different Timezones

ByŁukasz @lukaszpp on n8n.io

Who is it for? If you are having a lot of meetings as a project manager, CFO, CTO, CEO or any other role that requires handling many meetings, AND you are working with people in different timezones, you may have noticed that it is not uncommon that daylight savings time change…

Event trigger★★★★☆ complexity10 nodesSlackEmail Send
Slack & Telegram Trigger: Event Nodes: 10 Complexity: ★★★★☆ Added:

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

This workflow follows the Emailsend → Slack 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
{
  "id": "JIegnKLVXTkkTzfO",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Daylight Saving Time Notification",
  "tags": [],
  "nodes": [
    {
      "id": "87b11535-a9ae-49d4-a33f-b895274643e5",
      "name": "When clicking \u2018Test workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        0,
        0
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d1cd9157-9948-43fd-a725-2a82a21a82c6",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        340,
        -300
      ],
      "parameters": {
        "width": 394,
        "height": 264,
        "content": "## How it works\n- check list of timezones\n- check if any timezone switches from/to Daylight Saving Time\n- notify on Slack\n\n## Remember to set up\n- Add timezones to \"Timezones List\"\n- Slack notification channel\n"
      },
      "typeVersion": 1
    },
    {
      "id": "0f4369fc-80b6-4fd6-8533-4aacbf4c9c65",
      "name": "Timezones List",
      "type": "n8n-nodes-base.code",
      "position": [
        220,
        0
      ],
      "parameters": {
        "jsCode": "return [\n\t{\n      timezone : \"America/New_York\"\n\t},\n\t{\n      timezone : \"Europe/Warsaw\"\n\t},\n];"
      },
      "typeVersion": 2
    },
    {
      "id": "3c1e6cd7-3812-4670-a53f-7270e29574f9",
      "name": "Calculate Zone Date and Time",
      "type": "n8n-nodes-base.set",
      "position": [
        440,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "4e9f973f-a11f-474b-89ce-dac4a77a7c68",
              "name": "datetime_zone",
              "type": "string",
              "value": "={{ $now.setZone( $json.timezone ) }}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "7f49ac42-afcb-4552-84da-180bc65b84b0",
      "name": "Check If Daylight Saving Time",
      "type": "n8n-nodes-base.set",
      "position": [
        40,
        280
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "4e9f973f-a11f-474b-89ce-dac4a77a7c68",
              "name": "datetime_zone_dst",
              "type": "string",
              "value": "={{ $json.datetime_zone.toDateTime().setZone($json.timezone).isInDST }}"
            },
            {
              "id": "ff13ee6d-c146-4dcb-98c4-6cb9b2474b1d",
              "name": "datetime_zone_tomorrow_dst",
              "type": "string",
              "value": "={{ $json.datetime_zone_tomorrow.toDateTime().setZone($json.timezone).isInDST }}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "f3596b52-03af-4a07-be04-a7300fc7b239",
      "name": "Check If Change Tomorrow",
      "type": "n8n-nodes-base.if",
      "position": [
        240,
        280
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "1f49e05d-d36e-4652-8ad3-b2266d750d94",
              "operator": {
                "type": "boolean",
                "operation": "notEquals"
              },
              "leftValue": "={{ $json.datetime_zone_dst }}",
              "rightValue": "={{ $json.datetime_zone_tomorrow_dst }}"
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "612e2e06-0283-4acd-8d85-cba16acb7126",
      "name": "Send Notification On Upcoming Change",
      "type": "n8n-nodes-base.slack",
      "position": [
        660,
        240
      ],
      "parameters": {
        "text": "=Tomorrow is Daylight Saving Time change in zone {{ $json.timezone }} - remember to adjust meeting times!",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "d5e47ff8-d530-47ee-a98d-3a50a7054cb0",
      "name": "Calculate Tomorrow's Date",
      "type": "n8n-nodes-base.dateTime",
      "position": [
        660,
        0
      ],
      "parameters": {
        "options": {
          "includeInputFields": true
        },
        "duration": 1,
        "magnitude": "={{ $json.datetime_zone }}",
        "operation": "addToDate",
        "outputFieldName": "datetime_zone_tomorrow"
      },
      "typeVersion": 2
    },
    {
      "id": "5ae0aa75-515d-4025-901e-82693f697436",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        0,
        -160
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e233c67c-a79b-4c96-a172-0465021d3911",
      "name": "Send Email On Upcoming Change",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        660,
        420
      ],
      "parameters": {
        "text": "=Tomorrow is Daylight Saving Time change in zone {{ $json.timezone }} - remember to adjust meeting times!",
        "options": {},
        "subject": "DST change tomorrow in {{ $json.timezone }}",
        "emailFormat": "text"
      },
      "credentials": {
        "smtp": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "7605726a-1a09-4564-b60f-aee3ac0b8c70",
  "connections": {
    "Timezones List": {
      "main": [
        [
          {
            "node": "Calculate Zone Date and Time",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Timezones List",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check If Change Tomorrow": {
      "main": [
        [
          {
            "node": "Send Notification On Upcoming Change",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send Email On Upcoming Change",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "Calculate Tomorrow's Date": {
      "main": [
        [
          {
            "node": "Check If Daylight Saving Time",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculate Zone Date and Time": {
      "main": [
        [
          {
            "node": "Calculate Tomorrow's Date",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check If Daylight Saving Time": {
      "main": [
        [
          {
            "node": "Check If Change Tomorrow",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Test workflow\u2019": {
      "main": [
        [
          {
            "node": "Timezones List",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

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

About this workflow

Who is it for? If you are having a lot of meetings as a project manager, CFO, CTO, CEO or any other role that requires handling many meetings, AND you are working with people in different timezones, you may have noticed that it is not uncommon that daylight savings time change…

Source: https://n8n.io/workflows/3276/ — 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 workflow is a reusable retry and resilience pattern for n8n.

Execute Workflow Trigger, HTTP Request, Slack +2
Slack & Telegram

Daylight Saving Time Notification. Uses manualTrigger, stickyNote, slack, dateTime. Event-driven trigger; 10 nodes.

Slack, Email Send
Slack & Telegram

Googlesheets Slack. Uses typeformTrigger, googleSheets, emailSend, slack. Event-driven trigger; 5 nodes.

Typeform Trigger, Google Sheets, Email Send +1
Slack & Telegram

Error Handler Workflow. Uses errorTrigger, slack, emailSend. Event-driven trigger; 5 nodes.

Error Trigger, Slack, Email Send
Slack & Telegram

AP Invoice — 99 Error Notifier. Uses errorTrigger, emailSend, postgres, slack. Event-driven trigger; 5 nodes.

Error Trigger, Email Send, Postgres +1