{
  "name": "Send a daily stock movers and news email digest via Google Sheets, EODHD and Gmail",
  "nodes": [
    {
      "id": "node-0001",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        48,
        160
      ]
    },
    {
      "id": "node-0002",
      "name": "Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        496,
        256
      ]
    },
    {
      "id": "node-0003",
      "name": "HTTP Request - EOD",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        720,
        256
      ]
    },
    {
      "id": "node-0004",
      "name": "HTTP Request - News",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        944,
        256
      ]
    },
    {
      "id": "node-0005",
      "name": "Build Email HTML",
      "type": "n8n-nodes-base.code",
      "position": [
        1168,
        256
      ]
    },
    {
      "id": "node-0006",
      "name": "Send Email via Gmail",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1392,
        256
      ]
    },
    {
      "id": "b369108f-37f6-4d5d-9f70-3d06f3f2e620",
      "name": "When clicking ‘Execute workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        272,
        352
      ]
    },
    {
      "id": "node-cfg-0010",
      "name": "⚙️ Config",
      "type": "n8n-nodes-base.set",
      "position": [
        272,
        160
      ]
    },
    {
      "id": "sticky-0001",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1008,
        -48
      ],
      "parameters": {
        "width": 684,
        "height": 514,
        "content": "## Send daily stock price movers and financial news digest via Gmail\n\nAutomatically monitor your stock watchlist every morning and receive a formatted email with price changes and curated financial ne"
      }
    },
    {
      "id": "sticky-0002",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -240,
        64
      ],
      "parameters": {
        "width": 214,
        "height": 330,
        "content": "## Step 1 — Trigger & config\n\nSet your **EODHD API key** and **recipient email** in ⚙️ Config before running.\n\nRuns daily at **7 AM UTC**. Change timezone in Workflow Settings.\nYou can also run manual"
      }
    },
    {
      "id": "sticky-0003",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        608,
        -176
      ],
      "parameters": {
        "width": null,
        "height": 362,
        "content": "## Step 2 — Fetch prices & news (EODHD API)\n\nYour Google Sheet must have a column named **`ticker`** (lowercase). One US ticker per row (MSFT, META, AMZN…).\n\n- **EOD**: fetches last 14 days of closing"
      }
    },
    {
      "id": "sticky-0004",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1040,
        -160
      ],
      "parameters": {
        "width": 336,
        "height": 298,
        "content": "## Step 3 — Build & send email\n\nGroups prices and news by ticker, calculates % change vs previous close, and classifies sentiment:\n- 😊 **Positive** (polarity > 0.6)\n- 😐 **Neutral**\n- 😟 **Negative** (p"
      }
    },
    {
      "id": "f7898c1c-4b94-4d85-ad28-2172c03be622",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1584,
        48
      ],
      "parameters": {
        "width": null,
        "height": 288,
        "content": "## Output\n![txt](https://ik.imagekit.io/agbb7sr41/image.png)"
      }
    }
  ],
  "connections": {
    "Google Sheets": {
      "main": [
        [
          {
            "node": "HTTP Request - EOD",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "⚙️ Config": {
      "main": [
        [
          {
            "node": "Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build Email HTML": {
      "main": [
        [
          {
            "node": "Send Email via Gmail",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "⚙️ Config",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request - EOD": {
      "main": [
        [
          {
            "node": "HTTP Request - News",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request - News": {
      "main": [
        [
          {
            "node": "Build Email HTML",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking 'Execute workflow'": {
      "main": [
        [
          {
            "node": "⚙️ Config",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}