by Automate With Marc
AI Agent MCP for Email & News Research Build a chat-first MCP-powered research and outreach agent. This workflow lets you ask questions in an n8n chat, then the agent researches news (via Tavily + Perplexity through an MCP server) and drafts emails (via Gmail through a separate MCP server). It uses OpenAI for reasoning and short-term memory for coherent, multi‑turn conversations. Watch build along videos for workflows like these on: www.youtube.com/@automatewithmarc What this template does Chat-native trigger: Start a conversation and ask for research or an email draft. MCP client tools: The agent talks to two MCP servers — one for Email work, one for News research. News research stack: Uses Tavily (search) and Perplexity (LLM retrieval/answers) behind a News MCP server. Email stack: Uses Gmail Tool to generate and send messages via an Email MCP server. Reasoning + memory: OpenAI Chat Model + Simple Memory for context-aware, multi-step outputs. How it works (node map) When chat message received → collects your prompt and routes it to the agent. AI Agent (system prompt = “helpful email assistant”) → orchestrates tools via MCP Clients. OpenAI Chat Model → reasoning/planning for research or email drafting. Simple Memory → keeps recent chat context for follow-ups. News MCP Server exposes: Tavily Tool (Search) and Perplexity Tool (Ask) for up-to-date findings. Email MCP Server exposes: Gmail Tool (To, Subject, Message via AI fields) to send or draft emails. The MCP Clients (News/Email) plug into the Agent, so your single chat prompt can research and then draft/send emails in one flow. Requirements n8n (Cloud or self‑hosted) OpenAI API key for the Chat Model (set on the node) Tavily, Perplexity, and Gmail credentials (connected on their respective tool nodes) Publicly reachable MCP Server endpoints (provided in the MCP Client nodes) Setup (quick start) Import the template and open it in the editor. Connect credentials on: OpenAI, Tavily, Perplexity, and Gmail tool nodes. Confirm MCP endpoints in both MCP Client nodes (News/Email) and leave transport as httpStreamable unless you have special requirements. Run the workflow. In chat, try: “Find today’s top stories on Kubernetes security and draft an intro email to Acme.” “Summarize the latest AI infra trends and email a 3‑bullet update to my team.” Inputs & outputs Input: Natural-language prompt via chat trigger. Tools used: News MCP (Tavily + Perplexity), Email MCP (Gmail). Output: A researched summary and/or a drafted/sent email, returned in the chat and executed via Gmail when requested. Why teams will love it One prompt → research + outreach: No tab‑hopping between tools. Up-to-date answers: Pulls current info through Tavily/Perplexity. Email finalization: Converts findings into send-ready drafts via Gmail. Context-aware: Memory keeps threads coherent across follow-ups. Pro tips Use clear verbs in your prompt: “Research X, then email Y with Z takeaways.” For safer runs, point Gmail to a test inbox first (or disable send and only draft). Add guardrails in the Agent’s system message to match your voice/tone.
by Alex Huy
How it works This workflow automatically curates and sends a daily AI/Tech news digest by aggregating articles from premium tech publications and using AI to select the most relevant and trending stories. 🔄 Automated News Pipeline RSS Feed Collection - Fetches articles from 14 premium tech news sources (TechCrunch, MIT Tech Review, The Verge, Wired, etc.) Smart Article Filtering - Limits articles per source to ensure diverse coverage and prevent single-source domination Data Standardization - Cleans and structures article data (title, summary, link, date) for AI processing AI-Powered Curation - Uses Google Vertex AI to analyze articles and select top 10 most relevant/trending stories Newsletter Generation - Creates professional HTML newsletter with summaries and direct links Email Delivery - Automatically sends formatted digest via Gmail 🎯 Key Features Premium Sources** - Curates from 14 top-tier tech publications AI Quality Control** - Intelligent article selection and summarization Balanced Coverage** - Prevents source bias with smart filtering Professional Format** - Clean HTML newsletter design Scheduled Automation** - Daily delivery at customizable times Error Resilience** - Continues processing even if some feeds fail Setup Steps 1. 🔑 Required API Access Google Cloud Project** with Vertex AI API enabled Google Service Account** with AI Platform Developer role Gmail API** enabled for email sending 2. ☁️ Google Cloud Setup Create or select a Google Cloud Project Enable the Vertex AI API Create a service account with these permissions: AI Platform Developer Service Account User Download the service account JSON key Enable Gmail API for the same project 3. 🔐 n8n Credentials Configuration Add these credentials to your n8n instance: Google Service Account (for Vertex AI): Upload your service account JSON key Name it descriptively (e.g., "Vertex AI Service Account") Gmail OAuth2: Use your Google account credentials Authorize Gmail API access Required scopes: gmail.send 4. ⚙️ Workflow Configuration Import the workflow into your n8n instance Update node configurations: Google Vertex AI Model: Set your Google Cloud Project ID Send Newsletter Email: Update recipient email address Daily Newsletter Trigger: Adjust schedule time if needed Verify credentials are properly connected to respective nodes 5. 📰 RSS Sources Customization (Optional) The workflow includes 14 premium tech news sources: TechCrunch (AI & Startups) The Verge (AI section) MIT Technology Review Wired (AI/Science) VentureBeat (AI) ZDNet (AI topics) AI Trends Nature (Machine Learning) Towards Data Science NY Times Technology The Guardian Technology BBC Technology Nikkei Asia Technology To customize sources: Edit the "Configure RSS Sources" node Add/remove RSS feed URLs as needed Ensure feeds are active and properly formatted 6. 🚀 Testing & Deployment Manual Test: Execute the workflow manually to verify setup Check Email: Confirm newsletter arrives with proper formatting Verify AI Output: Ensure articles are relevant and well-summarized Schedule Activation: Enable the daily trigger for automated operation 💡 Customization Options Newsletter Timing: Default: 8:00 AM UTC daily Modify "triggerAtHour" in the Schedule Trigger node Add multiple daily sends if desired Content Focus: Adjust the AI prompt in "AI Tech News Curator" node Specify different topics (e.g., focus on startups, enterprise AI, etc.) Change output language or format Email Recipients: Update single recipient in Gmail node Or modify to send to multiple addresses Integrate with mailing list services Article Limits: Current: Max 5 articles per source Modify the filtering logic in "Filter & Balance Articles" node Adjust total article count in AI prompt 🔧 Troubleshooting Common Issues: RSS Feed Failures**: Individual feed failures won't stop the workflow AI Rate Limits**: Vertex AI has generous limits, but monitor usage Gmail Sending**: Ensure sender email is authorized in Gmail settings Missing Articles**: Some RSS feeds may be inactive - check source URLs Performance Tips: Monitor execution times during peak RSS activity Consider adding delays if hitting rate limits Archive old newsletters for reference This workflow transforms daily news consumption from manual browsing to curated, AI-powered intelligence delivered automatically to your inbox.
by Automate With Marc
Step-By-Step AI Stock Market Research Agent (Beginner) Build your own AI-powered daily stock market digest — automatically researched, summarized, and delivered straight to your inbox. This beginner-friendly n8n workflow shows how to combine OpenAI GPT-5, Decodo scraping tool, and Gmail to produce a concise daily financial update without writing a single line of code. 🎥 Watch a full tutorial and walkthrough on how to build and customize similar workflows at: https://www.youtube.com/watch?v=DdnxVhUaQd4 What this template does Every day, this agent automatically: Triggers on schedule (e.g., 9 a.m. daily). Uses Decodo Tool to fetch real market headlines from Bloomberg, CNBC, Reuters, Yahoo Finance, etc. Passes the information to GPT-5, which summarizes key events into a clean daily report covering: Major indices (S&P 500, Nasdaq, Dow) Global markets (Europe & Asia) Sector trends and earnings Congressional trading activity Major financial and regulatory news Emails the digest to you in a neat, ready-to-read HTML format. Why it’s useful (for beginners) Zero coding: everything configured through n8n nodes. Hands-on AI Agent logic: learn how a language-model node, memory, and web-scraping tool work together. Practical use case: a real-world agent that automates market intelligence for investors, creators, or business analysts. Requirements OpenAI API Key (GPT-4/5 compatible) Decodo API Key (for market data scraping) Gmail OAuth2 Credential (to send daily digest) Credentials to set in n8n OpenAI API (Chat Model) → Connect your OpenAI key. Decodo API → Paste your Decodo access key. Gmail OAuth2 → Connect your Google Account and edit “send to” email address. How it works (nodes overview) Schedule Trigger Starts the workflow at a preset time (default: daily). AI Research Agent Acts as a Stock Market Research Assistant. Uses GPT-5 via OpenAI Chat Model. Uses Decodo Tool to fetch real-time data from trusted finance sites. Applies custom system rules for concise summaries and email-ready HTML output. Simple Memory Maintains short-term context for clean message passing between nodes. Decodo Tool Handles all data scraping and extraction using the AI’s tool calls. Gmail Node Emails the final daily digest to the user (default subject: “Daily AI News Update”). Setup (step-by-step) Import template into n8n. Open each credential node → connect your accounts. In the Gmail node, replace “sendTo” with your email. Adjust Schedule Trigger → e.g., every weekday 8:30 a.m. (Optional) Edit the system prompt in AI Research Agent to focus on different sectors (crypto, energy, tech). Click Execute Workflow Once to test — you’ll receive an AI-curated digest in your inbox. Customization tips 🕒 Change frequency: adjust Schedule Trigger to run multiple times daily or weekly. 📰 Add sources: extend the Decodo Tool input with new URLs (e.g., Seeking Alpha, MarketWatch). 📈 Switch topic: modify prompt to track crypto, commodities, or macroeconomic data. 💬 Alternative delivery: send digest via Slack, Telegram, or Notion instead of Gmail. Troubleshooting 401 errors: verify OpenAI/Decodo credentials. Empty output: ensure Decodo Tool returns valid data; inspect the agent’s log. Email not sent: confirm Gmail OAuth2 scope and recipient email. Formatting issues: keep output in HTML mode; avoid Markdown.
by Easy8.ai
Description Use this workflow to automatically sync Zoom webinar registrants into Mailchimp, filter out internal contacts, and send double opt-in confirmation emails. Ideal for keeping your newsletter audiences clean, accurate, and enriched with new leads—without manual export/import steps. About Workflow This workflow connects Zoom Webinars with Mailchimp via API to automate the onboarding of webinar attendees into your marketing audience. It retrieves registrant data from Zoom (based on Webinar ID and Occurrence ID), extracts attendee emails, filters out internal domains, checks whether the contact already exists in Mailchimp, and then creates or updates each record. New contacts receive a double opt-in confirmation email, and all newly added leads are tagged for segmentation inside Mailchimp. Use Case Perfect for marketing teams running webinars who need to transfer participants into Mailchimp quickly and reliably. This automation streamlines attendee follow-up, ensures compliance with double opt-in requirements. How it works Manual Trigger – Execute workflow** The workflow starts manually. You can optionally replace the manual trigger with a Schedule Trigger if you want to automate recurring webinars. Manual Input – Set Webinar ID and Occurrence ID** The workflow includes a Set node that requires you to enter: webinar_id occurence_id These define which Zoom webinar instance will be synced. Zoom API – Get Webinar Attendees** Retrieves registrants for the selected webinar occurrence using the Zoom API. Code Node – Extract Registrant Emails** Processes the Zoom API response and extracts the email addresses of all registrants. Filter Node – Filter Out Internal Emails** Removes internal/company email addresses by checking that they do not contain your domain. (This is fully configurable.) Mailchimp – Update a Member** Attempts to update the contact in Mailchimp based on their email address. This determines whether the contact already exists. IF Node – If ID Doesn’t Exist** Checks if Mailchimp returned an id during the update attempt. If Mailchimp did not return an ID, the contact is treated as new and continues through the creation + confirmation path. Code Node – MD5 Hash Email** Hashes the email using MD5. Mailchimp uses this hash as the unique identifier for list members. Mailchimp – Send Double Opt-In Email** Creates the contact with “pending” status and sends a double opt-in email. Mailchimp – Add Leads Tag** Tags the contact with "Leads" immediately as part of the creation process. How to Use Import the workflow into your n8n instance Configure credentials: Zoom OAuth2 credential Mailchimp HTTP Basic Auth credential Enter webinar details: Set webinar_id and occurence_id in the Type in IDs node Adjust internal email filtering: Update the domain in the “Filter Out Internal Emails” node (e.g., change @yourcompanydomain.com) Configure Mailchimp nodes: Replace LIST_ID_HERE with your Mailchimp Audience/List ID Adjust tags if needed Test the workflow: Run it with a real webinar and confirm behavior: internal emails are excluded existing contacts are updated new contacts receive the double opt-in email tags are applied correctly Example Use Cases Automated lead generation from webinar attendance Keeping marketing lists clean and external-only Recurring webinars with scheduled syncing Easy double opt-in compliance with no manual steps Requirements Zoom account** with API access Mailchimp account** with API access n8n instance** with correctly configured credentials Optional Enhancements Replace the manual trigger with a Webhook for recurring syncs Auto-detect the latest webinar ID using a Zoom API call Add additional filters (e.g., job title, country, language) Add Slack/email notifications summarizing new leads Add error-handling paths for retrying failed API calls
by WeblineIndia
Send Automated Recruitment Rejection Emails with Google Sheets and Gmail at End-of-Day. Automatically reads a “Candidate Status” tab in Google Sheets every day at 18:00 Asia/Kolkata, filters rows with exact (case-sensitive) rejection statuses and sends one personalized rejection email per candidate via SMTP (Gmail). It rate-limits sends, supports DRY\_RUN previews and writes a timestamp back to rejection_sent_at to avoid duplicates. Who’s it for Recruiters needing consistent, respectful closure at day end. Teams tracking hiring outcomes in Google Sheets. Coordinators who prefer a scheduled, hands-off workflow with safeguards. How it works Cron (18:00 IST) triggers daily Google Sheets Read → loads Candidate Status tab Filter → keep rows where status REJECT_STATUS_CSV (exact match), with valid candidate_email and empty rejection_sent_at DRY\RUN? If true → output preview only; if false → proceed Rate limit → wait RATE_LIMIT_SECONDS (default 10s) between emails SMTP (Gmail) → send personalized email per row using templates Mark as sent → write current timestamp to rejection_sent_at How to set up Sheet & Columns**: Create “Candidate Status” tab with: candidate_name, candidate_email, role, status, recruiter_name, recruiter_email, company_name, interview_feedback (optional), template_variant (optional), language (optional), rejection_sent_at Credentials: Connect **Google Sheets (OAuth) and SMTP (Gmail) in n8n (use App Password if 2FA) Config (Set node)**: SPREADSHEET_ID SOURCE_SHEET = Candidate Status TIMEZONE = Asia/Kolkata REJECT_STATUS_CSV = e.g., Rejected SMTP_FROM = e.g., careers@company.com SUBJECT_TEMPLATE = Regarding your application for {{role}} at {{company_name}} HTML_TEMPLATE / TEXT_TEMPLATE RATE_LIMIT_SECONDS = 10 INCLUDE_WEEKENDS = true DRY_RUN = false Activate**: Enable the workflow Requirements Google Sheet with the “Candidate Status” tab and columns above. SMTP (Gmail) account for sending. n8n (cloud or self-hosted) with Google Sheets + SMTP credentials. How to customize Statuses**: REJECT_STATUS_CSV supports comma-separated exact values (e.g., Rejected,Not Selected) Templates**: Edit SUBJECT_TEMPLATE, HTML_TEMPLATE, TEXT_TEMPLATE Variables:** {{candidate_name}}, {{role}}, {{company_name}}, {{recruiter_name}}, and optional {{feedback_text}}/{{feedback_html}} from interview_feedback Schedule**: Change Cron time from 18:00 to your preferred hour Rate limit**: Tune RATE_LIMIT_SECONDS for SMTP policy Preview**: Set DRY_RUN=true for a safe, no-send preview Add-ons Dynamic Reply-To** per recruiter_email Localization/Variants** via language or template_variant columns Daily summary** email: sent/skip/error counts Validation & logging**: log invalid emails to another tab Gmail API**: swap SMTP with Gmail nodes if preferred Use Case Examples Daily round-up**: 18:00 IST closure emails for all candidates marked Rejected today Multi-brand hiring**: Switch company_name per row and personalize subject lines Compliance/logging**: DRY\RUN each afternoon, review, then flip to live sends Common troubleshooting No emails sent**: Ensure status exactly matches REJECT_STATUS_CSV (case-sensitive) and candidate_email is present Duplicates**: Verify rejection_sent_at is blank before run; workflow sets it after sending Blank variables**: Fill candidate_name, role, company_name, recruiter_name in the sheet SMTP errors**: Check credentials, sender permissions, and daily limits Timing**: Confirm workflow timezone Asia/Kolkata and Cron = 18:00 Need Help? Want us to tailor the template, add a summary report or wire up company-based variants? Contact our n8n automation engineers at WeblineIndia and we’ll plug it in.
by Mohamed Abubakkar
How it works This workflow fully automates the reconciliation process between your Local Database transactions and Payment Gateway transactions. It compares both data sources, identifies mismatches, categorizes discrepancies, logs them into Google Sheets, generates a final summary, and sends an automated reconciliation report to your finance team. This ensures accurate, consistent, and error-free financial reporting without manual work. Key Features Automatic data extraction from two Google Sheets Transaction comparison with result categorization Duplicate detection Real-time discrepancy logging Summary generation and storage Automated email reporting Zero manual effort required Setup Steps 1. Connect Required Credentials You must connect the following credentials: Google Sheets (Service Account or OAuth) Email SMTP (Gmail or custom) 2. Replace Default Values Update the workflow with: Your Google Sheet IDs Your tab/sheet names SMTP email, sender, and recipient Optional: Custom domain or business branding 3. Customize Email Template Modify subject, message body, or formatting style based on your reporting standards. 4. Adjust Trigger You may choose: Manual Trigger Cron Trigger for daily/weekly reconciliation Webhook Trigger integrated with your system Detailed Process Flow 1. Fetch Local & Payment Gateway Transactions The workflow reads all transaction records from the Local Database Sheet and Payment Gateway Sheet. 2. Compare both Transactions Using the compare operation, the workflow splits result into a. Valid Transactions b. Invalid Transactions c. Amount Differences Transactions d. Missing Transactions 3. Duplicate Transaction Detection The workflow scans local transactions to detect duplicate transaction and logs them seperately 5. Logging Transactions Each category is appended to its respective Google Sheet: DuplicateData AmountDifference DataNotInsert Reconciliation Summary RealData 6. Count all categories The workflow counts: Number of valid transactions Number of invalid transactions Number of missing transactions Number of Amount mismatch transactions The final summary row is appended to a dedicated Reconciliation Summary Sheet. 7. Send Final Email Report The finance team receive a email of final summary report. Final Output At the end the workflow, you get: Fully categorized reconciliation logs Complete Summary Stored Sheets Email Report Clean audit ready data
by Daniel
Daily AI News Digest from Hacker News with GPT Summaries and Email Delivery Automate your daily AI news briefing: fetch AI-tagged stories from Hacker News, filter for the last 24 hours, scrape and summarize with GPT, then deliver a clean HTML email digest—no manual curation needed. What It Does Runs on schedule to fetch up to 1000 Hacker News stories tagged "AI", filters for today's posts, loops through each to scrape content from source URLs, generates concise AI summaries via OpenAI GPT, aggregates into a styled HTML newsletter, and sends via email. Setup Requirements Credentials Needed: OpenAI API Key**: Get from platform.openai.com/api-keys, add as "OpenAI" credential in n8n SMTP Server**: Configure email credentials (Gmail, Zoho, etc.) in n8n's SMTP settings Configuration Steps: Import workflow JSON into n8n Add OpenAI credential to "GPT 5 pro" node Add SMTP credential to "Send email" node Update fromEmail and toEmail fields in "Send email" node Set schedule in "start" trigger node (default: daily) Activate workflow Key Features Smart Filtering**: Fetches 1000 stories, filters last 24 hours using date expressions AI Summarization**: GPT generates heading + 2-sentence summaries with links Reliable Scraping**: HTTP requests with markdown conversion for clean LLM input Batch Processing**: Loops through items, processes sequentially Responsive Design**: Mobile-friendly HTML email template with inline CSS Aggregation**: Combines all summaries into single digest Customization Options Change Keywords**: Modify "AI" filter in "Get many items" node Adjust Timeframe**: Edit date filter in "Today" node Tweak Summaries**: Customize GPT prompt in "News Summary Agent" node Email Styling**: Update HTML/CSS in "Send email" node Schedule**: Change frequency in "start" trigger Use Cases Personal daily AI briefings for researchers/developers Team knowledge sharing via automated newsletters Content curation for blogs or social media Trend monitoring for marketers Troubleshooting No stories returned**: Check HN API limits, verify keyword filter Scraping failures**: Some sites block bots—proxy noted in workflow but may need updates Email not sending**: Verify SMTP credentials and test connection Poor summaries**: Adjust GPT prompt or switch model Execution Time: 2-10 minutes depending on story count
by Oneclick AI Squad
This n8n workflow automatically tracks hotel room prices, detects price drops, and sends real-time email alerts with savings calculations. It continuously monitors multiple hotels and room types to help travelers, businesses, and agents secure the best rates. Key Features Automatically checks hotel prices every 6 hours Monitors multiple hotels and room categories Detects and alerts when prices drop Compares old vs new pricing and highlights savings Sends beautiful HTML email alerts Logs price history for long-term insights Shows availability changes and urgency indicators Price Drop Triggers Alerts are sent when: Price decreases by any amount Price drops by a certain percentage (configurable) Room becomes available again after being sold out Email Alert Includes | Field | Details | | --------------------- | ------------------------------- | | Hotel Name & Location | ✅ | | Room Type & Plan | ✅ | | Old Price | Shown with strikethrough | | New Price | Highlighted for visibility | | Savings Amount | ₹ / $ value difference | | Savings % | Percentage change | | Booking Link | Direct hotel booking / OTA link | | Urgency Badge | Shows limited-time availability | Workflow Logic Schedule Trigger Runs every 6 hours (configurable) Fetch Hotel Price API Calls hotel booking / OTA / aggregator API Compare With Stored Price Retrieves previous price from database/storage Detect Price Drop & Availability Change Save Latest Price Updates price history record Send Email Alert Sends formatted HTML email with price drop details Log Notification Maintains complete log of events Setup Requirements | Step | Action | | ---- | ------------------------------------------- | | 1 | Schedule Trigger (cron: every 6 hours) | | 2 | Add Hotel API / scraping source credentials | | 3 | Set up database or Google Sheet for storage | | 4 | Configure SMTP for emails | | 5 | Enter agent / user email address | | 6 | Populate hotel & room watchlist | | 7 | Test and verify price comparison logic | Best Use Cases Travel agencies Corporate travel teams Personal trip planning Hotel revenue analysts Price intelligence dashboards Extension Ideas WhatsApp and Telegram alerts Push notifications to mobile apps Google Sheets dashboard Slack alerts for teams Price trend charts (Grafana / Google Charts) Integration with GPT for smart recommendations
by Robin Geuens
Overview Every day, this workflow scrapes LinkedIn jobs based on your keywords, saves them in a Google Sheet, and sends them by email. How it works The workflow runs every day at noon. The Apify node sends a request to a LinkedIn scraper actor on Apify, which scrapes and returns the data. The code node formats the data we want and builds the HTML needed to make the emails look good. We use inline if statements for cases where the salary isn't listed or the job doesn’t say if it’s on-site, remote, or hybrid. At the same time, we add the LinkedIn jobs we scraped to a Google Sheet so we can check them later. We combine everything into one list. The Gmail node uses the map() function to list all the items we scraped and formatted. It customizes the subject line and heading of the email to include the current date. Setup steps Create a new Google Sheet and add the headers you want. Adjust the Google Sheets node to use your newly created Sheet. Customize the JSON in the Get LinkedIn jobs node. Note that this workflow currently uses the LinkedIn Jobs Scraper - No Cookies actor on Apify. Leave date_posted as is. Adjust keywords to change the job you want to scrape. You can use Boolean operators like AND or NOT in your search. Adjust limit to the number of jobs you want to scrape. Adjust location to match your location. Leave sort as is to get the most recent jobs first. (Optional) Edit the HTML in the code node to change how the listings will look in the email. Add your email to the Gmail node. Requirements Apify account Apify community node installed. If you don’t want to install the community node, you can use a regular HTTP node and call the HTTP directly. Check their API docs to see what endpoint to call. Google Sheets API enabled in Google Cloud Console and credentials added to n8n Gmail API enabled in Google Cloud Console credentials added to n8n Possible customizations Add full job descriptions to the Google Sheet and email Continue the flow to create a tailored CV for each job Use AI to read the job descriptions and pull out the key skills the job posting is asking for
by Meak
Google Sheets → Personalized Email Reply Automation with OpenAI + Gmail Most teams reply to inbound leads manually — copying info from a CRM, drafting a response, and hitting send. This workflow automates lead intake, draft generation, and sending — directly from a Google Sheet trigger. Benefits Pull new leads and context automatically from Google Sheets Generate professional HTML replies with OpenAI Personalize each response using lead name, intent, and message Send replies via Gmail with your real display name + signature Save hours per week on repetitive inbox work How It Works Manual trigger starts the workflow Reads rows from Google Sheets (Email, First Name, Intent, Message) Fetches Gmail sendAs to capture display name for signature Calls OpenAI model (via n8n LangChain node) to generate HTML reply Sends email via Gmail node with subject = "Re:" + Intent and HTML body Continues for each row, even if one fails (alwaysOutputData enabled) Who Is This For Founders handling inbound leads manually SDRs and sales teams replying to prospects Agencies wanting consistent, on-brand email responses Setup Connect Google Sheets (replace with your Document ID + Sheet Name) Connect Gmail (OAuth2) and enable sendAs retrieval Add OpenAI API credentials (choose GPT-4/5 or Claude model) Set Gmail node emailType = html for proper formatting Test with a few leads before running in bulk ROI & Monetization Save 3–5 hours per week on manual email drafting Use as a client-facing “Inbox Automation” service Bundle with CRM sync or Zapier handoff for $500–$2k/month retainers Strategy Insights In the full walkthrough, I show how to: Build this system step by step in n8n Craft prompts that output clean HTML with signature Handle edge cases (missing fields, null intents) gracefully Turn this into a recurring email automation offer Check Out My Channel For more advanced AI automation systems that generate real business results, check out my YouTube channel where I share the exact strategies I use to build automation agencies, sell high-value services, and scale to $20k+ monthly revenue.
by Kaden Reese
Sync Open House Leads to HubSpot CRM Automatically capture and sync every open house visitor from SignSnapHome.com directly into HubSpot with intelligent lead scoring, automated follow-up emails, and comprehensive contact enrichment. Full Blog Writeup and Setup Video Overview This n8n workflow connects SignSnapHome (open house sign-in app) directly to HubSpot CRM. Every visitor who signs in at your open house is automatically created or updated as a contact in HubSpot, scored as HOT/WARM/COLD lead, and sent a personalized thank you email. Full Setup Tutorial: https://youtu.be/5GrrojIXr40 Perfect for: Real estate agents, brokerages, property managers, and home builders using SignSnap Home for open house sign-ins. Key Features Intelligent Lead Scoring (0-100 points) Base score: 50 points No real estate agent: +30 points High rating (4-5): +20 points Low rating (1-2): -20 points No buyer agreement: +10 points Final status: HOT (70+), WARM (50-69), COLD (0-39), OPEN (40-49) Automated Email Follow-Up Immediate personalized thank you email Conditional messaging based on agent status Different content for leads without agents (offers home buying assistance) Always includes invitation to ask questions Smart Contact Management UPSERT functionality (updates existing or creates new - no duplicates) Sets lifecycle stage to "Lead" Tags source as "Open House" with SignSnap attribution Comprehensive notes with visit details and scoring Flexible Custom Field Support Automatically detects ANY custom fields from your form No workflow modification needed for new fields Formats field names nicely (snake_case → Title Case) Workflow Structure Nodes: Webhook: SignSnap Home - Receives POST data Parse SignSnap Data - Processes and scores leads Has Email? - Validates required field Create/Update HubSpot Contact - Upserts contact Send Thank You Email - Automated follow-up Log Missing Email - Error handling Flow: SignSnap → Parse & Score → Email Check → HubSpot + Email └→ Log Error Setup Instructions Prerequisites SignSnap Home account HubSpot account (free or paid) SMTP email service (Gmail, SendGrid, etc.) n8n instance (self-hosted or cloud) Configuration Steps Configure HubSpot Credentials Add HubSpot OAuth2 credential in n8n Follow OAuth flow to connect Configure Email Credentials Add SMTP credential in n8n Test connection Update Email Settings Open "Send Thank You Email" node Change fromEmail to your address Customize footer if desired Activate & Connect Activate workflow in n8n Copy webhook URL Go to SignSnapHome.com → Settings → Automations Paste webhook URL Enable "Send on each submission" Optional: Custom HubSpot Properties Create these properties in HubSpot (Settings → Properties) for enhanced tracking: last_open_house_property (Text) - Property address visited last_open_house_date (Date) - Visit timestamp has_real_estate_agent (Dropdown) - Yes/No/Not specified property_interest_rating (Number) - 1-5 scale lead_score (Number) - Calculated score lead_status (Dropdown) - HOT/WARM/COLD/OPEN Note: Workflow functions without these - they enhance reporting only. What Gets Synced To HubSpot: Email, first name, last name, phone Lifecycle stage: "Lead" Lead source: "Open House" Visit details in notes (property, date, agent status, rating) Lead score and status All custom form fields Email Sent: Personalized greeting with first name Thank you for visiting [property] Conditional offer to help (if no agent) Invitation to ask questions Professional signature Lead Scoring Logic | Factor | Points | Reasoning | |--------|--------|-----------| | Base | 50 | Starting point | | No Agent | +30 | Available, not represented | | Rating 4-5 | +20 | High interest | | Rating 1-2 | -20 | Low interest | | No Buyer Agreement | +10 | Not contractually bound | Email Personalization Without Agent: > Hi [Name]! Thank you for visiting [Property] today. Our team would love to help you on your home buying journey! We specialize in this area and can provide exclusive listings and personalized service. If you have any questions... With Agent: > Hi [Name]! Thank you for visiting [Property] today. If you have any questions about this property or would like to schedule another viewing, please don't hesitate to reply... Error Handling No Email Provided: Cannot create HubSpot contact (email required) Lead logged to error output Can connect to Google Sheets or alert system Recommendation: Make email required in SignSnap Customization Ideas Auto-assign to agent - Match property to territory Create deals - Automatic deal creation for HOT leads Add to lists - Property-specific list segmentation Trigger workflows - HubSpot nurture sequences SMS follow-up - Add Twilio for text messages Photo upload - Attach guest photos to contacts Troubleshooting "Invalid email" - Check SignSnap email validation "Property doesn't exist" - Create custom property or remove from config "Authentication failed" - Reconnect HubSpot OAuth2 "No contacts appearing" - Check execution history, verify email provided "Email not sending" - Verify SMTP credentials and FROM address Analytics & Reporting Create these HubSpot reports: Open house conversion funnel Property performance by address Lead quality distribution (HOT/WARM/COLD) Agent performance metrics Source ROI analysis Use Cases Solo agents: Instant lead capture and follow-up Real estate teams: Centralized lead database Brokerages: Multi-agent, multi-property tracking Property managers: Attendance monitoring Home builders: Model home visitor capture Technical Details Endpoint: /signsnap-hubspot Method: POST Content-Type: application/json Processing Time: <2 seconds Error Rate: <1% (typically missing email only) Why Use This Workflow Zero manual data entry Instant lead scoring and prioritization Automated multi-channel follow-up No transcription errors Scales to unlimited open houses Works for solo agents or large teams Tags real-estate crm hubspot lead-management open-house signsnap automation contact-sync email-automation lead-scoring Difficulty: Intermediate Nodes: 6 Services: SignSnap Home, HubSpot, SMTP Setup Time: ~15 minutes
by Emir Belkahia
Newsletter Quality Assurance with LLM Judge This sub-workflow validates newsletter quality before sending to customers. It's triggered by the main newsletter workflow and acts as an automated quality gate to catch data issues, broken layouts, or missing content. Who's it for E-commerce teams who want to automate newsletter quality checks and prevent broken or incomplete emails from reaching customers. Perfect for ensuring consistent brand quality without manual review. How it works Receives newsletter HTML - Triggered by parent workflow with the generated newsletter content Sends to test inbox - Delivers newsletter to LLM Judge's Gmail inbox to validate actual rendering Retrieves rendered email - Fetches the email back from Gmail to analyze how it actually renders (catches Gmail-specific issues) AI-powered validation - GPT-5 analyzes the newsletter against quality criteria: Verifies all 6 product cards have images, prices, and descriptions Checks layout integrity and date range formatting Detects broken images or unprocessed template variables Validates sale prices are lower than original prices Decision gate - Based on Judge's verdict: PASS: Returns approval to parent workflow → sends to customers BLOCK: Alerts admin via email → requires human review Set up steps Setup time: ~5 minutes Connect your Gmail account for sending test emails Update the Judge's email address in "Send newsletter to LLM Judge" node Update the admin alert email in error handling nodes Connect your OpenAI API credentials (GPT-5 recommended for heavy HTML processing) (Optional) Adjust quality thresholds in the Judge's system prompt Requirements Gmail account for test sends and retrieving rendered emails OpenAI API key (GPT-5 recommended) Parent workflow that passes newsletter HTML content How to customize Adjust validation strictness**: Modify the Judge's system prompt to change what triggers BLOCK vs PASS Change product count**: Update prompt if your newsletters have different numbers of products Add custom checks**: Extend the system prompt with brand-specific validation rules Modify alert recipients**: Update email addresses in error handling nodes 💡 Pro tip: The workflow validates the actual Gmail-rendered version to catch image loading issues and ensure consistent customer experience.