AutomationMart
Home/Browse/Automated daily stock market report with Bright Data, GPT-4.1, Airtable/Gmail
n8n

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

n8nn8n15 modulesv1.0
GmailSlackAirtableOpenAIOutlook

Workflow Documentation – Stock Market Daily Digest 👋 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

At a glance

Automated daily stock market report with Bright Data, GPT-4.1, Airtable/Gmail is a ready-made n8n workflow you import as a workflow JSON file — no build required. It connects Gmail, Slack, Airtable, OpenAI. It's free to download. Follow the 5-step import below to go live in minutes.

Platform
n8n
Connects
Gmail, Slack, Airtable, OpenAI, Outlook
Modules
15
Price
Free
Version
v1.0
Automated daily stock market report with Bright Data, GPT-4.1, Airtable/Gmail workflow diagram

About this workflow

Workflow Documentation – Stock Market Daily Digest 👋 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) 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: - Authentication: Authorization: Bearer <token> (header) - Body Fields: - datasetid: your Bright Data dataset ID - discoverby: usually keyword - keyword: the value prepared above > Add a retry/backoff policy on 429/5xx in node options. --- 🔄 Check Scraper Progress (HTTP Request) Purpose Poll Bright Data to see whether the snapshot is running or ready. Parameters - Method: GET - Endpoint: - Authentication: Authorization: Bearer <token> - Expected Output: a status field (running, ready) --- ⏳ Wait for Data (Wait Node) Purpose Pause between progress checks to avoid rate limits and give Bright Data time to finish. Parameters - Mode: Wait a fixed amount of time - Time: e.g., 30 seconds (tune to your dataset size) --- 🔀 Scraper Status Switch (Switch Node) Purpose Route logic based on the polled status. Parameters - Value to Check: status - Rules: - Equals running → go to Wait for Data (then re-check) - Equals ready → proceed to Fetch Scraper Results > Loop pattern: Check → Wait → Check, until ready. --- 📥 Fetch Scraper Results (HTTP Request) Purpose Download the completed snapshot data once Bright Data marks it ready. Parameters - Method: GET - Endpoint: - Authentication: Authorization: Bearer <token> - Query: format=json - Output: array of rows per ticker (price, change %, any fields your dataset yields) > Normalize fields with a Set/Code node if needed. --- 📊 Aggregate Stock Data (Aggregate Node) Purpose Combine all individual items into one consolidated object so the AI can analyze the entire market snapshot. Parameters - Mode: Aggregate (merge to a single item) - Fields to Include: ticker, name, price, change, sentiment (plus any extra fields captured) - Output: one JSON item containing an array/map of the day’s stocks --- 🤖 Generate Daily Summary (AI Node – OpenAI) Purpose Ask the model to convert raw data into a styled HTML email: headline, top movers, table, insights, and (optional) upcoming events. Parameters - Model: gpt-4.1 - Input: the aggregated JSON from the previous node - Prompt guidelines: - Output HTML only with inline styles (email-safe) - Include a table (Ticker, Company, % Change with ↑/↓ & color, Market Cap, Sentiment icon) - Highlight top 2 gainers & 2 losers with short reasoning if present - Provide 3–5 insights (sector rotation, volatility, outliers) - Add upcoming events when available (earnings, launches, macro) - Footer: “Generated automatically by your AI-powered stock monitor” - Output field: confirm the exact property that contains the HTML (e.g., output, message, text) --- 🗂 Save to Airtable (Airtable – Create Record) Purpose Log each item (or the roll-up) to Airtable for history, filtering, and dashboards. Parameters - Operation: Create Record - Base ID: from your Airtable URL - Table: e.g., Daily Stocks - Field Mapping: - Ticker ← {{ $json.ticker }} - Company ← {{ $json.name }} - Price ← {{ $json.price }} - Change % ← {{ $json.change }} - Sentiment ← {{ $json.sentiment }} - Date ← {{ $now.toISO() }} > Use a Single-Select for Sentiment (🟢 / 🟡 / 🔴) to build clean Airtable views. --- 📧 Send Report via Gmail (Gmail Node) Purpose Deliver the AI-generated HTML digest to your recipients. Parameters - Operation: Send Email - Send To: one or more recipients (e.g., investor@domain.com) - Subject: Daily Stock Market Digest – {{ $now.format("yyyy-MM-dd") }} - Message (HTML): reference the AI node’s HTML property (e.g., {{ $('Generate Daily Summary').first().json.output }} ) - Options: set Append Attribution to false (keep the email clean) > Test in Gmail, Outlook, and mobile to validate inline CSS. --- 🧪 Error handling & reliability tips - Backoff on Bright Data — If scraping many tickers, increase Wait or batch requests. - Guard against empty results — If a snapshot returns 0 rows, branch to a fallback email (“No data today”). - AI guardrails — Enforce “HTML-only” and skip missing sections gracefully. - Airtable normalization — Strip %, cast numbers to float before insert. - Observability — Add a final Slack/Email On Fail node with run ID and error message. --- 🧩 Customization ideas - Sector deep-dives: add sector fields and a second AI paragraph on sector rotation. - CSV attachment: generate & attach a CSV for power users. - Multiple lists: run parallel branches for Tech, Healthcare, or regions. - Other asset classes: Crypto, ETFs, Indices, FX. - Audience targeting: different “To” lists and slightly different prompts per audience. --- ✅ Why this workflow is powerful - Hands-off — the report simply shows up every day. - Analyst-grade — clean HTML, top movers, tidy table, actionable insights. - Auditable — rows archived in Airtable for history and dashboards. - Composable — swap scrapers, LLMs, storage, or email service. - Scalable — start with 10 tickers, grow to many lists using the same loop. For advanced no-code & AI projects, see 0vni – Agence automatisation.

n8n

How to import this n8n workflow

  1. 1

    Download the workflow JSON file after purchase.

  2. 2

    Open n8n → click the menu → Import from File.

  3. 3

    Select the downloaded JSON and import.

  4. 4

    Set up credentials for each node that requires them.

  5. 5

    Click Execute Workflow to test, then activate.

Setup guide

Setup guide included

Purchase to unlock the full step-by-step guide

Related N8n workflows

Send a Gmail email from a new Interact quiz submission

Every time a new Interact quiz with lead data is submitted, a Gmail email will be sent. The template expects your Interact quiz to have these fields: 1) First Name 2) Last Name 3) Email 4) Phone Number

Free

Create Trello cards from starred Gmail emails.

Use this automation to grab starred Gmail emails and created Trello cards from the information.

Free

Health check websites with Google Sheets & Telegram alerts

What does this template do ? This workflow performs scheduled health checks on a list of URLs stored in a Google Sheet. Every X minutes, it retrieves the URLs, sends HTTP requests to check their availability, and notifies a Telegram chat if any request fails. You can easily replace Telegram with any other notification service supported by n8n, such as Slack, Discord, Email, or Microsoft Teams. Use Case Ideal for monitoring internal or external services, ensuring uptime and responsiveness. Integ

Free

Create new Airtable records for every new article from RSS feed using ChatGPT

Automatically create new Airtable records for each new article from your RSS feed using ChatGPT to generate content insights.

Free

Assess Mailchimp campaign reports with OpenAI and store the results on a Google Sheet

Analyze your Mailchimp campaign performance using OpenAI, and effortlessly save crucial insights on Google Sheets with accompanying improvement suggestions.

Free

🎨 AI design team - generate and review AI images with Ideogram and OpenAI

AI Graphic Design Team - Generate and Review AI Images with Ideogram and OpenAI Description Who is this for? This workflow is perfect for graphic designers, creative agencies, marketing teams, or freelancers who regularly use AI-generated images in their projects. It's specifically beneficial for teams that want to automate the generation, review, and management of AI-created graphics efficiently. What problem does this workflow solve? Design teams often face time-consuming manual reviews and in

Free

Track multi-currency expenses from receipts with easybits, Telegram, and Google Sheets

How It Works This workflow automates multi-currency expense tracking via Telegram. Send a receipt photo to your bot, and it automatically extracts the invoice details, converts the amount to EUR using a live exchange rate, and logs everything straight into Google Sheets. Flow overview: 1. User sends a receipt photo via Telegram 2. easybits Extractor reads the document and returns structured data 3. The data is normalised and cleaned 4. The exchange rate is fetched (with fallback if needed) 5. Th

Free

Create automated video ad clones with NanoBanana, Kling, Airtable and Blotato

Clone Video Ads Factory using NanoBanana, Kling and Publish with Blotato 📄 Documentation: Notion Guide Who is this for? This workflow is built for marketers, growth hackers, agencies, content creators, and automation builders who want to industrialize vi

Free

Reviews

No reviews yet

Be the first to buy and share your experience.

Leave a review

Sign in to share your experience with this workflow.

Log in to review
Free
No ratings yet

Create a free account to purchase workflows.

  • JSON blueprint — instant download
  • Setup guide PDF included
  • 5 downloads · valid 30 days
  • Works with n8n

Need help setting this up?

Book a 3-hour live setup session with an Agility consultant.

₹2,499/ session
3 hrs · video call
  • Configure live on Google Meet / Zoom
  • Free follow-up if workflow has defects
  • Platform expert assigned to you
Book installation session
Free