by PollupAI
Who it’s for Built for Customer Success and Account Management teams focused on proactive retention. This workflow helps you automatically identify at-risk customers – before they churn – by combining CRM, usage, and sentiment data into one actionable alert. What it does This end-to-end workflow continuously monitors customer health by consolidating data from HubSpot and Google Sheets. Here’s how it works: Fetch deals from HubSpot. Collect context — linked support tickets and feature usage from a Google Sheet. Run sentiment analysis on the tickets to generate a customer health score. Evaluate risk — an AI agent reviews deal age, sentiment score, and usage trends against predefined thresholds. Send alerts — if churn risk is detected, it automatically sends a clear, data-driven email to the responsible team member with next-step recommendations. How to set it up To get started, configure your credentials and parameters in the following nodes: Credentials: HubSpot: Connect your account (HubSpot: Get All Deals). LLM Model: Add credentials for your preferred provider (Config: Set LLM for Agent & Chains). Google Sheets: Connect your account (Tool: Get Feature Usage from Sheets). Email: Set up your SMTP credentials (Email: Send Churn Alert). Tool URLs: In Tool: Calculate Sentiment Score, enter the Webhook URL from the Trigger: Receive Tickets for Scoring node within this same workflow. In Tool: Get HubSpot Data, enter the Endpoint URL for your MCP HubSpot data workflow. (Note: This tool *does call an external workflow)*. Google Sheet: In Tool: Get Feature Usage from Sheets, enter the Document ID for your own Google Sheet. Email Details: In Email: Send Churn Alert, change the From and To email addresses. Requirements HubSpot account with Deals API access LLM provider account (e.g. OpenAI) Google Sheets tracking customer feature usage n8n with LangChain community nodes enabled A separate n8n workflow set up to act as an MCP endpoint for fetching HubSpot data (called by Tool: Get HubSpot Data). How to customize it Tailor this workflow to match your business logic: Scoring logic:** Adjust the JavaScript in the Code: Convert Sentiment to Score node to redefine how customer scores are calculated. Alert thresholds:** Update the prompt in the AI Chain: Analyze for Churn Risk node to fine-tune when alerts trigger (e.g. deal age, score cutoff, or usage drop). Data sources:** Swap HubSpot or Google Sheets for your CRM or database of choice — like Salesforce or Airtable. ✅ Outcome: A proactive customer health monitoring system that surfaces risks before it’s too late — keeping your team focused on prevention, not firefighting.
by Cadu | Ei, Doc!
This n8n template demonstrates how to automate blog post creation with AI and WordPress This workflow is designed for creators who want to maintain an active blog without spending hours writing — while still taking advantage of SEO benefits. It connects OpenAI and WordPress to help you schedule AI-generated posts or create content from simple one- or two-word prompts. 🧠 Good to know At the time of writing, each AI-generated post will use your OpenAI API credits according to your model and usage tier. This workflow requires an active WordPress site with API access and your OpenAI API key. Setup is quick — in less than 5 minutes, you can have everything running smoothly! ⚙️ How it works The workflow connects to your WordPress API and your OpenAI account. You can choose between two modes: Scheduled mode: AI automatically creates and publishes posts based on your defined schedule. Prompt mode: Enter a short phrase (one or two words) and let AI generate a complete SEO-optimized post. The generated content is formatted and published directly to your WordPress blog. You can easily customize prompts, post styles, or scheduling frequency to match your brand and goals. 🚀 How to use Start with the Manual Trigger node (as an example) — or replace it with other triggers such as webhooks, cron jobs, or form submissions. Adjust your OpenAI prompts to fine-tune the tone, structure, or SEO focus of your posts. You can also extend this workflow to automatically share posts on social media or send notifications when new articles go live. ✅ Requirements Active OpenAI API key WordPress site** with API access 🧩 Customising this workflow AI-powered content creation can be adapted for many purposes. Try using it for: Automated content calendars Generating product descriptions Creating newsletter drafts Building SEO-focused blogs effortlessly
by Blumpo
Find Customer Insights from Website and Reddit with Claude Who is this for? This workflow is designed for marketers, founders, agencies, and product teams who want to understand how real customers talk about a product category, market, or problem space. It works especially well if you already have: a website a product that needs better positioning weak or limited voice-of-customer data a need for better ad angles, hooks, landing page messaging, or research What problem is this workflow solving? / Use case A lot of AI outputs are only as good as the context behind them. The problem is that many websites do not provide enough useful input on their own: some barely explain the product clearly some have weak positioning some have very little voice-of-customer language available some need insight from the broader market, not just the brand itself This workflow solves that by combining website extraction with Reddit research. Instead of only asking, “What does this company say about itself?”, it also asks: what are people frustrated with in this market? what are they trying to solve? what triggers them to look for a solution? how do they describe the problem in their own words? That gives you much better raw material for ads, copy, positioning, landing pages, and content strategy. What this workflow does Collects a website URL through a form Fetches the homepage and selected internal pages from the website Extracts and cleans website text into one usable source Builds structured website insights such as: brand name product summary customer group industry problems solution key features key benefits brand voice business type marketing brief Generates targeted Reddit search phrases based on the product category and market Searches Reddit for relevant posts Filters low-quality or irrelevant posts Checks which posts are actually relevant to the product/problem space Pulls comments from selected Reddit threads Combines website context with Reddit posts and comments Extracts structured customer insight such as: pain points trigger events aspirations interesting quotes content ideas Setup Connect your accounts: Anthropic API for website analysis, keyword generation, relevance checking, and final insight creation Reddit API for searching posts and pulling comments Set your credentials in the respective nodes. Form input required: Website — required How to customize this workflow to your needs Website analysis: Adjust the website analysis prompt if you want different output fields, such as competitors, pricing objections, maturity level, or use cases. Reddit search breadth: Change the prompt that generates search terms if you want broader market research or narrower product-category research. Post filtering: Adjust the Reddit filtering logic if you want to allow lower-engagement posts, fewer comments, or more exploratory inputs. Insight extraction: Update the final insight prompt if you want different outputs such as objection handling, JTBD phrasing, angle buckets, landing page copy, or ad hooks. Research focus: You can use this workflow for: ad research landing page messaging competitor/category research product marketing ICP understanding How it works The workflow starts with a form submission containing a website URL. It fetches the homepage, extracts navigation links, and uses Claude to select a few useful internal pages likely to contain stronger product and positioning context. Those pages are fetched and converted into text, then merged into one cleaned website source. Claude then analyzes that website text to build a structured understanding of the product, audience, problems, solution, features, benefits, tone, and market context. Based on that, it generates a couple of targeted Reddit search phrases that are specific to the product category rather than just the exact brand name. The workflow searches Reddit using those phrases, removes weak or empty results, and aggregates the posts. It then checks which posts are actually relevant to the product’s customer group and pain points. After that, it pulls comments from selected posts and combines the post and comment data into one research input. Finally, Claude turns that combined input into structured customer insight that can be used for messaging and creative work. The final output includes things like pain points, trigger events, aspirations, quotes, and content ideas. Result With this workflow, you go from website URL → website understanding → Reddit research → structured customer insight in one flow. The result is much better context for: ad angles hooks landing pages positioning voice-of-customer research creative strategy
by DataForSEO
Once a week, this workflow automatically detects newly ranked keywords in Google AI Overview across your domains using DataForSEO API. It pulls the latest data for every target, stores a new snapshot in Google Sheets, and compares it with the previous run. Any new keywords and related info is automatically appended to a dedicated log sheet, and a short email recap is sent to your chosen recipients, so your team can easily review updates without manual monitoring. Who’s it for SEO specialists and marketers who want a hands-off way to track newly ranked keywords in Google’s AIO for specific domains and get weekly updates without manual checks. What it does This workflow automatically discovers new keywords your domains started ranking for in Google AI Overview (AIO), logs them in Google Sheets, and emails you a weekly summary of what’s changed. How it works Triggers on a chosen schedule (default: once a week). Reads your keywords and domains from Google Sheets. Pulls the latest data from Google AI Overview via DataForSEO API. Compares the results with the previous snapshot. Appends newly ranked keywords to a dedicated Google Sheet. Sends a weekly summary email. Requirements DataForSEO account A spreadsheet in Google Sheets with your keywords that matches the required column structure (as in the example). A spreadsheet in Google Sheets with your target domains that matches the required column structure (as in the example). Gmail account Customization You can customize this workflow by changing the schedule, exporting results to other tools (such as Looker Studio and BigQuery) instead of Google Sheets, and modifying the email text.
by Avkash Kakdiya
How it works This workflow automates lead nurturing by pulling data from Google Sheets, analyzing leads with AI, and sending personalized outreach emails. It runs on a schedule, processes leads in batches, and routes them based on their status and step. AI generates both first-touch and follow-up emails while updating the CRM automatically. The system ensures consistent outreach and tracks lead progression without manual work. Step-by-step Trigger and lead intake** Schedule Trigger – Runs the workflow at set intervals. Get row(s) in sheet – Fetches lead data from Google Sheets. If – Filters leads that need action based on status or date. Data preparation and batching** Code in JavaScript – Normalizes fields like email, name, and company. Loop Over Items – Processes leads in controlled batches. AI lead scoring and routing** AI-Lead-Analysis – Evaluates lead quality and assigns score and priority. Parse AI – Extracts structured AI insights from the response. Switch – Routes leads based on outreach step or status. First outreach automation** First AI mail – Generates a personalized cold email. Save Message – Stores the generated message. Send a message – Sends the email via Gmail. Update row in sheet – Updates CRM with outreach details. Follow-up and pipeline completion** AI-Follow-up – Creates a follow-up email using AI. Parse Follow-up – Extracts follow-up message content. Send a message1 – Sends the follow-up email. Update row in sheet1 – Updates CRM with follow-up info. Wait – Delays before checking for response. If1 – Checks if the lead replied or not. Update row in sheet2 – Marks lead as closed if no response. Why use this? Automates end-to-end outbound lead nurturing Uses AI for smarter lead scoring and personalization Reduces manual CRM updates and follow-up tracking Improves response rates with timely outreach Scales cold email campaigns efficiently
by gotoHuman
Let AI classify your incoming emails and draft replies. Use gotoHuman to approve emails before they are sent out. It also lets you manually edit the draft or even ask for a retry. How it works The workflow is triggered for each new email which gets passed to an AI classification agent. It assigns the email to one of the categories defined in the prompt (Customer Support, Sales opportunity, Promo, Personal,...). The agent also determines whether a reply is needed and if it is important. If a reply is needed, we ask the AI Email Writer to draft a response. Even if it is missing context it can help us draft an outline for the response. The email draft is sent to gotoHuman where the reviewer can manually edit it or ask to regenerate it with the option to even edit the prompt (Retries loop back to the AI Email Writer node) Approved email replies are automatically sent from the workflow How to set up Most importantly, install the gotoHuman node before importing this template! (Just add the node to a blank canvas before importing) Set up your credentials for gotoHuman, OpenAI, and Gmail In gotoHuman, select and create the pre-built review template "Email agent" or import the ID: v81wzxwYoFYvWpmuIBgX Select this template in the gotoHuman node Requirements You need accounts for gotoHuman (human supervision) OpenAI (classification, drafting) Gmail How to customize Change the predefined categories in the prompt of the AI classification agent Provide the AI Email Writer with more context to create replies. Consider adding tools that allow the agent to fetch more infos about clients, your calendar, FAQs for your product,...
by Naz Akgül
A weekly agent that finds local businesses with weak or missing web presence, and scores them as sales leads for web agencies, freelance developers, and digital consultants. The agent searches local business directories in your target area. It scrapes each business website with Firecrawl, evaluates quality signals, scores opportunity as High / Medium / Low, deduplicates against a database so you never process the same business twice, and sends you a clean weekly email with fresh leads ready to act on. What problem is it solving? Finding clients who genuinely need your help is the hardest part of running a web agency or freelance business. Cold outreach to random businesses wastes time. This workflow automates prospecting: it identifies businesses that have strong reviews but a weak digital presence. The deduplication layer means every lead in your inbox is genuinely new. The scoring system means you can focus on High-opportunity leads first and work down as needed. What this workflow does Triggers on a weekly schedule (Mondays at 9:00 AM) Randomises the search seed each run to explore different categories and areas, reducing repetition across weeks AI agent searches local business directories for target business types in the configured area Firecrawl scrapes each business website to evaluate quality signals: Mobile-friendliness Outdated design indicators Missing key pages (contact, services, booking) Tech signals (old frameworks, no HTTPS) Freshness (last updated, stale content) Scores each lead as High / Medium / Low opportunity, with a written reason for why it's a lead Deduplicates against the marco_leads Postgres table — businesses already in the database are skipped Saves new leads to the database with full enrichment data Sends a Gmail digest with the week's new leads, formatted for quick review Setup Create the database table — run the SQL provided in the workflow's sticky note to create the marco_leads table in Supabase (or any Postgres database) Connect Postgres credentials — point them at your Supabase project Connect Firecrawl credentials — used for directory and website scraping Connect OpenAI credentials — used by the AI agent for discovery and scoring Configure Gmail — set your Gmail address in the Gmail node as the sender and recipient Adjust the target parameters — update the AI agent's instructions with your preferred city, radius, and business types Activate the workflow — it will run automatically every Monday at 9:00 AM How to customize this workflow to your needs Change the target location** — update the city and radius in the AI agent prompt; the workflow works for any geography Change business types** — swap dentists, salons, gyms, and restaurants for any local business category relevant to your market (e.g. lawyers, accountants, florists) Adjust lead scoring criteria** — modify the agent prompt to emphasise the signals that matter most to your outreach strategy Change the output** — replace the Gmail node with a Slack message, a Notion database entry, or a CRM webhook to slot leads directly into your sales pipeline Change the schedule** — run it daily for higher volume, or bi-weekly if you have a smaller target area Add enrichment** — extend the workflow with a phone/email lookup step after scoring to enrich High-opportunity leads with contact details before they hit your inbox Filter by opportunity score** — add a filter node before the Gmail step to only send High-opportunity leads, saving review time when volume is high
by InfyOm Technologies
✅ What problem does this workflow solve? Tracking what people say about your brand on Twitter can be overwhelming, especially when important mentions slip through the cracks. This workflow automates the process: it scrapes Twitter mentions, analyzes sentiment using OpenAI, logs everything in a Google Sheet, and sends real-time Slack alerts for negative tweets. No manual monitoring needed. ⚙️ What does this workflow do? Runs on a schedule to monitor Twitter mentions or hashtags. Uses Apify to scrape tweets based on brand keywords. Filters out tweets already processed (avoids duplicates). Performs sentiment analysis with OpenAI (Positive, Neutral, Negative). Logs tweet content, sentiment, and reply (if any) in a Google Sheet. Sends an instant Slack notification for negative tweets. Generates thank-you replies for positive tweets and logs them. 🔧 Setup Instructions 🗓 Schedule Trigger Use the Cron node to schedule checks (e.g., every hour, daily). 🐦 Apify Twitter Scraper Setup Sign up on Apify Generate your Apify API Token and use it in the HTTP node to run the actor and get tweet results. 🤖 OpenAI Sentiment Analysis Get your API key from OpenAI 📄 Google Sheet Configuration Prepare a Google Sheet with this sample format. Connect it using the Google Sheets node in n8n. 💬 Slack Notifications Connect your Slack workspace via the Slack node. Set up the channel where negative tweets should be sent as alerts. 🧠 How it Works 1. Scheduled Run Triggered at a fixed interval using the Schedule (Cron) node. 2. Scrape Mentions from Twitter The Apify actor runs and collects recent tweets mentioning your brand or using your hashtag. Links to the tweets are extracted. 3. Filter Previously Seen Tweets Each tweet is checked against the Google Sheet. If already present, it’s skipped to avoid duplicate analysis. 4. Analyze Sentiment with OpenAI For new tweets, sentiment is classified into: ✅ Positive ⚪ Neutral ❌ Negative 5. Store Results in Google Sheet The tweet link, content, and sentiment are stored in a row. If sentiment is positive, a thank-you reply is also generated and saved. 6. Notify Slack for Negative Tweets When a tweet is tagged Negative, a Slack message is sent to the designated channel with the tweet link. 👤 Who can use this? This workflow is ideal for: 📢 Social Media Teams 🧠 PR and Brand Managers 🧑💻 Solo Founders 🏢 Startups & SaaS Companies Stay ahead of your brand's reputation—automatically. 🛠 Customization Ideas 🎯 Add filters for specific campaign hashtags. 📬 Send weekly summary reports via email. 📥 Auto-open support tickets for negative mentions. 🗣 Expand sentiment categories with more detailed tagging. 🚀 Ready to get started? Just plug in: 🔑 Your Apify API Token 🔑 Your OpenAI API Key 📄 Your Google Sheet 💬 Your Slack Channel Then deploy the workflow, and let it monitor Twitter for you!
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 Yusuke Yamamoto
This n8n template creates an automated alert system that checks NASA's data for near-Earth asteroids twice a day. When it finds asteroids meeting specific criteria, it sends a summary alert to Slack and creates individual events in Google Calendar for each object. Use cases Automated Monitoring**: Keep track of potentially hazardous asteroids without manually checking websites. Team or Community Alerts**: Automatically inform a team, a group of friends, or a community about significant celestial events via Slack. Personalized Space Calendar**: Populate your Google Calendar with upcoming asteroid close approaches, creating a personal "what's up in space" agenda. Educational Tool**: Use this as a foundation to learn about API data fetching, data processing, and multi-channel notifications in n8n. Good to know This workflow runs on a schedule (every 12 hours by default) and does not require a manual trigger. NASA API Key is highly recommended**. The default DEMO_KEY has strict rate limits. Get a free key from api.nasa.gov. The filtering logic for what constitutes an "alert-worthy" asteroid (distance and size) is fully customizable within the "Filter and Process Asteroids" Code node. How it works A Schedule Trigger starts the workflow every 12 hours. The "Calculate Date Range" Code node generates the start and end dates for the API query (today to 14 days from now). The NASA node uses these dates to query the Near Earth Object Web Service (NeoWs) API, retrieving a list of all asteroids that will pass by Earth in that period. The "Filter and Process Asteroids" Code node iterates through the list. It filters out objects that are too small or too far away, based on thresholds defined in the code. It then formats and sorts the remaining "interesting" asteroids by their closest approach distance. An If node checks if any asteroids were found after filtering. If true (asteroids were found), the flow continues to the alert steps. If false, the workflow ends quietly via a NoOp node. The "Format Alert Messages" Code node compiles a single, well-formatted summary message for Slack and prepares the data for other notifications. The workflow then splits into two parallel branches: Slack Alert: The Slack node sends the summary message to a specified channel. Calendar Events: The Split Out node separates the data so that each asteroid is processed individually. For each asteroid, the Google Calendar node creates an all-day event on its close-approach date. How to use Configure the NASA Node: Open the "Get an asteroid neo feed" (NASA) node. Create new credentials and replace the default DEMO_KEY with your own NASA API key. Customize Filtering (Optional): Open the "Filter and Process Asteroids" Code node. Adjust the MAX_DISTANCE_KM and MIN_DIAMETER_METERS variables to make the alerts more or less sensitive. // Example: For closer, larger objects const MAX_DISTANCE_KM = 7500000; // 7.5 million km (approx. 19.5 lunar distances) const MIN_DIAMETER_METERS = 100; // 100 meters Configure Slack Alerts: Open the "Send Slack Alert" node. Add your Slack OAuth2 credentials. Select the channel where you want to receive alerts (e.g., #asteroid-watch). Configure Google Calendar Events: Open the "Create an event" (Google Calendar) node. Add your Google Calendar OAuth2 credentials. Select the calendar where events should be created. Activate the workflow. Requirements A free NASA API Key. Slack credentials** (OAuth2) and a workspace to post alerts. Google Calendar credentials** (OAuth2) to create events. Customising this workflow Add More Notification Channels**: Add nodes for Discord, Telegram, or email to send alerts to other platforms. Create a Dashboard**: Instead of just sending alerts, use the processed data to populate a database (like Baserow or Postgres) to power a simple dashboard. Different Data Source**: Modify the HTTP Request node to pull data from other space-related APIs, like a feed of upcoming rocket launches.
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 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.