Templates / Automated daily stock market report with Bright Data, GPT-4.1, Airtable/Gmail

Automated daily stock market report with Bright Data, GPT-4.1, Airtable/Gmail

Ready for 3.0

by Baptiste Fort ✓ · 2,233 views · created 2025-09-18 · Crypto Trading, Multimodal AI

Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.

Nodes used (12)

Simple MemoryOpenAI Chat ModelAI AgentGmailAirtable

What it does

📘 Workflow Documentation – Stock Market Daily Digest !automatisationrapportboursierquotidienbaptistefort.png(fileId:2661) 👋 Introduction Wake up to a clean, analyst-style stock digest in your inbox—top gainers/losers, a readable performance table, 3–5 insights, and upcoming events—no spreadsheets, no manual scraping, no copy-paste. This article explains, step by step, how to build a robust, daily, end-to-end automation that collects market data (Bright Data), waits until scraping is done, aggregates results, asks an AI model (OpenAI) to draft a styled HTML email, logs everything to Airtable, and finally sends the report via Gmail. You’ll find a friendly but technical tour of every single node, so you can rebuild or adapt the same pipeline with confidence. --- 🎯 Who is this workflow for? - Investors & traders who want a quick, readable daily summary. - Finance/Product teams building data-driven alerts/digests. - Consultants & agencies sending recurring client updates. - Automation builders prototyping finance ops quickly. --- 🧰 Tools you’ll need - Bright Data — dataset triggers & snapshots for reliable web data. - OpenAI (GPT) — to generate a professional HTML digest. - Airtable — store daily rows for history, filters, dashboards. Example Airtable Table: Daily Stocks | Ticker | Company | Price | Change % | Sentiment | Date | |--------|--------------------------|---------|----------|-----------|---------------------| | AAPL | Apple Inc. | 225.80 | +1.4% | 🟢 Positive | 2025-09-18 09:00 | | MSFT | Microsoft Corporation | 415.20 | -0.7% | 🔴 Negative | 2025-09-18 09:00 | | NVDA | NVIDIA Corporation | 124.55 | +2.1% | 🟢 Positive | 2025-09-18 09:00 | | TSLA | Tesla Inc. | 260.00 | -3.0% | 🔴 Negative | 2025-09-18 09:00 | | META | Meta Platforms Inc. | 310.45 | +0.5% | 🟡 Neutral | 2025-09-18 09:00 | - Gmail — deliver the final HTML email to stakeholders. - n8n — the automation engine that orchestrates every step. > Keep API keys in n8n Credentials (never hard-code secrets). --- 🗺️ Architecture at a glance 1. Schedule fires daily 2. Seed list of tickers 3. Split into one item per stock 4. Prepare keyword for scraping 5. Launch Bright Data job 6. Poll progress with a wait-loop 7. Fetch snapshot data 8. Aggregate for the AI 9. Generate HTML summary (GPT) 10. Save rows to Airtable 11. Send email via Gmail --- ⚙️ Step-by-step — Every node explained ⏰ Daily Run Trigger (Schedule Trigger) !baptistefortautomatisationscrapingboursierbrightdata.png(fileId:2658) Purpose Start the automation at a precise time each day so nobody needs to push a button. Parameters (English) - Trigger Type: Time Interval or Cron - Every X: 1 Day (or your preferred cadence) - Timezone: UTC (or your own) - Start Time: optional (e.g., 09:00) --- 📝 Set Stock List (Set Node – SAMPLE DATA) Purpose Define the universe of stocks to monitor. This acts as the seed data for scraping. Parameters - Values to Set: Fixed JSON (array of objects) - Keep Only Set: true - Fields per item: ticker, name, marketcap (you may add sector, isin, etc.) --- 🔀 Split Stocks (Split Out) Purpose Turn the array into individual items so each ticker is processed independently (scraping, polling, results). Parameters - Operation: Split Out Items - Field to Split: the array defined in the previous Set node --- 🏷 Prepare Stock Keyword (Set Node) Purpose Create a keyword field (typically equal to ticker) for Bright Data discovery. Parameters - Values to Set: Add Field - Field Name: keyword - Value: use an expression referencing the current item’s ticker (e.g., {{ $json.ticker }} ) --- 🕸 Bright Data Scraper (HTTP Request) Purpose Trigger the Bright Data dataset to start collecting information for the keyword. Returns a snapshotid to poll later. Parameters - Method: POST - Endpoint: https://api.brightdata.com/datasets/v1/trigger - Authentication: Authorization: Bearer <token> (header) - Body Fields: - datasetid: your Bright Data dataset ID - discoverby: usually keyword - keyword: the v

View the original on n8n.io → Check your own copy

Get the weekly “what broke” email

New templates, newly broken ones, and n8n release changes. One short email a week.

Form not loading? Subscribe here.