{
  "name": "Send a personalized WhatsApp morning brief with GPT-4o, Google and WATI",
  "nodes": [
    {
      "id": "ce57e613-e2d9-42f0-841b-36eeb1520048",
      "name": "📋 WORKFLOW OVERVIEW",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1488,
        -336
      ],
      "parameters": {
        "width": 760,
        "height": 516,
        "content": "☀️ WhatsApp Daily Briefing Bot\nWorkflow Purpose\nDelivers a personalized morning summary via WATI combining live weather, news, Google Calendar events, and Google Tasks, featuring a motivational OpenAI"
      }
    },
    {
      "id": "74dd5c85-9d01-406c-a8f0-3e0ffbd91c4e",
      "name": "① ENTRY POINTS  ·  Schedule Trigger  ·  Wati Trigger  ·  Intent Router",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -640,
        192
      ],
      "parameters": {
        "width": 560,
        "height": 820,
        "content": "### Two ways the briefing fires\n\n**A) Automated — Schedule Trigger (7AM Daily)**\nCron: `0 7 * * *`\nFires every morning → straight to `Load User Config` → full briefing pipeline runs for every subscrib"
      }
    },
    {
      "id": "692cc4bc-33d8-4f8e-ad00-eb4dbfcedc44",
      "name": "③ FETCH WEATHER  ·  FETCH NEWS  ·  Two HTTP GET nodes",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        528,
        -48
      ],
      "parameters": {
        "width": 452,
        "height": 532,
        "content": "### Weather & News — two live data fetches\n**Node 1 · Fetch Weather** (HTTP GET)\nURL: `https://api.openweathermap.org/data/2.5/weather?q=YOUR_CITY&appid=YOUR_KEY&units=metric`\nReturns: `main.temp`, `m"
      }
    },
    {
      "id": "8d19c4d7-5876-4c22-bcc3-40efd4d2ebbd",
      "name": "④ GET CALENDAR EVENTS  ·  GET DUE TASKS  ·  Google Calendar + Google Tasks",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        528,
        512
      ],
      "parameters": {
        "width": 468,
        "height": 560,
        "content": "### Calendar & Tasks — two Google OAuth2 nodes\n**Node 1 · Get Today's Calendar Events** (Google Calendar).Operation: `getAll`.Calendar: `primary`\nReturns: array of events with `summary`, `start.dateTi"
      }
    },
    {
      "id": "a65003e7-d073-487a-a25c-6822d23218f6",
      "name": "⑤ OPENAI – GENERATE DAILY OPENER  ·  HTTP POST",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1024,
        352
      ],
      "parameters": {
        "width": 740,
        "height": 424,
        "content": "Nodes: OpenAI – Opener → Assemble Briefing → WATI – Send\nAI Opener: OpenAI (gpt-4o) crafts a unique, 15-word motivational greeting using the subscriber's name, weather, and daily event/task count.\nAgg"
      }
    },
    {
      "id": "7b013a1b-d87c-41db-a096-02b38c0fd05e",
      "name": "⑦ SUBSCRIBE / STOP / HELP  ·  Code + WATI send nodes",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        560
      ],
      "parameters": {
        "width": 560,
        "height": 632,
        "content": "**Subscribe path** (keyword: `subscribe`).`Add Subscriber` code node logs the sender's phone + name..In this template the list lives in `Load User Config` — edit that node to add them permanently.\n`WA"
      }
    },
    {
      "id": "b1dba8ba-2685-4ea8-a29f-bfc92eb97b6b",
      "name": "Schedule Trigger – 7AM Daily",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -608,
        496
      ]
    },
    {
      "id": "f54dc78a-97be-48b0-b084-641c3b85cb09",
      "name": "Intent Router",
      "type": "n8n-nodes-base.switch",
      "position": [
        -368,
        784
      ]
    },
    {
      "id": "24f956da-c182-41bb-b6db-86ca7bab8d6c",
      "name": "Add Subscriber",
      "type": "n8n-nodes-base.code",
      "position": [
        48,
        800
      ]
    },
    {
      "id": "ca36adf1-8db3-4cf4-910f-89a0cf28da00",
      "name": "WATI – Confirm Subscribe",
      "type": "n8n-nodes-wati.wati",
      "position": [
        304,
        800
      ]
    },
    {
      "id": "c5bb0f3d-d816-45fa-9c1e-7d62024085e0",
      "name": "Remove Subscriber",
      "type": "n8n-nodes-base.code",
      "position": [
        64,
        992
      ]
    },
    {
      "id": "2cbc18da-4776-417b-b4f9-0b2d14d3a3e8",
      "name": "WATI – Confirm Unsubscribe",
      "type": "n8n-nodes-wati.wati",
      "position": [
        304,
        992
      ]
    },
    {
      "id": "832b26c7-6737-4401-9753-2f836d3c13c7",
      "name": "Load User Config",
      "type": "n8n-nodes-base.code",
      "position": [
        -240,
        496
      ]
    },
    {
      "id": "f4066a7d-8dde-4743-8846-f436329b335b",
      "name": "Fetch Weather",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        688,
        192
      ]
    },
    {
      "id": "55fb6a6c-674c-4557-aa87-aa6ed3280329",
      "name": "Fetch News",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        688,
        352
      ]
    },
    {
      "id": "78f9e775-4c50-4180-918d-7cd26866d621",
      "name": "Get Today’s Calendar Events",
      "type": "n8n-nodes-base.googleCalendar",
      "position": [
        688,
        736
      ]
    },
    {
      "id": "28c8ec60-2da1-4ab6-b331-50ceea5aa2c1",
      "name": "Get Due Tasks",
      "type": "n8n-nodes-base.googleTasks",
      "position": [
        688,
        928
      ]
    },
    {
      "id": "87a08db3-9307-4c2e-8698-c08c45038b9b",
      "name": "OpenAI – Generate Daily Opener",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1104,
        544
      ]
    },
    {
      "id": "1fb16907-e723-42f6-abf8-cc0067bc9d43",
      "name": "Assemble Briefing",
      "type": "n8n-nodes-base.code",
      "position": [
        1296,
        544
      ]
    },
    {
      "id": "a32471e4-2101-461f-8f2a-5abdf06107a1",
      "name": "WATI – Send Briefing",
      "type": "n8n-nodes-wati.wati",
      "position": [
        1504,
        544
      ]
    },
    {
      "id": "5d04de70-f449-4894-807a-f457c2feaf75",
      "name": "Wati Trigger1",
      "type": "n8n-nodes-wati.watiTrigger",
      "position": [
        -608,
        816
      ]
    }
  ],
  "connections": {
    "Fetch News": {
      "main": [
        [
          {
            "node": "Get Today’s Calendar Events",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Weather": {
      "main": [
        [
          {
            "node": "Fetch News",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Due Tasks": {
      "main": [
        [
          {
            "node": "OpenAI – Generate Daily Opener",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Intent Router": {
      "main": [
        [
          {
            "node": "Load User Config",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Add Subscriber",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Remove Subscriber",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "Wati Trigger1": {
      "main": [
        [
          {
            "node": "Intent Router",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Add Subscriber": {
      "main": [
        [
          {
            "node": "WATI – Confirm Subscribe",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Load User Config": {
      "main": [
        [
          {
            "node": "Fetch Weather",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Assemble Briefing": {
      "main": [
        [
          {
            "node": "WATI – Send Briefing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Remove Subscriber": {
      "main": [
        [
          {
            "node": "WATI – Confirm Unsubscribe",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Today’s Calendar Events": {
      "main": [
        [
          {
            "node": "Get Due Tasks",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger – 7AM Daily": {
      "main": [
        [
          {
            "node": "Load User Config",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI – Generate Daily Opener": {
      "main": [
        [
          {
            "node": "Assemble Briefing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}