by Meak
Local Lead Finder + Cold Email Sender (Form → Apify → AI → Gmail + Google Sheets) Fill a short form with business type, location, and how many leads you want. This workflow finds local businesses, grabs a valid email from each website, writes a cold email in your chosen style, sends it, and logs everything to Google Sheets. Benefits Simple form input (business type, location, lead count, email style) Finds local businesses with Apify and filters only those with a website Scrapes one best email address from each site Writes cold emails with AI (style: Friendly / Professional / Simple) Sends via Gmail and updates Google Sheets with status + send time How It Works Form Submit: Enter Business Type, Location, Lead Number, Email Style. Find Leads (Apify): Search places in the target location (up to your lead count). Filter: Keep only results that include a website. Extract Email (AI): Visit the website and pull one valid email address. Save Lead (Sheets): Add company name, category, website, phone, address, email. Generate Email (AI): Create subject + body using your selected style. Send (Gmail): Email the scraped address; retry-safe. Log Result (Sheets): Mark “Cold Mail Status = ✅” and add send time. Batching/Wait: Process leads one by one with a short wait to avoid limits. Who Is This For Agencies doing local outreach Freelancers offering lead gen services SMBs testing cold email in a city or niche Setup Connect the built-in Form Trigger (use provided fields) Add Apify actor endpoint + token Add Google Gemini (for email extraction) and OpenAI (for email writing) keys Connect Gmail OAuth2 to send emails Connect Google Sheets (Spreadsheet ID + Sheet1) ROI & Monetization Spin up targeted campaigns in minutes (no manual research) Sell as a local lead-gen + outreach package ($500–$2k/campaign) Reuse the form for any niche and city to scale quickly Strategy Insights In the full walkthrough, I show how to: Tune the Apify search for better niches and categories Improve email extraction prompts for higher-quality addresses Adjust templates for short, compliant cold emails Add fallbacks (no email → skip or save for manual review) Check Out My Channel For more AI outreach workflows that get real results, check out my YouTube channel where I share the exact setups I use to win clients and scale to $20k+ monthly revenue.
by MANISH KUMAR
Shopify Digital Product Automation (from just and image to complete Shopify product page.) This Shopify Digital Product Automation is an advanced n8n-powered workflow that leverages AI (Google Gemini), Airtable, and Shopify API to generate product details from images and automatically post them to Shopify. It fully automates the process — from uploading images to publishing Shopify products — with minimal manual effort. 💡 Key Advantages Our Shopify Digital Product Automation offers five core advantages: 🔗 Shopify Product Sync — Automatically posts product details including title, description, SEO fields, and matched category to Shopify. ✍️ AI-Powered Product Generation — Gemini analyzes uploaded images and generates engaging, SEO-friendly product titles, descriptions, and metadata. 🗂️ Structured Output — Outputs JSON-ready product data compatible with Shopify, ensuring smooth automation. 📄 Airtable Integration — Tracks uploaded images, analyzed data, and generated products to prevent duplication. 📤 End-to-End Automation — Handles the complete workflow from image upload to Shopify posting without manual intervention. ⚙️ How It Works The workflow follows a step-by-step automated process: Step-by-Step Process Upload Images – Add your digital artwork or poster images to Google Drive and record them in Airtable. Image Analysis – AI fetches new images and analyzes visual elements like characters, series, poster text, and style. Store Analysis Results – Updates analyzed data in Airtable and marks images as Used. Fetch Shopify Collections – Retrieves current collections from your Shopify store for category matching. Generate Product Details – Gemini generates product title, description, matched category, SEO page title, meta description, and URL handle. Save Generated Products – Stores generated product details in Airtable and marks them as generated. Post Products to Shopify – Automatically creates new products in Shopify using the API. Update Status – Marks products as posted in Airtable after successful posting. 🛠️ Setup Steps Required Node Configuration To implement this workflow, configure the following n8n nodes: Trigger Node** – Start workflow manually or via scheduler. Airtable Node** – Fetch raw images and store processed product details. Google Drive Node** – Access image files. HTTP Request Node** – Fetch Shopify collections. Code Node** – Refine AI outputs and format product data. Split & Limit Nodes** – Process images and products in batches. LangChain / Gemini Node** – Generate product titles, descriptions, and SEO data. Shopify Node** – Create products via Shopify API. Status Update Node** – Update Airtable with processing and posting status. 🔐 Credentials Required Before running the workflow, ensure you have the following credentials configured: Shopify Access Token** – For posting products and fetching collections. Gemini API Key** – For AI-powered product generation. Airtable API Key** – For storing and tracking workflow data. Google Drive OAuth** – To access image files. 👤 Ideal For This automation workflow is designed for: Shopify store owners managing hundreds of digital products Ecommerce teams automating product listings Marketing teams needing scalable, AI-driven product content workflows 💬 Bonus Tip The workflow is fully modular and customizable. You can extend it to: Automatically assign prices or discounts Multi-language product description generation Social media promotion of new products Email campaign integration All extensions can be implemented within the same n8n flow, making it a complete digital product automation solution.
by Rapiwa
Who is this for? This workflow is for online store owners, support teams, and marketing staff who want to automatically verify WhatsApp numbers and send order invoice links or personalized order updates to customers. It’s built against WooCommerce order webhooks but can be adapted to Shopify or other e-commerce platforms that provide billing and line_items. What this Workflow Does Receives order events (Webhook / WooCommerce order.updated). Normalizes the payload into a compact object: { data: { customer, products, invoice_link } } via a Code node. Iterates items in batches (SplitInBatches) to control throughput. Cleans phone numbers (removes non-digits) and verifies WhatsApp registration using Rapiwa (/api/verify-whatsapp). Sends templated WhatsApp messages through Rapiwa (/api/send-message) for verified numbers. Logs every attempt into Google Sheets: one sheet for verified & sent rows, another for unverified & not sent rows. Uses a Wait node to throttle and loop back into the batch processor. Key Features Trigger-based automation (Webhook or WooCommerce trigger). Payload normalization and mapping via JavaScript Code nodes. Controlled batching (SplitInBatches) to avoid rate limits. Pre-send verification of WhatsApp numbers using Rapiwa. Conditional branching with the IF node to separate verified vs unverified flows. Personalized message templates that pull customer and product fields from the mapped data. Logging and audit trail stored in Google Sheets (two separate append flows). How to Use — Step-by-step Setup Add credentials in n8n Rapiwa: Create an HTTP Bearer credential and paste your Bearer token (example name used in the flow: Rapiwa Bearer Auth). Google Sheets: Create an OAuth2 credential (example: Google Sheets). WooCommerce: Add WooCommerce API credentials for the trigger (or configure Shopify credentials if adapting). Import / configure nodes in n8n Webhook (or WooCommerce Trigger): receive order payloads. Example Webhook path is present in the exported flow. Code node Format Webhook Response Data: map body.billing, body.line_items, body.payment_url into { data: { customer, products, invoice_link } }. Code node Clean WhatsApp Number: ensure the phone number is a string and strip non-digits: String(rawNumber).replace(/\D/g, ""). HTTP Request Check valid whatsapp number Using Rapiwa: POST to https://app.rapiwa.com/api/verify-whatsapp with { number }. Use the Rapiwa Bearer credential. IF If: check verification result. The flow compares {{$json.data.exists}} to "true" in the exported flow; normalize types if your API returns booleans. HTTP Request Rapiwa Sender: POST to https://app.rapiwa.com/api/send-message with number, message_type: 'text', and a templated message (see message template in the flow). Google Sheets Store State of Rows in Verified & Sent and Store State of Rows in Unverified & Not Sent Google Sheet Column Structure Create these columns exactly (the Google Sheets nodes in the flow expect these names): A Google Sheet formatted like this ➤ sample | Name | Number | Email | Address | Product Title | Product ID | Size | Quantity | Total Price | Product Image | Invoice Link | Product Status | Validity | Status | |-----------------|---------------|-------------------|--------------|------------------------------------------------|------------|------|----------|----------------|--------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|----------------|------------|----------| | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur dohs | Air Force 1 Reigning Champ Dark Grey 1:1 - 40 | 251 | 40 | 1 | BDT 5800.00 | | Invoice | on-hold | verified | sent | | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur dohs | Air Force 1 Reigning Champ Dark Grey 1:1 - 40 | 251 | 40 | 1 | BDT 5800.00 | | Invoice | on-hold | unverified | not sent | Customization Ideas Adapt the Code mapping node for Shopify payloads or other marketplaces. Iterate and include multiple products in the message instead of using products[0]. Add filters in the Code node (e.g., only process orders with total > 5000). Add fallback channels (SMS or email) for unverified numbers. Persist logs into a database for analytics and retention beyond Google Sheets. Add admin notifications (Slack, email) at the end of each run. Useful Links Dashboard:** https://app.rapiwa.com Official Website:** https://rapiwa.com Documentation:** https://docs.rapiwa.com Support & Help WhatsApp**: Chat on WhatsApp Discord**: SpaGreen Community Facebook Group**: SpaGreen Support Website**: https://spagreen.net Developer Portfolio**: Codecanyon SpaGreen
by shae
How it works This AI Customer Success Risk Prediction workflow revolutionizes customer retention by predicting churn risk 30-90 days before it happens. Here's the high-level flow: Daily Data Collection → AI Multi-Signal Analysis → Risk Scoring & Prediction → Smart Risk Routing → AI-Generated Personalized Interventions → CRM Updates & Team Alerts The system automatically gathers data from your product analytics, support system, billing platform, and email tools, then uses GPT-4 to analyze patterns and predict which customers are at risk. It creates personalized intervention strategies and routes them based on urgency level. Set up steps Time to set up: Approximately 45 minutes Prerequisites: Active accounts with your analytics platform, support system, billing provider, CRM, and AI provider Step 1: Import & Configure Workflow (5 minutes) Import the workflow JSON into your n8n instance Review the 3 comprehensive sticky notes for context Understand the AI analysis logic and intervention strategies Step 2: Set Environment Variables (10 minutes) Configure these critical variables: ANALYTICS_API_URL and ANALYTICS_API_KEY HIGH_RISK_SLACK_CHANNEL (for critical alerts) CS_TEAM_EMAIL (intervention sender) CRM_BASE_URL and CALENDAR_BOOKING_URL Step 3: Configure API Credentials (20 minutes) Set up secure credential connections for: OpenAI/Anthropic API (AI analysis engine) Analytics platform (Mixpanel/Amplitude/GA) Support system (Zendesk/Intercom) Billing platform (Stripe/Chargebee) HubSpot CRM (risk data storage) Slack API (team notifications) SMTP/SendGrid (email delivery) Step 4: Customize AI Prompts & Risk Thresholds (8 minutes) Review and adjust the AI analysis prompts for your business Modify risk score thresholds (Critical 90+, High 70-89, Medium 40-69) Customize intervention email templates and tone Set your specific risk factors (usage patterns, support indicators) Step 5: Test & Activate (2 minutes) Run a test execution with sample customer data Verify AI analysis generates appropriate risk scores Check that interventions are routed correctly Activate the daily cron schedule
by noda
🧩 What this template does This workflow builds a 120-minute local date course around your starting point by querying Google Places for nearby spots, selecting the top candidates, fetching real-time weather data, letting an AI generate a matching emoji, and drafting a friendly itinerary summary with an LLM in both English and Japanese. It then posts the full bilingual plan with a walking route link and weather emoji to Slack. 👥 Who it’s for Makers and teams who want a plug-and-play bilingual local itinerary generator with weather awareness — no custom code required. ⚙️ How it works Trigger – Manual (or schedule/webhook). Discovery – Google Places nearby search within a configurable radius. Selection – Rank by rating and pick the top 3. Weather – Fetch current weather (via OpenWeatherMap). Emoji – Use an AI model to match the weather with an emoji 🌤️. Planning – An LLM writes the itinerary in Markdown (JP + EN). Route – Compose a Google Maps walking route URL. Share – Post the bilingual itinerary, route link, and weather emoji to Slack. 🧰 Requirements n8n (Cloud or self-hosted) Google Maps Platform (Places API) OpenWeatherMap API key Slack Bot (chat:write) LLM provider (e.g., OpenRouter or DeepL for translation) 🚀 Setup (quick) Open Set → Fields: Config and fill in coords/radius/time limit. Connect Credentials for Google, OpenWeatherMap, Slack, and your LLM. Test the workflow and confirm the bilingual plan + weather emoji appear in Slack. 🛠 Customize Adjust ranking filters (type, min rating). Modify translation settings (target language or tone). Change output layout (side-by-side vs separated). Tune emoji logic or travel mode. Add error handling, retries, or logging for production use.
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 Oneclick AI Squad
This automated n8n workflow streamlines the process of receiving, processing, and delivering patient-friendly lab reports with precautionary advice. 🏆 Minimal But Complete Design: Node Flow: 📧 Email Trigger → Monitors inbox for lab reports 📄 PDF Extract → Processes attachments & extracts content 🤖 AI Simplify → Converts medical jargon to simple language ✨ Format Response → Creates beautiful patient-friendly layout 📤 Send Report → Delivers simplified report via email 🚀 Key Features: ✅ Automatic Processing: Monitors email for lab report PDFs Extracts content from attachments No manual intervention needed ✅ AI-Powered Simplification: Converts complex medical terms to plain English Explains what each test result means Adds ✅/⚠️ indicators for normal/abnormal results ✅ Patient-Friendly Output: Professional HTML email formatting Clear sections: Summary, Results, Precautions Includes next steps and follow-up advice ✅ Built-in Safety: Always includes medical disclaimers Encourages consulting healthcare providers Handles edge cases with fallbacks 🛠️ Setup Requirements: APIs Needed: IMAP Email** (Gmail, Outlook, etc.) Ollama AI Model** (Local medical AI) SMTP Email** (Sending service) Quick Configuration: Import the JSON into n8n Set up email credentials (IMAP + SMTP) Configure Ollama medical model Test with a sample lab report 📋 Sample Output: 🩺 Your Lab Report - Simplified ✅ CHOLESTEROL: 180 mg/dL - Normal! Good job maintaining healthy levels. ⚠️ BLOOD SUGAR: 126 mg/dL - Slightly high Normal is under 100. Consider reducing sugar intake. 🔬 VITAMIN D: 25 ng/mL - Low You may need supplements. Ask your doctor. 📋 PRECAUTIONS: • Eat more fruits and vegetables • Exercise 30 minutes daily • Schedule follow-up in 3 months • Watch for: excessive thirst, fatigue
by Rahul Joshi
Description Automatically generate multi-jurisdiction tax summaries from Stripe invoices and sync them into Google Sheets with daily reporting. This workflow ensures compliance-ready tax data, detailed breakdowns by country/state/tax rate, and real-time Slack notifications for both success and error handling. 💳📈📢 What This Template Does Triggers daily at 2:00 AM using a scheduled cron. ⏰ Fetches paid invoices from Stripe (last 30 days). 💳 Validates data integrity before processing. ✅ Summarizes taxes by period, country, state, and rate. 🧮 Formats and logs results in Google Sheets for reporting. 📊 Sends Slack notifications for both success and failure. 📢 Key Benefits Automated tax compliance reporting. 🧾 Accurate multi-jurisdiction tracking. 🌍 Eliminates manual spreadsheet work. ⏱️ Maintains a historical audit trail. 📋 Real-time notifications keep your team informed. 🔔 Built-in error handling ensures reliability. 🛡️ Features Daily cron schedule (0 2 * * *). Stripe invoices fetched with expanded tax amounts. Intelligent grouping by period, country, state, and tax rate. Google Sheets integration with append/update logic. Success Slack message: summary totals, record count, period. Error Slack message: troubleshooting guidance and failure logs. Uses environment variables for secure configuration (GOOGLE_SHEETS_DOCUMENT_ID, SLACK_CHANNEL_ID). Requirements n8n instance (cloud or self-hosted). Stripe API credentials with invoice read access. Google Sheets OAuth2 credentials with write access. Slack API credentials with chat:write permissions. Proper tax configuration in Stripe for accurate reporting. Target Audience Finance teams handling recurring billing and tax filings. 💼 Accountants needing automated jurisdiction tax breakdowns. 📊 SaaS businesses managing global customers. 🌐 Agencies and SMEs streamlining monthly tax reporting. 🏢 Remote teams requiring real-time workflow notifications. 📲 Step-by-Step Setup Instructions Configure Stripe API credentials in n8n. Set up Google Sheets with a “Tax Summary” sheet (columns: period, country, state, tax rate, taxable amount, tax collected, processing date). Configure Slack API credentials and channel ID (e.g., tax-reports). Replace hardcoded values with environment variables for security. Import this workflow JSON into n8n. Run once manually with test invoices to validate. Enable the workflow for daily automated reporting. ✅
by Davide
This workflow is designed to automatically process AI news emails, extract and summarize articles, categorize them, and store the results in a structured Google Sheet for daily tracking and insights. This automated workflow processes a daily AI newsletter from AlphaSignal, extracting individual articles, summarizing them, categorizing them, and saving the results to a Google Sheet. Key Features 1. ✅ Fully Automated Daily News Pipeline No manual work is required — the workflow runs autonomously every time a new email arrives. This eliminates repetitive human tasks such as opening, reading, and summarizing newsletters. 2. ✅ Cross-AI Model Integration It combines multiple AI systems: Google Gemini* and *OpenAI GPT-5 Mini** for natural language processing and categorization. Scrapegraph AI** for external web scraping and summarization. This multi-model approach enhances accuracy and flexibility. 3. ✅ Accurate Content Structuring The workflow transforms unstructured email text into clean, structured JSON data, ensuring reliability and easy export or reuse. 4. ✅ Multi-Language Support The summaries are generated in Italian, which is ideal for local or internal reporting, while the metadata and logic remain in English — enabling global adaptability. 5. ✅ Scalable and Extensible New newsletters, categories, or destinations (like Notion, Slack, or a database) can be added easily without changing the core logic. 6. ✅ Centralized Knowledge Repository By appending to Google Sheets, the team can: Track daily AI developments at a glance. Filter or visualize trends across categories. Use the dataset for further analysis or content creation. 7. ✅ Error-Resilient and Maintainable The JSON validation and loop-based design ensure that if a single article fails, the rest continue to process smoothly. How it Works Email Trigger & Processing: The workflow is automatically triggered when a new email arrives from news@alphasignal.ai. It retrieves the full email content and converts its HTML body into clean Markdown format for easier parsing. Article Extraction & Scraping: A LangChain Agent, powered by Google Gemini, analyzes the newsletter's Markdown text. Its task is to identify and split the content into individual articles. For each article it finds, it outputs a JSON object containing the title, URL, and an initial summary. Crucially, the agent uses the "Scrape" tool to visit each article's URL and generate a more accurate summary in Italian based on the full page content. Data Preparation & Categorization: The JSON output from the previous step is validated and split into individual data items (one per article). Each article is then processed in a loop: Categorization: An OpenAI model analyzes the article's title and summary, assigning it to the most relevant pre-defined category (e.g., "LLM & Foundation Models," "AI Automation & WF"). URL Shortening: The article's link is sent to the CleanURI API to generate a shortened URL. Data Storage: Finally, for each article, a new row is appended to a specified Google Sheet. The row includes the current date, the article's title, the shortened link, the Italian summary, and its assigned category. Set up Steps To implement this workflow, you need to configure the following credentials and nodes in n8n: Email Credentials: Set up a Gmail OAuth2 credential (named "Gmail account" in the workflow) to allow n8n to access and read emails from the specified inbox. AI Model APIs: Google Gemini: Configure the "Google Gemini(PaLM)" credential with a valid API key to power the initial article extraction and scraping agent. OpenAI: Configure the "OpenAi account (Eure)" credential with a valid API key to power the article categorization step. Scraping Tool: Set up the ScrapegraphAI account credential with its required API key to enable the agent to access and scrape content from the article URLs. Google Sheets Destination: Configure the "Google Sheets account" credential via OAuth2. You must also specify the exact Google Sheet ID and sheet name (tab) where the processed article data will be stored. Activation: Once all credentials are tested and correctly configured, the workflow can be activated. It will then run automatically upon receiving a new newsletter from the specified sender. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Dahiana
Send personalized pet care tips from Google Sheets with AI Automate weekly pet wellness emails with AI-generated, location and age-specific advice. Who's it for Pet care businesses, veterinary clinics, pet subscription services, and animal shelters sending regular wellness content to pet owners. How it works Loads pets data from Google Sheets Filters pets who haven't received email in 7+ days Calculates age from birthdate (formats as "2 years and 3 months") AI generates tip - GPT-4o-mini creates climate-aware, veterinary-aligned advice based on pet type, age, and location Sends email via Gmail or SendGrid Updates timestamp in sheet to prevent duplicates Logs activity to tracking sheet Requirements APIs: Google Sheets, Airtable, Typeform or similar OpenAI (GPT-4o-mini) Gmail OAuth2 OR SendGrid, you can use Brevo, Mailchimp or any other. Google Sheet Structure: Sheet 1: Pets | Email | Owner_Name | Pet_Name | Pet_Type | Date_of_Birth | Country (ISO) | Status | Last_Email_Sent | |-------|------------|----------|----------|---------------|---------------|--------|-----------------| Sheet 2: Email_Log | Timestamp | Parent_Email | Pet_Name | Tip_Category | Status | |-----------|--------------|----------|--------------|--------| How to set up Create Google Sheet with structure above, add 2-3 test pets. Import workflow and add credentials. Update nodes: "Load Pet Info": Set your Sheet ID "Update Last_Email_Sent Date": Set Sheet ID "Log to Email_Log Sheet": Set Sheet ID Test manually with 1 active pet Enable schedule (default: Mondays 9am) How to customize Switch email provider: Enable "Send via SendGrid" node Disable "Send Health Tip using Gmail" node Update template ID Modify AI prompt: Edit "Generate Personalized Tip" node Adjust temperature Add/remove categories Use cases beyond pets Same workflow works for: Plant care** (growth stage tips) Baby milestones** (age-based parenting advice) Fitness coaching** (experience level workouts) Language learning** (study streak motivation) Just update sheet columns and AI prompt. Notes Choose only one mailing service. Country codes use ISO format (US, UK, AU, CA, etc.) AI considers location for seasonal advice.
by AureusR
Live Demo Booking Form with Outlook Calendar and Zoom link Who’s it for This workflow is designed for SaaS companies, consultants, or sales teams that regularly run live demos. It helps automate demo scheduling, ensuring clients can only book from available time slots while instantly generating Zoom links and calendar invitations. How it works / What it does Client fills demo request form → Collects company, contact details, and a preferred date. Check Outlook calendar availability → Searches for pre-created “Online Meeting Slot” events. Time slot selection → If the date has slots, the client chooses from up to 3 nearest available times. If not, they’re asked to pick another date. Create Zoom meeting → Once a date & time are confirmed, a Zoom link is automatically generated. Update Outlook calendar → The chosen slot is updated with the client’s details and Zoom link, marked as “Booked Live Demo” so it can’t be double-booked. Send confirmation → The client receives a styled confirmation screen, and both parties get the calendar invite. How to set up Import the workflow JSON into your n8n instance. Configure the following credentials: Microsoft Outlook OAuth2 API (for calendar access). Zoom OAuth2 API (for automatic meeting creation). Pre-create “Online Meeting Slot” events in your Outlook calendar to define available demo times. Publish the form via n8n’s webhook URL (embed it in your website or share the link). Test by submitting a request to ensure slots update correctly and Zoom links are created. Requirements n8n self-hosted or cloud account. Microsoft Outlook account with calendar access. Zoom account with OAuth2 credentials. Pre-created calendar slots named “Online Meeting Slot”. How to customize the workflow Form fields**: Adjust the client details form to capture additional data (e.g., industry, product interest). Email/notification**: Add an Email or Slack node to notify your sales team of new demo bookings. Custom branding**: Update the CSS in the form nodes to match your company’s style. Capacity rules**: Modify the IF nodes to limit the number of bookings per day or adjust the slot-checking logic.
by Cheng Siong Chin
Introduction Automatically imports Excel schedules from Google Drive, validates data with AI, syncs to Google Calendar, and emails smart summaries. Ideal for educators, managers, and administrators handling recurring academic or project schedules. How It Works Trigger → Download Excel → Filter events → Dual AI analysis (OpenAI + Parser) → Merge insights → Enrich data → Create/Update Google Calendar events → Generate and email AI summary. Workflow Template Trigger → Download Excel → Filter Events → AI Analysis → Merge Insights → Enrich Data → Create/Update Calendar → AI Summary → Email Report Workflow Steps Trigger: Runs on schedule to detect new files. Read Excel: Converts spreadsheet data to JSON. Filter Events: Removes invalid entries. AI Context Analysis: Understands event links and conflicts. Structured Parser: Formats AI output for consistency. Merge Insights: Combines multi-AI results. Enrich Data: Prepares Google Calendar-ready events. Calendar Actions: Creates or updates events. AI Summary: Generates executive overview. Email Delivery: Sends formatted summary report. Setup Google Drive: Connect OAuth2 → get file ID. Calendar: Enable API → authorize in n8n. OpenAI: Add API key → select GPT model. Email (Gmail/SMTP): Configure sender and recipients. Trigger: Set timezone and frequency. Excel Format: Include Name, Date, Time, Location, Staff, etc.