{
  "name": "Automated trip weather forecasts from Google Calendar to Telegram",
  "nodes": [
    {
      "id": "7df92b27-05c7-4c4a-9b2f-76883f0d8974",
      "name": "If1",
      "type": "n8n-nodes-base.if",
      "position": [
        624,
        -64
      ]
    },
    {
      "id": "40fe3671-d5ed-49fd-a342-f89df42f5657",
      "name": "Identify trips",
      "type": "n8n-nodes-base.code",
      "position": [
        400,
        -64
      ]
    },
    {
      "id": "41df49be-15c4-4c83-8c69-6c8cc109ac34",
      "name": "Extract locations",
      "type": "n8n-nodes-base.code",
      "position": [
        848,
        -64
      ]
    },
    {
      "id": "1c3d2277-df1f-4178-bdba-bff40a182c2d",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        1104,
        320
      ]
    },
    {
      "id": "0d3f1ec2-2377-46e3-84bc-c303adddb825",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -448,
        -400
      ],
      "parameters": {
        "width": 560,
        "height": 752,
        "content": "## How it works\nWhen a calendar event is created or updated, identified as trip, provides timely weather alerts and forecasts tailored to travel dates and locations.\n\n## Step-by-step\n\n📅 **Google Calen"
      }
    },
    {
      "id": "79b81985-724d-4208-a225-25ecde0851e7",
      "name": "Event created",
      "type": "n8n-nodes-base.googleCalendarTrigger",
      "position": [
        176,
        -160
      ]
    },
    {
      "id": "38413099-7d19-4c06-bec7-a2d542607474",
      "name": "Event updated",
      "type": "n8n-nodes-base.googleCalendarTrigger",
      "position": [
        176,
        32
      ]
    },
    {
      "id": "1cac0052-349b-4ae2-8c4e-b1a63bd834f4",
      "name": "Send Forecast",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1808,
        -64
      ]
    },
    {
      "id": "bb15bccd-f857-4de6-907f-7a48457a125f",
      "name": "Build interogation URL",
      "type": "n8n-nodes-base.code",
      "position": [
        1072,
        -64
      ]
    },
    {
      "id": "e29e2ff1-46fd-44c5-ab8f-02d345586e41",
      "name": "Get updated Destination Weather Forecast",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1328,
        320
      ]
    },
    {
      "id": "c69a55de-bbf3-4921-bd89-24d4b8826111",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        368,
        -160
      ],
      "parameters": {
        "width": 608,
        "height": 240,
        "content": "## Identify \n**if** the event is a trip\n**Then** > extracting destination and period"
      }
    },
    {
      "id": "50def3d9-67bc-4f5c-b2a4-18f4235fffec",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1024,
        208
      ],
      "parameters": {
        "width": 448,
        "height": 288,
        "content": "## Update the forecast one day before the trip\nWait one day before the trip and request again the forecast"
      }
    },
    {
      "id": "8aec9d53-2af5-4e3f-87a2-f0f67a2497e3",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1008,
        -160
      ],
      "parameters": {
        "width": 480,
        "height": 672,
        "content": "## Get Forecast\n"
      }
    },
    {
      "id": "57b375da-2354-4b04-a6ee-b510bed576d0",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1536,
        -160
      ],
      "parameters": {
        "width": 416,
        "height": 256,
        "content": "## Send notification\nMake sure Telegram credentials and chat ID are set in the node."
      }
    },
    {
      "id": "b4b8e95d-3ea8-4ea2-ab88-a889a74d6818",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        128,
        -272
      ],
      "parameters": {
        "width": 192,
        "height": 464,
        "content": "## Trigger:\n**EVENT**\nCreated or updated"
      }
    },
    {
      "id": "5c65c141-7527-43b9-8e85-bd8f1291b54e",
      "name": "Get Destination Weather forecast",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1296,
        -64
      ]
    },
    {
      "id": "b92af965-eecf-4019-b5cf-ca38e8ee9928",
      "name": "Format message",
      "type": "n8n-nodes-base.code",
      "position": [
        1584,
        -64
      ]
    }
  ],
  "connections": {
    "If1": {
      "main": [
        [
          {
            "node": "Extract locations",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait": {
      "main": [
        [
          {
            "node": "Get updated Destination Weather Forecast",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Event created": {
      "main": [
        [
          {
            "node": "Identify trips",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Event updated": {
      "main": [
        [
          {
            "node": "Identify trips",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format message": {
      "main": [
        [
          {
            "node": "Send Forecast",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Identify trips": {
      "main": [
        [
          {
            "node": "If1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract locations": {
      "main": [
        [
          {
            "node": "Build interogation URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build interogation URL": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          },
          {
            "node": "Get Destination Weather forecast",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Destination Weather forecast": {
      "main": [
        [
          {
            "node": "Format message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get updated Destination Weather Forecast": {
      "main": [
        [
          {
            "node": "Format message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}