by Robert Breen
This powerful n8n workflow helps you automatically re-engage cold leads by summarizing their past emails and generating personalized outreach with OpenAI. It pulls in contacts from Google Sheets, fetches their prior communication from Outlook, and then uses an AI agent to analyze, strategize, and write a draft re-engagement message — all automatically. ⚙️ What the Workflow Does 📄 Get Contacts from Google Sheets Pulls a list of contacts and their email addresses from a Google Sheet. 📥 Search Emails from Outlook For each contact, fetches all emails received from that address since January 1, 2025. 📊 Aggregate Emails Merges relevant email fields (subject, body, createdDateTime) into a single string for analysis. 🧠 Use OpenAI to Analyze and Draft Response AI Agent summarizes the lead’s communication history. Suggests how to re-engage them in bullet points. Writes a personalized draft email to re-initiate the conversation. 📝 Save to Google Sheets Appends or updates the original row with: Summary of communication Re-engagement ideas Suggested subject line Suggested email body 📤 Create Draft Email in Outlook Creates a draft email in your Microsoft Outlook account using the subject and body provided by OpenAI. The email is not sent automatically — giving you a chance to review and personalize further. 🧰 What You'll Need 🔐 Google Sheets API connection** OAuth2 credential setup in n8n Make a copy of this sample sheet 🔐 Microsoft Outlook OAuth2 connection** Connected inbox with access to historical messages 🔐 OpenAI API Key** Add your OpenAI key in the OpenAI Chat Model node Recommended model: gpt-4o-mini or higher 👨💼 Built By Robert Breen Automation Consultant | n8n Expert | Data Strategist 🔗 Website: https://ynteractive.com 📧 Email: robert@ynteractive.com 💼 LinkedIn: https://www.linkedin.com/in/robert-breen-29429625/ 🏷 Tags openai outlook email reengagement lead nurturing automation google sheets ai email gpt-4o crm sales automation
by Matthieu
🔧 AI-Powered B2B Prospecting Automation This automation is a complete end-to-end system designed to find, qualify, and contact B2B leads — fully automated and powered by AI. 1. Lead Discovery & Scoring Searches for target companies on LinkedIn via Ghost Genius API, using filters like location, and company size. Enriches each company with details like website, description, and follower count. Uses OpenAI to score each company (0 to 10) based on fit with your product. Filters out irrelevant companies and stores only qualified ones (score ≥ 7) into a Google Sheet CRM. 2. Decision-Maker Enrichment & Outreach Finds key decision-makers at each qualified company via LinkedIn Sales Navigator. Retrieves their job titles, descriptions, and LinkedIn summaries. Generates a fully personalized 3-email cold outreach sequence using OpenAI. Retrieves verified email addresses using a waterfall enrichment system. Stores all contact data and email content in your CRM and updates lead status. Key Features Fully automated**: runs daily with no manual input required. Smart targeting**: all filters and parameters managed in Google Sheets. AI-enhanced**: leverages OpenAI for scoring, personalization, and copywriting. Compliant & safe**: uses Ghost Genius API (cookieless scraping). Ideal for B2B startups, agencies, or growth teams looking to scale outbound without manual effort.
by WeblineIndia
Quick Overview This workflow logs daily gold prices in INR from MetalpriceAPI into an n8n Data Table, calculates day-over-day changes, and uses Google Gemini to send Slack alerts for ±1% moves and a weekly trend report. How it works Runs every morning at 10:00 to fetch the latest XAU price in INR from MetalpriceAPI. Converts the returned rate into a per-10g gold price and stores it as a new row in an n8n Data Table. Retrieves all saved prices, takes the last two entries, calculates absolute and percentage change, and updates the latest row with these metrics. If the percentage change is ≥ 1% or ≤ -1%, Google Gemini drafts a short alert message and posts it to a Slack channel. Runs weekly at 10:00, fetches all Data Table records, and keeps the most recent seven entries. Aggregates the last seven days of prices and changes, Google Gemini generates a formatted summary report, posts it to Slack, and saves the report text back to the latest Data Table row. Setup Add your MetalpriceAPI credentials (HTTP header auth) and confirm the request parameters (base=INR, currencies=XAU) match your needs. Create or select an n8n Data Table with columns for gold_prices, price_change, percent_change, and alert_message, and update the workflow’s Data Table ID to point to it. Add Google Gemini (PaLM) API credentials for the alert and reporting prompts. Add Slack credentials and set the target channel for both Slack posting steps. Review the schedule triggers (daily and weekly at 10:00) and adjust the timezone/time as needed.
by osama goda
How it works This workflow automatically uploads YouTube Shorts from a Google Drive folder. It picks one video at each run, generates a YouTube-optimized title, description, and hashtags using an AI model, uploads the video through YouTube’s resumable upload API, and finally moves the processed video to a “Posted” folder. Key steps Run on a schedule (daily/hourly/custom CRON) Fetch one video from a selected Google Drive folder Generate title + description + hashtags using an LLM Prepare YouTube metadata Upload the video via resumable upload Move the file to a “posted” folder to avoid duplicates Setup instructions Connect your Google Drive credentials Connect your YouTube OAuth2 credentials Update the Drive folder IDs (input + posted folders) Edit the “Set variables” node to change store name, country, coupon code, and tone Review the prompt in the AI node if you want to customize content style All technical details are documented inside the sticky notes within the workflow.
by Ziad Adel
Turn LinkedIn Noise Into Weekly Slack Insights 🚀 What if your team could skim the best of LinkedIn in 2 minutes instead of scrolling for hours? This workflow transforms raw LinkedIn posts into a bite-sized Slack digest — summarized, grouped, and delivered automatically every week. ⚡ What It Does Scrapes Posts Automatically**: Pulls fresh posts from LinkedIn profiles you specify (via Apify). Summarizes with AI: Condenses each post into **2–3 bullets (≤15 words). Keeps It Lean: Digest capped at **500 words total. Organized by Author**: See exactly who said what, without searching. Delivers to Slack**: Neatly formatted digest drops in your channel on schedule, with post links in thread replies. 🛠 How It Works Google Sheets → Profile URLs Add LinkedIn profile URLs into a Google Sheet tab — this is your watchlist. Apify Scraper → Posts Fetches up to 10 posts per profile within the past 7 days. Clean & Format Code nodes strip out clutter (hashtags, broken links, escapes). OpenAI Summarizer AI rewrites posts into concise bullets and trims the digest under 500 words. Slack Delivery Digest posts directly in Slack every Sunday morning, with original links attached as thread replies. ✅ Pre-conditions / Requirements Google Sheets API credentials** connected in n8n. Apify account + API Token** for the LinkedIn profile posts actor. OpenAI API Key** for summarization. Slack Bot Token** with permission to post messages in your chosen channel. Profiles you want to track must be publicly viewable or accessible to Apify. 🎛 Customization Options Schedule**: Change the Cron node if you prefer daily or monthly digests. Batch Size**: Default is 5 profiles per batch — increase or decrease for performance. Summaries**: Adjust OpenAI system prompt to allow longer or shorter bullet points. Filters**: Extend extendOutputFunction to exclude reposts, sponsored posts, or keep specific authors only. Slack Output**: Change formatting, channel, or send as direct message instead of posting in a channel. 💡 Why This Is Valuable Saves your team 3–5 hours/week of scrolling. Keeps everyone updated with actionable insights, not filler. Turns a chaotic LinkedIn feed into a signal-only digest. Positions you as the one who always brings the smartest highlights to the table. 🎯 Best For Founders who want LinkedIn insights without endless scrolling. Marketing and growth teams tracking thought leaders. Operators who want signal over noise, delivered straight to Slack. No more mindless scrolling. Just sharp insights, automatically packaged. ✅
by n8n Lab
AI-Powered PLG Revenue Engine: Segment, Attio & Outreach Sync This workflow bridges the gap between raw product data and revenue sales tools. It automates the entire Product Qualified Lead (PQL) lifecycle—from real-time intent routing to churn prevention—reducing SalesOps overhead by 80%. Who’s it for B2B SaaS Teams** looking to automate PQL outreach based on product usage. Revenue Ops** needing to sync Attio CRM, ActiveCampaign, and Lemlist. Growth Teams** requiring real-time AI classification of user intent. How it works Real-Time Intent Routing:** Segment webhooks trigger Claude AI to classify PQLs. High-intent users are instantly moved to Lemlist for outreach. Deal Progression Sync:** Changes in Attio deal stages automatically update ActiveCampaign nurture lists and Segment profiles. Intercom Revenue Signals:** AI scans Intercom conversations for buying signals or churn risks, creating Attio deals or churn prevention tasks. Daily PQL Scoring:** Every morning at 7 AM, the workflow scores trial users across 5 dimensions, enrolling "Hot" leads into conversion sequences. How to set up Node Configuration: Manually enter your specific Campaign IDs in the Lemlist nodes and List IDs in the ActiveCampaign nodes. Credentials: Set up official n8n credentials for Attio, Segment, Anthropic (Claude), Lemlist, Intercom, and ActiveCampaign. Webhook Mapping: Connect your Segment and Intercom webhook URLs to the respective Trigger nodes. Attio Schema: Ensure your Attio workspace includes custom attributes for pql_score, pql_tier, and churn_risk_score. Requirements n8n version:** 1.0+ AI Credits:** Anthropic (Claude) and OpenAI (for Intercom analysis). Tech Stack:** Segment, Attio CRM, ActiveCampaign, Lemlist, and Intercom. Results 65% Increase** in trial-to-PQL conversion rates. Outreach speed** improved from 3 days to under 10 minutes. 80% reduction** in manual SalesOps and Revenue Ops overhead.
by Avkash Kakdiya
How it works This workflow automatically discovers and qualifies local business leads using structured inputs. It runs on a schedule, reads search queries from Google Sheets, and fetches business data via an API. The data is cleaned and enriched before being analyzed by AI for lead scoring and categorization. Finally, all enriched leads are stored back in Google Sheets for outreach and tracking. Step-by-step Trigger workflow automatically** Schedule Trigger – Runs the workflow at defined time intervals. Fetch lead search inputs** Read Search Requests – Retrieves keywords and locations from Google Sheets. Collect business data from API** Search Businesses API – Queries RapidAPI to find local businesses with contact details. Clean and structure results** Format Business Results – Extracts and formats business name, email, phone, website, and address. Analyze and score leads with AI** Message a model – Uses OpenAI to classify businesses, assign lead scores, and generate outreach lines. Store enriched leads** Write to Business Results – Saves all processed and scored leads into Google Sheets. Why use this? Automates manual lead research and data collection Improves lead quality with AI-based scoring and classification Centralizes all lead data in a structured Google Sheets database Generates ready-to-use outreach messages for faster sales execution Scales easily by adding more keywords and locations
by Pixcels Themes
Who’s it for This template is designed for recruiters, lead-generation teams, agency owners, and sales professionals who collect LinkedIn profile data and need to automate the process of finding verified company domains and email addresses. It is ideal for teams looking to eliminate manual research and streamline prospect enrichment. What it does / How it works This workflow reads contact records from a Google Sheet, including name, position, and description. An AI agent analyzes each profile to determine the company domain. If the domain is already identifiable from the description, it is used directly. If no domain is found, the workflow generates an intelligent search term and performs a Google Custom Search to extract the most accurate domain from real web results using another AI agent. Once the domain is confirmed, the workflow queries Hunter.io to find the best-matching email address for the contact. Finally, the enriched data—email and company domain—is appended back into the Google Sheet, updating each row automatically. Requirements Google Sheets OAuth2 credentials Google Gemini (PaLM) API credentials Hunter.io API key Google Custom Search API key and CSE ID A Google Sheet with columns for name, position, description, and domain How to set up Connect your Google Sheets, Gemini, Hunter.io, and Google Search credentials. Replace the Google Sheet ID and sheet name with your own. Add your API keys to the designated nodes. Ensure column names match your sheet structure. Execute the workflow to begin enrichment. How to customize the workflow Modify AI prompts for better domain inference Add additional enrichment steps (social profiles, industry tags) Add fallback email providers (Snov, Apollo, etc.) Change update logic to support multiple sheets or batch processing
by Yaron Been
Monitor CRM accounts for hiring spikes by enriching HubSpot companies with PredictLeads job data and alerting your team via Slack. This workflow pulls all companies from your HubSpot CRM, checks each one against the PredictLeads Job Openings API for target roles (sales, engineering, marketing, product, data), compares the current count to historical data stored in Google Sheets, and flags any company where hiring jumped more than 50%. Flagged companies get updated in HubSpot with a hiring signal and trigger a Slack alert so your sales team can act fast. How it works: Schedule trigger runs the workflow daily at 9 AM. Retrieves all companies from HubSpot CRM (domain, name, ID). Loops through each company and fetches job openings from PredictLeads. Filters jobs to target roles (sales, engineering, marketing, product, data). Reads the previous job count for that company from Google Sheets. Calculates percentage change between current and historical counts. If hiring increased more than 50%, flags it as a spike. Updates the HubSpot company record with a hiring signal property. Sends a Slack alert with the company name, role count, and percentage change. Updates Google Sheets with the latest count regardless of spike status. Setup: Connect your HubSpot CRM (OAuth2) with company read/write access. Create a Google Sheet with a "HistoricalCounts" tab containing columns: domain, company_name, job_count, previous_count, percent_change, check_date. Connect a Slack bot to the channel where you want hiring alerts. Add your PredictLeads API credentials (X-Api-Key and X-Api-Token headers). Requirements: HubSpot CRM account with OAuth2 credentials. Google Sheets OAuth2 credentials. Slack OAuth2 credentials (bot with chat:write permission). PredictLeads API account (https://docs.predictleads.com). Notes: The 50% spike threshold can be adjusted in the IF node. Target roles are configured in the Filter Target Roles code node -- add or remove roles as needed. The workflow updates historical data on every run, so spike detection improves over time. PredictLeads Job Openings API docs: https://docs.predictleads.com
by Dele Tosh
Quick Overview This workflow runs daily and weekly schedules to fetch Clio calendar entries, time entries, and open matters, then flags calendar activity without matching time entries, emailing per-attorney daily digests and a firm-wide weekly unbilled-revenue estimate while also logging both emails to an audit sub-workflow. How it works Runs every day at 7am (by default) and fetches the prior day’s Clio calendar entries, time entries, and open matters. Compares calendar entries to time entries at the matter level to identify matters with calendar activity but no logged time, estimating hours from start/end times (or a default duration). Groups the unbilled items by each matter’s responsible attorney and builds a per-attorney digest email with itemized matters and total estimated hours. Sends the digest content to a separate audit/guardrail workflow for logging, then emails the digest to each attorney. Runs every Monday at 8am (by default) and fetches the last 7 days of Clio calendar entries, time entries, and open matters. Repeats the unbilled-activity detection for the week, computes a firm-wide estimated dollar impact using a configurable hourly rate, logs the summary via the audit/guardrail workflow, and emails the weekly summary to the firm. Setup Add Clio OAuth2 credentials and set the CLIO_BASE_URL variable used by the Clio HTTP requests. Configure an email account for sending and set FIRM_FROM_EMAIL plus the target firm recipient (FIRM_EMAIL) used for fallbacks and the weekly summary. Create or connect an audit/guardrail sub-workflow and set GUARDRAIL_WORKFLOW_ID to its workflow ID. Set DEFAULT_CALENDAR_DURATION_HOURS (for entries without clear start/end times) and DEFAULT_HOURLY_RATE (for the weekly value estimate), and optionally set FIRM_NAME for the weekly email text. Adjust the cron expressions on the daily and weekly schedule triggers to match your firm’s preferred run times.
by Roshan Ramani
Who's it for This workflow is perfect for: Content creators who need to stay on top of trending topics Marketers tracking industry discussions and competitor mentions Community managers monitoring relevant subreddits Researchers gathering trending content in specific niches Anyone who wants curated Reddit updates without manual browsing What it does This automated workflow: Monitors multiple subreddits for viral posts daily Filters posts based on engagement metrics (upvotes and recency) Generates concise AI summaries of trending content Delivers formatted updates directly to your Telegram chat Runs completely hands-free once configured How it works Step 1: Configuration & Scheduling Triggers daily at 8 AM (customizable) Loads your configured subreddit niches and Telegram settings Step 2: Data Collection Loops through each subreddit in your niche list Fetches the 50 newest posts from each subreddit Extracts key data: title, URL, upvotes, timestamp, subreddit name Step 3: Smart Filtering Applies viral post criteria: Posts with 500+ upvotes, OR Posts with 70+ upvotes created within the last 24 hours Ensures only high-engagement content passes through Step 4: AI Summarization Aggregates all filtered posts into a single batch Sends to GPT-4o-mini for analysis Generates concise 100-200 word summaries Formats output for Telegram markdown Step 5: Delivery Sends all summaries to your Telegram chat Includes post links and engagement metrics Delivers in a clean, readable format Setup steps 1. Configure Reddit credentials Connect your Reddit OAuth2 API credentials in the "Get Reddit Viral Posts" node Ensure you have API access enabled on your Reddit account 2. Configure Telegram credentials Add your Telegram bot token in the "Send to Telegram" node Get your chat ID by messaging your bot and checking updates 3. Customize your niches Open the "Workflow Configuration" node Edit the niches array with your target subreddits Default niches: technology, programming, science, gaming 4. Set your Telegram chat ID Replace the default chat ID (7917193308) in "Workflow Configuration" Use your personal chat ID or group chat ID 5. Adjust the schedule (optional) Modify the "Daily 8 AM Trigger" to your preferred time Change frequency if you want multiple updates per day 6. Test before activating Run the workflow manually using the "Test workflow" button Verify summaries arrive in Telegram correctly Check that filtering logic works as expected Requirements Required credentials: Reddit OAuth2 API access (free) Telegram bot token (free via @BotFather) OpenAI API key for GPT-4o-mini (paid) Platform requirements: n8n instance (self-hosted or n8n Cloud) Active internet connection Sufficient API rate limits for your usage Technical knowledge: Basic understanding of n8n workflows Ability to generate API credentials Familiarity with Telegram bots (helpful but not required) How to customize Adjust subreddit monitoring: Add or remove subreddits in the niches array Format: ["subreddit1", "subreddit2", "subreddit3"] Example: ["machinelearning", "datascience", "artificial"] Modify viral post criteria: Edit the "Filter" node conditions Change upvote thresholds (default: 500+ or 70+ within 24h) Adjust time window for recency checks Customize AI summaries: Update the system prompt in "AI Summarizer" node Change summary length (default: 100-200 words) Modify tone, style, or focus areas Switch to different OpenAI models if needed Change scheduling: Modify trigger time in "Daily 8 AM Trigger" Options: hourly, twice daily, weekly, custom cron Consider API rate limits when increasing frequency Adjust data collection: Change the limit parameter in "Get Reddit Viral Posts" Default: 50 posts per subreddit Higher limits = more comprehensive but slower execution Enhance filtering logic: Add additional criteria (comments count, awards, etc.) Create category-specific thresholds Filter by post type (text, link, image) Format Telegram output: Modify parse_mode in "Send to Telegram" node Options: Markdown, HTML, or plain text Customize message structure and styling
by Anoop
Who’s it for Solo founders and spreadsheet gremlins who track everything in Notion and want crisp Telegram pings without opening a single page. What it does This workflow runs on daily, weekly, and monthly schedules, queries multiple Notion databases, summarizes key numbers, formats human‑readable messages, and sends them to Telegram. Out of the box it sends: Daily: *Total Expenses Today* (sum of Debit in **Financial Transaction since start of day). Weekly: *Total Expenses This Week*, *Monthly Budget Left/Spent* per budget item, *Financial Obligations due* (from **Scheduler). Month End (28th by default)*: *Total Expenses This Month, Total Income This Month, Funds status. Month Start: *Liquidity snapshot* — balances for **Liquid and Semi Liquid assets (from Assets and Liabilities). Messages are built via Code nodes (simple JS) and delivered to Telegram. How it works (nodes & flow) Schedule Triggers**: Daily, Weekly, Monthly (start & end). Notion queries** (selected DBs): Financial Transaction: filters on Created time, Type = Debit/Invoice. Budget: Currently Applicable = true, Payment Schedule Type = Monthly, formula: Monthly Budget Left. Income: month-to-date Created time filter. Funds: reads Amount Left, Amount Spent, Amount Needed. Scheduler: Next Date on or before now, Type = Financial, Repeat Type != off. Assets and Liabilities: Liquidity = Liquid or Semi Liquid. Summarize nodes**: sum property_cost / property_balance fields. Set/Code nodes**: reshape Notion properties (e.g., property_next_date.start → next-date) and format text blocks like: Total Expenses Today - Rs X Monthly Budget Left - <list> Invoices still to pay - <list> Funds Info - spent/needed Liquidity Balance - <list> Telegram**: sends the composed message to chatId. > Tip: If your Notion property names differ, adjust the filters and Set node mappings accordingly. Requirements n8n (Cloud or self‑hosted) Notion workspace with Personal Finance System Notion template cloned into your workspace. Telegram account (for bot + chat) Setup (quick) Telegram Create a bot via @BotFather → get Bot Token. Get your Chat ID (n8n Telegram Trigger “Run once”, then message your bot, copy chat.id). In the Telegram Send node, set chatId (or use an env var/secret). Notion Create an Internal Integration, copy the token, and share each DB with the integration. In the Notion nodes, select your Notion credential and map the DB IDs (already present in the JSON). n8n Credentials Notion API credential: paste the integration token. Telegram API credential: paste Bot Token and set chatId in the node or via expression. Time windows Daily: on_or_after: $now.startOf('day') Weekly: on_or_after: $now.startOf('week') Monthly: on_or_after: $now.startOf('month') Monthly end trigger runs on day 28 by default — change in the Schedule node. Customization Change the date ranges, add currency symbol, or swap summaries for tables. Add more filters (labels, categories) to the Notion nodes. Replace Telegram with Slack/Email by swapping the final node. To avoid “expects dateTime but got object”, convert $now to string: {{$now.toISO()}} or parse Notion dates with DateTime.fromISO(...) as needed. Example messages Total Expenses Today - Rs 1,840 Monthly Budget Left - 3 1) Groceries: Rs 4,500 2) Dining Out: Rs 1,200 3) Utilities: Rs 800 Invoices still to pay - 2 1) Figma Pro: Rs 3,000 2) AWS: Rs 2,450 Why this is useful Keeps your spend & cash visibility tight without opening Notion. Turns your financial system into low‑effort telemetry — you just look at Telegram. Credentials you’ll likely name in n8n Notion**: Notion account Telegram**: Accountant AI > Works great with the “Personal Finance System” style schemas. Adjust property keys (property_*) if your Notion columns differ.