by WeblineIndia
WooCommerce VIP Customer Automation This workflow automatically identifies VIP customers from your WooCommerce store based on their total spending and number of completed orders. It pulls new orders on a schedule, filters valid transactions, groups customers, calculates their VIP tier, stores them into Airtable and notifies your team in Slack.It removes all manual checking and ensures your team instantly knows when a high-value customer places an order. Quick Start – Implementation Steps Add your WooCommerce store domain and API credentials inside n8n. Configure Airtable and Slack credentials. Adjust VIP rules (lifetime spend or total orders) if needed. Activate the workflow — it will automatically detect VIPs and alert your team. What It Does This workflow fully automates VIP customer detection for WooCommerce stores. Every few minutes, it retrieves new orders via WooCommerce API. It filters only processing or completed orders and extracts essential fields such as customer ID, customer name order total and timestamps. The workflow then groups orders by customer to ensure duplicate orders don’t inflate metrics. For each customer, it fetches their complete order history, calculates lifetime value, counts total paid orders and assigns a VIP tier (Platinum, Gold or Silver). Once a customer qualifies, their details are saved into Airtable for tracking. A Slack message is simultaneously sent to inform your team so they can take immediate action — such as providing priority support, follow-up messages or special offers. This system runs completely on its own and keeps customer insights up-to-date without manual checks. Who’s It For This workflow is ideal for: WooCommerce store owners Customer support teams Marketing teams CRM & retention specialists eCommerce operations teams Businesses wanting automated VIP alerts Requirements to Use This Workflow You will need: A running n8n instance (cloud or self-hosted) A WooCommerce store with API keys A Slack workspace with API permissions An Airtable Base to store VIP customers Basic understanding of WooCommerce and Airtable fields How It Works Scheduled Trigger – Runs every few minutes to check for new orders. Domain Setup – Assigns the WooCommerce store domain used across API calls. Fetch Orders – Retrieves all orders from WooCommerce. Filter Valid Orders – Only keeps completed or processing orders. Format & Clean Data – Extracts only key order details. Deduplicate Customers – Only the first order per customer is processed. Fetch Order History – Gets lifetime order history for each customer. Calculate VIP Tier – Determines Platinum/Gold/Silver based on spend or order count. Filter VIP Only – Removes customers who do not qualify. Save to Airtable – Creates/updates VIP records. Notify Team on Slack – Sends VIP alerts instantly. Setup Steps Import this workflow JSON into n8n. Enter your WooCommerce API credentials in the HTTP Request nodes. Update the wc\_domain value in the “Set WooCommerce Domain” node. Configure Airtable credentials and select your Base + Table. Set your Slack channel ID inside the Slack node. Adjust VIP rules inside the “Calculate VIP Tier” code node if needed. Activate the workflow — it will now run automatically. How to Customize Nodes Adjust VIP Rules Edit the logic inside Calculate VIP Tier: Change Platinum threshold (₹20,000 or your value) Change Gold rule (5 orders or more) Add new VIP tiers Customize Airtable Fields You can modify: Table columns Field naming Additional customer details Customize Slack Alerts In the Slack node, change: Message format Channel ID Emoji, headings or urgency indicators Add-Ons (Optional Enhancements) You can extend this workflow with: Automatic email to VIP customers Loyalty point calculation Google Sheets export Integration with CRM platforms Send SMS notifications Separate VIP tiers into dedicated Slack channels Use Case Examples Notify support about high-value customers Track customers crossing spending milestones Identify loyal customers with 5+ repeat purchases Automatically sync VIP customers to CRM Trigger loyalty coupon generation Troubleshooting Guide | Issue | Possible Cause | Solution | |---------------------------|--------------------------------------------------|--------------------------------------------------------------| | No orders fetched | Wrong domain or API keys | Update WooCommerce credentials | | VIP not detected | Customer has low spend or low orders | Verify VIP rules in “Calculate VIP Tier” | | Airtable record not created | Incorrect table schema | Match Airtable fields with node mapping | | Slack alert missing | Wrong Slack channel ID or credentials | Re-check Slack authentication | | Guest users included | Missing customer_id filter | Ensure customer_id != 0 condition stays in place | Need Help? If you need assistance integrating this workflow, customizing VIP rules or adding new automations, our automation team at WeblineIndia is happy to help. You can also extend this system with loyalty engines, advanced analytics, multi-store support or any custom automation tailored for your eCommerce business.
by Muhammad Bello
Description This automation streamlines client onboarding by instantly processing a submitted form, extracting key details from an uploaded proposal, and using GPT-4 to generate a full onboarding task list. It then sets up the client workspace across Google Drive, ClickUp, and Slack, and sends a personalized welcome email completing in under a minute from submission. Setup Steps Connect your Google Drive, ClickUp, Slack, Gmail, and OpenAI accounts. Customize the form fields and system prompt to match your business. Test the workflow with a sample client submission to confirm all outputs. Estimated Setup Time: \~30–45 minutes for a first-time user familiar with n8n integrations.
by Akshay Chug
Overview Stop spending Monday mornings manually pulling numbers and building reports. This workflow reads your last 7 days of business data from Google Sheets, asks Claude AI to compare it to the week before, spot trends, flag problems and highlight wins — then emails a plain-English health report to your inbox before your team standup. How it works Fires every Monday at 7AM automatically Pulls this week's and last week's data from your Google Sheet Formats both datasets into a clean comparison table Claude AI analyses the numbers and writes a structured health report covering wins, concerns, and top 3 actions Report is emailed to your team via Gmail Every run is logged to a second sheet tab for historical tracking Setup steps Google Sheets — Connect your Google account in Fetch This Week Data and Fetch Last Week Data nodes and select your data sheet. Each row should be one day, columns should be your key metrics Configure node — Open Configure Report Settings and set your business name, report email, and a plain-English description of what your columns mean Claude AI — Add your Anthropic API key to the Claude Sonnet sub-node from console.anthropic.com Gmail — Connect your Gmail account in Send Weekly Report Log sheet — Create a second tab called Report Log with columns: Date, Week Covered, Business, Status, Summary. Connect it in Log Report Run Activate — runs automatically every Monday at 7AM
by Devon Toh
This Template Demonstrates How To Automate Generating and Sending Personalized Quotations as PDF. Use cases are many: send branded quotations to new leads after a discovery call, distribute pricing proposals to inbound form submissions, or push service packages to prospects. All without manually creating documents, exporting PDFs, or writing individual emails. Good to know OpenAI charges per token. The workflow uses gpt-4o-mini for cost efficiency (~$0.15/1M input tokens). Check OpenAI Pricing before running at scale. Google Docs template must be set up with placeholder variables before the first run. The workflow fills data in — it won’t generate a layout for you. Gmail has daily sending limits depending on your Google Workspace plan. Check your quota before sending large volumes. The form is hosted by n8n — share the form URL with your team or embed it in your internal tools. How it works PHASE 1: FORM INTAKE An n8n Form Trigger collects all quotation details: client name, email, company, service type, service description, price, validity date, and optional notes. The form is self-hosted on your n8n instance — no third-party form tools needed. Once submitted, all fields pass directly into the workflow as structured data. PHASE 2: AI PERSONALIZATION The form data is sent to OpenAI (gpt-4o-mini) which generates two pieces of content: – A personalized introduction paragraph addressing the client by name, referencing their company and specific needs. – A structured scope of work summary with deliverable bullet points based on the service description. Output is returned as JSON so it slots cleanly into the document template and email body. PHASE 3: DOCUMENT GENERATION The workflow copies your pre-built Google Docs quotation template to a new document, named automatically as “Quotation - {Company} - {Service}”. Nine placeholder variables are replaced in the copied document: {{client_name}}, {{company_name}}, {{client_email}}, {{service}}, {{price}}, {{valid_until}}, {{notes}}, {{intro}}, and {{scope_summary}}. The completed document is exported from Google Drive as a PDF. Your branding, layout, and formatting stay exactly as designed in the template. PHASE 4: EMAIL DELIVERY The PDF is attached to a personalized email sent via Gmail directly to the client’s email address. The email body includes the AI-generated intro, scope of work summary, total price, and validity date — no manual copy-pasting. The form submitter sees a confirmation response once the email is sent. Closed loop, fully hands-off. How to use Create your Google Docs template with your preferred layout, branding, and these placeholders: {{client_name}}, {{company_name}}, {{client_email}}, {{service}}, {{price}}, {{valid_until}}, {{notes}}, {{intro}}, {{scope_summary}}. Copy the template Document ID from the URL (docs.google.com/document/d/THIS_PART/edit) and paste it into the Copy Template node. Configure Google OAuth via Google Console. Create a project, apply your Client ID and Secret in the Google Drive, Google Docs, and Gmail node credentials. Set the OpenAI credential with your API key in the OpenAI Personalize node. Share the form URL with your team. The URL is generated automatically when the workflow is activated. Requirements • OpenAI API — personalized intro and scope generation • Google Drive OAuth — template copying and PDF export • Google Docs OAuth — variable replacement in the document • Gmail OAuth — personalized email delivery with PDF attachment • n8n instance (self-hosted or cloud) Customising this workflow • Swap the form trigger for a webhook or CRM integration (HubSpot, GoHighLevel, Airtable) if you want quotations generated from pipeline stage changes instead of manual form submissions. • Add a Slack or email approval step before sending — insert a Slack node between Export as PDF and Send Quotation Email if you want a manager to review before it goes out. • Replace Gmail with any email provider (Outlook, SMTP, SendGrid) if your team doesn’t use Google Workspace. • Add a Google Sheets logging step after sending to track all sent quotations with client name, date, service, and price for reporting. • This pattern works beyond quotations — try it for proposals, invoices, contracts, or any document where the structure stays fixed but the data changes. • Add multiple service line items by extending the form with repeating fields and adjusting the template to include a table of services with individual pricing.
by Shady Ahmed
📌 Description Automate your course enrollment process with this workflow that handles student submissions, evaluates eligibility, and sends acceptance or rejection emails — all without manual effort. It's perfect for instructors managing multi-week technical courses who want to streamline onboarding and communication. ⚙️ How It Works 📥 Captures student registration data via an n8n Form Trigger 📊 Evaluates responses (e.g., checks programming background & availability) 📤 Sends automated, personalized acceptance or rejection emails based on criteria 📝 Logs submission outcomes for review 📨 Optionally stores records in Google Sheets, Airtable, or a database (customizable) 🛠️ Set Up Steps 🔗 Connect Gmail (or your preferred email service) ✅ Add your course filtering logic to the decision node (simple JSON rules) 📄 Customize email templates (plain or HTML) 🧪 Test the flow with sample submissions ⏱️ Setup Time: 10–15 minutes (depending on integrations) 🔐 Notes No hardcoded API keys used – all credentials must be set up using the n8n credential system Sticky notes inside the workflow provide detailed setup and customization tips Easily extendable to add payment links, WhatsApp alerts, or CRM integration
by Vlad Arbatov
Summary Send a number to your Telegram bot (e.g., 2) and get a neatly formatted digest of all Gmail newsletters received since that date. Each email is summarized by an LLM into concise topics, merged into a single Telegram message, automatically split into chunks to fit Telegram limits, and safely formatted as HTML. What this workflow does Triggers on your Telegram message containing a number of days, e.g., 1, 2, 7 Fetches all Gmail messages since that date using a custom search query, optionally filtered by senders Retrieves and decodes each email’s HTML, subject, sender name, date Prompts an LLM (GPT‑4.1‑mini) to produce a consistent JSON summary of topics per email Merges topics from all emails into a single digest Builds a readable, enumerated message (with bold titles) Splits it into 3 500‑char parts and sanitizes Markdown to Telegram‑safe HTML Sends the digest to your Telegram chat with preview disabled Apps and credentials Gmail OAuth2: Gmail account Telegram: Telegram account (bot) OpenAI: OpenAi account Typical use cases Personal or team daily/weekly newsletter digests in Telegram Curated feeds from selected senders compiled on demand Lightweight knowledge briefings without leaving Telegram How it works (node-by-node) Telegram Trigger Waits for your message (e.g., "2"). Chat ID is restricted to your Telegram ID for safety. Get days (Code) Takes the numeric daysAgo from the Telegram message text Computes YYYY/MM/DD for Gmail’s after: filter Get many messages (Gmail → getAll, returnAll: true) Uses a custom q filter like: =(from:@.com) OR (from:@.com) OR (from:@.com -"__") after:{{ $json.dateString }} Returns a list of message IDs Loop Over Items (Split in Batches) Iterates through each message ID Get a message (Gmail → get) Retrieves the full message/payload for the current email Get message data (Code) Extracts HTML from Gmail’s payload (body/parts) Normalizes sender to just the name Formats the date as DD.MM.YYYY Passes html, subject, from, date forward Clean (Code) Converts DD.MM.YYYY → MM.DD (for prompt brevity) Passes html, subject, from, date to the LLM Message a model (OpenAI, model: gpt‑4.1‑mini, JSON output) Prompt instructs: Produce JSON: { "topics": [ { "title", "descr", "subject", "from", "date" } ] } Split multi-news blocks into separate topics Combine or ignore specific blocks for particular senders (placeholders __) Keep subject untranslated; other values in __ language Injects subject/from/date/html from the current email Loop Over Items (continues) After all iterations complete, the aggregated per-email results are available Merge (Code) Flattens the topics arrays from all processed emails into one combined topics list Create TG message (Code) Renders an enumerated list: 1. Title (bold) Short description Original subject From — Date Split (Code) Splits into 3 500‑character chunks to stay below Telegram’s 4 096 limit with HTML overhead Sanitize (Code) Escapes &, <, > Fixes unbalanced * and _ Converts basic Markdown markers to Telegram HTML Send a message (Telegram) Sends each part with parse_mode=HTML, previews disabled Node map | Node | Type | Purpose | |---|---|---| | Telegram Trigger | Trigger | Receive daysAgo command from Telegram | | Get days | Code | Compute Gmail after:YYYY/MM/DD from daysAgo | | Get many messages | Gmail (getAll) | Search emails since date with custom from: filters | | Loop Over Items | Split in Batches | Iterate messages one-by-one | | Get a message | Gmail (get) | Fetch full message payload | | Get message data | Code | Extract HTML/subject/from/date; normalize sender and date | | Clean | Code | Reformat date and forward fields to LLM | | Message a model | OpenAI | Summarize email into JSON topics | | Merge | Code | Merge topics from all emails | | Create TG message | Code | Build human-friendly digest text | | Split | Code | Chunk into 3 500‑char parts | | Sanitize | Code | Escape HTML and map Markdown to Telegram HTML | | Send a message | Telegram | Deliver digest to Telegram chat | Before you start Create a Telegram bot and get its token (via @BotFather) Get your Telegram user ID to restrict access Connect Gmail OAuth2 in n8n Add your OpenAI API key Import the provided workflow JSON into n8n Setup instructions 1) Telegram Telegram Trigger node: additionalFields.chatIds = your Telegram user ID Send a message node: chatId = your Telegram user ID parse_mode = HTML disable_web_page_preview = true 2) Gmail Connect a Gmail OAuth2 credential (Gmail account) In Get many messages, adjust filters.q to your senders and rules: Example: =(from:news@publisher.com) OR (from:briefs@media.com -"promo") after:{{ $json.dateString }} If needed, add label: or category: filters 3) OpenAI Message a model: Model: gpt‑4.1‑mini (can swap to gpt‑4o‑mini or your preferred) Update the prompt placeholders: __ language → your target language __ sender rules → your special cases (combine blocks, ignore sections) 4) Safety and formatting Keep parse_mode=HTML in Telegram The Sanitize node is designed for ` and ` only; avoid other HTML tags The Split node uses 3 500 chars per part to stay safe under Telegram limits How to use In Telegram, send a number indicating “days ago” Example: 2 → will query Gmail after the date 2 days ago The workflow compiles and returns a digest in your chat Rerun anytime with a new number Customization ideas Labels instead of global search: q = label:Newsletters after:{{ $json.dateString }} Time window control: add before: or exact date ranges Different language: set the __ language in the LLM prompt Model choice: swap to cheaper/faster models if volume is high Chunk size: adjust from 3 500 to your needs Formatting: tweak Create TG message to include links parsed from HTML (if you add an HTML parser step) Limits and notes Telegram messages are limited to ~4 096 characters; we chunk to 3 500 per part Gmail “after:” uses YYYY/MM/DD and Google’s interpretation of dates; your n8n server time influences the computed date LLM usage incurs cost and latency proportional to email size and count HTML extraction is robust for typical Gmail structures but may need tweaks for exotic MIME layouts Privacy and safety Emails are sent to OpenAI for summarization—ensure that’s acceptable for your data policies The Telegram Trigger restricts chat access; keep your chatIds locked down Avoid sending raw HTML to Telegram; rely on the Sanitize node Sample output format (Telegram) Bold topic title One-sentence description Original Subject Line → Sender Name — DD.MM.YYYY Next topic title ... Tips and troubleshooting Got empty digests? Check Gmail filters.q and make sure there really are emails after the computed date Model errors or empty JSON? Lower prompt complexity or switch model HTML formatting issues in Telegram? Ensure parse_mode=HTML and keep only `, ` Long messages not fully delivered? Reduce chunk size from 3 500 Tags gmail, telegram, openai, llm, newsletters, digest, summarization, automation Changelog v1: Initial release with sender filters, topic merging, Telegram HTML sanitization, and on-demand time window via Telegram message
by Avkash Kakdiya
How it works This workflow automatically captures website visitors using Albacross, enriches their data with Datagma, and syncs it into HubSpot. Once leads are created or updated, a personalized email is generated and sent through Gmail. All email activities are logged in HubSpot for proper sales tracking and follow-up. Step-by-step 1. Trigger the workflow Schedule Trigger** – Runs the workflow at set intervals (hourly, daily, or custom). 2. Capture website visitors Albacross Website Visitor** – Pulls company and visitor details from website activity. 3. Enrich lead data Enrich Lead Data** – Enhances visitor records with personal and professional details via Datagma. 4. Sync to CRM Create/Update HubSpot Contact** – Creates or updates contact records in HubSpot with enriched lead data. 5. Generate personalized outreach Generate Personalized Message** – Builds a tailored email including company, industry, and value propositions. 6. Send and track emails Send Personalized Email** – Sends the outreach message through Gmail. Log Email Activity in HubSpot** – Tracks email engagement automatically in HubSpot. Why use this? Capture and identify anonymous website visitors as potential leads. Enrich contact details with accurate, professional information. Keep HubSpot updated automatically without manual data entry. Send highly personalized outreach emails tailored to each lead. Log all communication for better pipeline visibility and sales follow-up.
by Ahmad Bukhari
Who is this for? This workflow is built for education businesses, course creators, coaching programs, and online academies that use Close CRM for sales and need to automate everything that happens after a deal closes. If your team is manually creating Airtable records, sending community invites, setting up support contacts, and pinging Slack every time a new student enrolls this template handles all of it automatically. What problem does this solve? Post-sale onboarding involves 5+ manual steps across different platforms, and things get missed New students wait hours (or days) for their community invite and welcome emails No single source of truth student data lives in CRM, Airtable, community platform, and support tool separately When one step fails (e.g., Airtable is down), the entire onboarding stalls with no visibility What this workflow does When a deal is marked "Closed/Won" in Close CRM, this workflow automatically: Validates the data** filters for won opportunities only, validates the student's email before proceeding Fetches full CRM context** pulls lead details from Close CRM's API and maps custom field IDs to human-readable names Routes by program tier** uses a Switch node to direct students into different onboarding paths based on what they purchased Creates Airtable records** adds entries to both a Student Onboarding tracker and a Clients table with full contact details, program info, and sales rep Invites to Mighty Networks** sends a community invitation to the student's email automatically Creates Intercom contact** sets up a support profile so your CS team is ready on day one Notifies your team on Slack** sends a success message, or step-specific error alerts if any integration fails Each integration step has independent error handling if Airtable goes down, the community invite and Intercom sync still run, and your team gets a specific Slack alert about the Airtable failure. Setup Credentials needed Close CRM** API credentials Airtable** API credentials Mighty Networks** API credentials Intercom** OAuth credentials Slack** OAuth credentials Kit (ConvertKit)** API credentials (optional, for email drip sequence) Configuration In Close CRM → Settings → Webhooks, create a webhook that fires on opportunity status changes. Point it to the n8n webhook URL shown in the Close CRM Webhook node Open the Airtable nodes and update the base ID, table IDs, and field mappings to match your Airtable setup Update the Mighty Networks community/group IDs in the invite node Set the Slack channel ID to your onboarding notifications channel (Optional) Set your Kit sequence ID if using the email drip add-on Test it Create a test opportunity in Close CRM, set it to "Closed/Won," and verify that records appear in Airtable, the community invite is sent, an Intercom contact is created, and Slack receives the notification. How to customize this workflow Different CRM?** Replace the Close CRM webhook and API nodes with your CRM's webhook trigger and API calls (HubSpot, Salesforce, Pipedrive, etc.) Different community platform?** Swap the Mighty Networks invite node for Circle, Skool, Discord, or any platform with an API Add more onboarding steps?** Insert nodes after the Switch for things like Google Workspace account creation, LMS enrollment, or calendar booking Multiple program tiers?** Extend the Switch node with additional routes each tier can have its own Airtable table, community group, and email sequence Remove integrations you don't use?** Each branch is independent simply delete or disable the Intercom, Mighty Networks, or Kit nodes without breaking the rest
by AbSa~
🚀 Overview This workflow automates video uploads from Telegram directly to Google Drive, complete with smart file renaming, Google Sheets logging, and AI assistance via Google Gemini. It’s perfect for creators, educators, or organizations that want to streamline video submissions and file management. ⚙️ How It Works Telegram Trigger -> Start the workflow when a user sends a video file to your Telegram bot. Switch Node -> Detects file type or command and routes the flow accordingly. Get File -> Downloads the Telegram video file. Upload to Google Drive -> Automatically uploads the video to your chosen Drive folder. Smart Rename -> The file name is auto-formatted using dynamic logic (date, username, or custom tags). Google Sheets Logging -> Appends or updates upload data (e.g., filename, sender, timestamp) for easy tracking. AI Agent Integration -> Uses Google Gemini AI connected to Data Vidio memory to analyze or respond intelligently to user queries. Telegram Notification -> Sends confirmation or status messages back to Telegram. 🧠 Highlights Seamlessly integrates Telegram → Google Drive → Google Sheets → Gemini AI Supports file update or append mode Auto-rename logic via the Code node Works with custom memory tools for smarter AI responses Easy to clone and adapt, just connect your own credentials 🪄 Ideal Use Cases Video assignment submissions for schools or academies Media upload management for marketing teams Automated video archiving and AI-assisted review Personal Telegram-to-Drive backup assistant 🧩 Setup Tips Copy and use the provided Google Sheet template (SheetTemplate) Configure your Telegram Bot token, Google Drive, and Sheets credentials Update the AI Agent node with your Gemini API key and connect the Data Vidio sheet Test with a sample Telegram video before full automation
by Davide
This is an exaple of advanced automated data extraction and enrichment pipeline with ScrapeGraphAI. Its primary purpose is to systematically scrape the n8n community workflows website, extract detailed information about recently added workflows, process that data using multiple AI models, and store the structured results in a Google Sheets spreadsheet. This workflow demonstrates a sophisticated use of n8n to move beyond simple API calls and into the realm of intelligent, AI-driven web scraping and data processing, turning unstructured website content into valuable, structured business intelligence. Key Advantages ✅ Full Automation: Once triggered (manually or on a schedule via the Schedule Trigger node), the entire process runs hands-free, from data collection to spreadsheet population. ✅ Powerful AI-Augmented Scraping: It doesn't just scrape raw HTML. It uses multiple AI agents (Google Gemini, OpenAI) to: Understand page structure to find the right data on the main list. Clean and purify content from individual pages, removing and irrelevant information. Perform precise information extraction to parse unstructured text into structured JSON data based on a defined schema (author, price, etc.). Generate intelligent summaries, adding significant value by explaining the workflow's purpose in Italian. ✅ Robust and Structured Data Output: The use of the Structured Output Parser and Information Extractor nodes ensures the data is clean, consistent, and ready for analysis. It outputs perfectly formatted JSON that maps directly to spreadsheet columns. ✅ Scalability via Batching: The Split In Batches and Loop Over Items nodes allow the workflow to process a dynamically sized list of workflows. Whether there are 5 or 50 new workflows, it will process each one sequentially without failing. ✅ Effective Data Integration: It seamlessly integrates with Google Sheets, acting as a simple and powerful database. This makes the collected data immediately accessible, shareable, and available for visualization in tools like Looker Studio. ✅ Resilience to Website Changes: By using AI models trained to understand content and context (like "find the 'Recently Added' section" or "find the author's name"), the workflow is more resilient to minor cosmetic changes on the target website compared to traditional CSS/XPath selectors. How It Works The workflow operates in two main phases: Phase 1: Scraping the Main List Trigger: The workflow can be started manually ("Execute Workflow") or automatically on a schedule. Scraping: The "Scrape main page" node (using ScrapeGraphAI) fetches and converts the https://n8n.io/workflows/ page into clean Markdown format. Data Extraction: An LLM chain ("Extract 'Recently added'") analyzes the Markdown. It is specifically instructed to identify all workflow titles and URLs within the "Recently Added" section and output them as a structured JSON array named workflows. Data Preparation: The resulting array is set as a variable and then split out into individual items, preparing them for processing one-by-one. Phase 2: Processing Individual Workflows Loop: The "Loop Over Items" node iterates through each workflow URL obtained from Phase 1. Scrape & Clean Detail Page: For each URL, the "Scrape single Workflow" node fetches the detail page. Another LLM chain ("Main content") cleans the resulting Markdown, removing superfluous content and focusing only on the core article text. Information Extraction: The cleaned Markdown is passed to an "Information Extractor" node. This uses a language model to locate and structure specific data points (title, URL, ID, author, categories, price) into a defined JSON schema. Summarization: The cleaned Markdown is also sent to a Google Gemini node ("Summarization content"), which generates a concise Italian summary of the workflow's purpose and tools used. Data Consolidation & Export: The extracted information and the generated summary are merged into a single data object. Finally, the "Add row" node maps all this data to the appropriate columns and appends it as a new row in a designated Google Sheet. Set Up Steps To run this workflow, you need to configure the following credentials in your n8n instance: ScrapeGraphAI Account: The "Scrape main page" and "Scrape single Workflow" nodes require valid ScrapeGraphAI API credentials named ScrapegraphAI account. Install the related Community node. Google Gemini Account: Multiple nodes ("Google Gemini Chat Model", "Summarization content", etc.) require API credentials for Google Gemini named Google Gemini(PaLM) (Eure). OpenAI Account: The "OpenAI Chat Model1" node requires API credentials for OpenAI named OpenAi account (Eure). Google Sheets Account: The "Add row" node requires OAuth2 credentials for Google Sheets named Google Sheets account. You must also ensure the node is configured with the correct Google Sheet ID and that the sheet has a worksheet named Foglio1 (or update the node to match your sheet's name). Need help customizing? Contact me for consulting and support or add me on Linkedin.
by WeblineIndia
Client Portfolio Summary Generator > Google Sheets, NewsAPI, Gemini AI & Gmail This workflow automatically analyzes your stock portfolio whenever a new row is added to Google Sheets. It fetches live stock prices, calculates gains/losses, gathers relevant news, generates a simple AI-powered summary and emails the report to you. Quick Implementation Steps Login to your n8n account Connect your Google Sheets Trigger to your portfolio sheet. Add your NewsAPI key in the “Fetch Stock News” node. Configure Google Gemini API credentials. Connect your Gmail account for email delivery. Add stock entries (Name, Quantity, Purchase Price) in Google Sheets. Sit back >> your portfolio summary will be emailed automatically. What It Does This workflow automates end-to-end portfolio monitoring and reporting. Whenever a new stock entry is added to your Google Sheet, it triggers a sequence of actions that fetch real-time stock prices and calculates the current value and profit/loss for each holding. In addition to numerical analysis, the workflow enriches your portfolio insights by pulling the latest news articles related to each stock. This provides valuable context behind market movements, helping users better understand performance drivers. Finally, the workflow uses Google Gemini AI to generate a simple, human-friendly summary of the portfolio. The summary highlights overall performance, best/worst performers and key insights, which is then automatically delivered via email. Who It's For Individual investors tracking their stock portfolio Financial advisors managing client portfolios Analysts needing automated reporting Automation enthusiasts building finance workflows Anyone who wants simplified portfolio insights without manual effort Requirements To use this workflow, ensure you have: n8n account (cloud or self-hosted) Google Sheets account (with portfolio data) Google Sheets Trigger OAuth credentials NewsAPI key (https://newsapi.org) Google Gemini (PaLM) API credentials Gmail account with OAuth2 setup Stock data in Google Sheets with columns: Name Quantity Purchase Price Purchase Date How It Works & Setup Guide 1. Google Sheets Trigger Node: Google Sheet New Row Add Trigger Configure: Select your spreadsheet Select the sheet (e.g., "stock portfolio") Trigger event: rowAdded 2. Data Cleaning Node: Cleans & standardizes Maps fields: Name Quantity Purchase Price Purchase Date 3. Fetch Live Stock Prices Node: Fetch Live Stock Prices API Endpoint: https://memic-nse-quotes-api.hf.space/quotes Sends stock symbol to retrieve current price 4. Calculate Portfolio Metrics Node: Calculate Portfolio Metrics Computes: Current Value = Quantity × Current Price Gain/Loss = Current Value - (Quantity × Purchase Price) 5. Fetch Stock News Flow:** Iterate stocks → Wait 5 seconds → Fetch news Node:** Fetch Stock News Requires:** Add your NewsAPI key in query parameters 6. Combine News Articles Node: Combining All News Articles Limits to top 4 articles per stock 7. Merge Data Node: Combine Portfolio + News Combines: Financial metrics News data 8. Format Final Output Node: Final Data Formatter Structures merged data into a clean JSON format 9. Generate AI Summary Node: Generate Portfolio Summary Uses: Google Gemini model: gemini-3.1-flash-lite-preview Output: Simple 4–6 sentence summary 10. Send Email Report Node: Send Email Report Configure: Recipient email Subject: "Portfolio Analysis" Message: AI-generated summary How To Customize Nodes Google Sheets Node Change sheet or add more columns (e.g., sector, notes) Stock Price API Replace with another API if needed (e.g., Alpha Vantage) News Node Adjust query (e.g., include company name + “stock”) Change article limit AI Summary Node Modify prompt for: More detailed analysis Different tone (formal, technical, etc.) Email Node Add HTML formatting Include full report instead of summary Add-ons (Enhancements) Add portfolio visualization (charts via external tools) Store historical performance in a database Send alerts via Slack/WhatsApp/Telegram Trigger alerts for high gain/loss thresholds Add sentiment analysis from news articles Generate PDF reports instead of plain emails Use Case Examples Personal Portfolio Tracking Automatically monitor your investments and receive updates without manual calculations. Client Reporting for Advisors Send periodic portfolio summaries to clients with insights and news. Daily Market Monitoring Add entries regularly and get AI-generated updates with context. Investment Research Automation Combine price data and news to assist decision-making. Automated Financial Dashboards Use this workflow as a backend for dashboards or reporting systems. There can be many more use cases depending on how you extend and customize this workflow. Troubleshooting Guide | Issue | Possible Cause | Solution | |------|--------------|----------| | No trigger execution | Incorrect Google Sheets setup | Verify sheet ID and trigger settings | | Stock prices not fetched | API issue or wrong symbol | Check API response and symbol format | | News not loading | Missing API key | Add valid NewsAPI key | | Empty AI summary | Incorrect input formatting | Check "Final Data Formatter" output | | Email not sent | Gmail credentials issue | Reconnect Gmail OAuth | | Rate limit errors | Too many API calls | Increase wait time node delay | | Incorrect calculations | Data type mismatch | Ensure numeric fields are properly parsed | Need Help? If you need assistance with: Setting up this workflow Customizing nodes for your business needs Adding advanced features or integrations Building similar automation workflows Feel free to reach out to WeblineIndia. Our n8n experts can help you design, implement and scale automation solutions tailored to your requirements. Let us help you turn your workflows into powerful business tools.
by Pratyush Kumar Jha
📨 AI Newsletter Automation Workflow 🚀 Brief Overview (How It Works) This workflow automates the complete process of generating and sending AI-powered newsletters. It starts with a form submission where the user provides a brand name, website, and topic query. The system then fetches relevant news, analyzes the brand’s visual identity (colors & logo), and uses AI to generate structured newsletter topics and content. Finally, it converts everything into a beautifully styled HTML email, saves it to Google Sheets, and sends it to all subscribers via Gmail. Quick Setup Guide 👉 Demo & Setup Video 👉 Sheet Template 👉 Course 🔑 Nodes of Interest On Form Submission (Trigger)** Entry point for brand details and query input HTTP Request (Tavily API)** Fetches latest news based on the query Generate Draft Topics (AI)** Creates newsletter title + 3 key topics using LLM Split Topics** Breaks topics into individual items for processing Generate Newsletter Content (AI)** Writes detailed content for each topic with sources Merge Content Pieces** Combines all sections into one dataset AI Agent (Brand Analyzer)** Extracts brand colors from website HTML Information Extractor** Extracts logo URL from brand website Convert Newsletter to HTML (AI)** Formats content into styled email HTML using brand theme Google Sheets** Saves generated newsletter drafts Gmail Node** Sends newsletter to all subscribers 🔐 What You’ll Need (Credentials) OpenAI API Key** Used for all AI content generation (GPT-4.1-mini) Tavily API Key** For fetching real-time news data Google Sheets OAuth** To store newsletter drafts & manage subscribers Gmail OAuth** To send emails to subscribers ⚙️ Recommended Settings & Best Practices Use structured output parsers to ensure consistent AI responses Keep topic count fixed (3) for predictable flow Limit newsletter length to ≤ 1000 words for readability Use Split + Aggregate pattern for scalable content generation Maintain strict prompt engineering (system messages already optimized) Always validate real URLs for citations (avoid hallucinations) Use Loop Over Items for controlled email sending Store drafts before sending (fail-safe logging) 🎯 Customization Ideas Add weekly automation trigger (Cron node) instead of manual form Integrate Notion / Airtable instead of Google Sheets Add unsubscribe & email tracking (SendGrid / Mailchimp) Personalize emails using user segmentation (AI-based) Add multi-language newsletter generation Include image generation (DALL·E / Stable Diffusion) for visuals Connect to Telegram / WhatsApp bot for distribution Add analytics dashboard for open/click rates 🏷️ Tags AI Automation, n8n Workflow, Newsletter Automation, Email Marketing, GPT Integration, LangChain, Tavily API, No-Code AI, Content Generation, Marketing Automation, GenAI Workflow, AI Agents