by Haruki Kuwai
🧠 About this workflow This workflow automatically generates personalized B2B outreach email messages by combining AI-based company research and text generation. It’s designed to help sales and marketing professionals automate the creation of tailored cold emails for prospects. ⚙️ How it works Get rows from Google Sheets — Retrieves companies marked as “ready” for outreach. Loop Over Items — Processes each company individually. Company Research (LangChain Agent) — Uses the Tavily search tool to collect key company insights such as overview, offerings, and recent news. Generate Outreach Message (LLM Chain) — Drafts a professional, concise, and fully personalized email body in English using the AI training context from YOUR_COMPANY_NAME. This example uses an AI training and automation service context, but you can easily modify the prompt to fit your own company’s products, services, or industry. Add to Google Sheets — Writes the generated messages back into the sheet. (Optional) Add to Instantly.ai — Sends the finalized lead data to your Instantly campaign for cold email distribution. 👥Use Cases 💼Sales & CRM:Automatically build and update your client database from received business cards 🏢Back Office & Admin: Digitize incoming cards for unified company records 📧Marketing Teams: Collect and manage leads efficiently 📚 AI / OCR Research: Build structured datasets for training AI models or internal automation 🧩 Troubleshooting If the workflow does not generate emails or data fails to appear in Google Sheets, please check the following: Google Sheets credentials — Ensure that the connected account has edit permissions and the document ID and sheet name are correctly set. API keys — Verify that your OpenRouter and Tavily API credentials are valid and not expired. Rate limits — Tavily and OpenRouter may throttle requests when processing multiple records. Try lowering the batch size in the “Limit” node. Empty company background — If the “Company Research” node returns no output, make sure the input company name is correct and includes sufficient context (e.g., full company name, not abbreviation). LLM output format — Ensure the “Generate Outreach Message” node is set to return plain text, not JSON or markdown. Instantly.ai integration (optional) — If leads are not added, confirm that your API key and campaign ID are valid, and that the node is not disabled. If the issue persists, enable “Always Output Data” in key nodes (such as Company Research and Generate Outreach Message) to debug intermediate results. You can also use the Execution Log to inspect where the flow stops or returns an empty output. ⚠️ Disclaimer This workflow uses AI language models and third-party APIs (OpenRouter, Tavily). Ensure that you add your own API credentials securely and verify all AI-generated content before sending emails.
by George Zargaryan
AI Real Estate Agent with OpenRouter and SrpAPI to talk with property objects from propertyfinder.ae This n8n template demonstrates a simple AI Agent that can: Scrape information from a provided propertyfinder.ae listing link. Answer questions about a specific property using the scraped information. Use SerpAPI to find details that are missing from the scraped data. Answer general real-estate questions using SerpAPI. Use Case This workflow serves as a starting point for building complex AI assistants for real estate or other domains. See the demo video Potential Enhancements Expand Knowledge:** Augment the workflow with your own knowledge base using a vector database (RAG approach). Add More Sources:** Adapt the scraper to support other real estate websites. Optimize Speed:** Add a cache for scraped data to reduce response latency. Improve Context Handling:** Implement reliable persistence to track the current listing instead of iterating through conversation history. Customize Prompts:** Write more tailored prompts for your specific needs (the current one is for demonstration only). Integrate Channels:** Connect the workflow to communication channels like Instagram, Telegram, or WhatsApp. How It Works The workflow is triggered by a "When chat message received" node for simple demonstration. The Chat Memory Manager node extracts the last 30 messages for the current session. A code node finds the property link, first by checking the most recent user message and then by searching the conversation history. If a link is found, an HTTP Request node scrapes the HTML content from the listing page. The Summarize code node parses the HTML, retrieves key information, and passes it to the AI Agent as a temporary knowledge base. The final AI Agent node answers user queries using the scraped knowledge base and falls back to the SerpAPI tool when information is missing. How to Use You can test this workflow directly in n8n or integrate it into any social media channel or your website. The AI Agent node is configured to use OpenRouter. Add your OpenRouter credentials, or replace the node with your preferred LLM provider. Add your SerpAPI key to the SerpAPI tool within the AI Agent node. Requirements An API key for OpenRouter (or credentials for your preferred LLM provider). A SerpAPI key. You can get one from their website; a free plan is available for testing. Need Help Building Something More? Contact me on: Telegram:** @ninesfork LinkedIn:** George Zargaryan Happy Hacking! 🚀
by Didac Fernandez
🤖 Autonomous Email Assistant - AI-Powered Inbox Management > Transform Your Email Workflow with Intelligent Automation This advanced n8n workflow creates a fully autonomous email assistant that processes incoming emails through AI-powered classification, generates contextually-aware responses in your personal brand voice, and automatically organizes your inbox. Perfect for: Professionals managing high email volumes who want to maintain response quality while saving hours each week. 🎯 What This Workflow Does The Autonomous Email Assistant monitors your Outlook inbox and intelligently processes every incoming email through a sophisticated multi-stage pipeline: 🏷️ Smart Classification - Automatically categorizes emails into 7 distinct types (Commercial/Spam, Internal, Meeting, Newsletter, Notifications, Urgent, Other) ✍️ AI Response Generation - Creates draft responses tailored to the email type, maintaining your unique communication style 📅 Meeting Automation - Checks your calendar availability and handles meeting requests automatically ⚡ Priority Handling - Sends Slack notifications for urgent emails requiring immediate attention 📂 Inbox Organization - Files processed emails into categorized folders with AI tagging 📊 Comprehensive Logging - Records all processed emails and responses in Excel for audit trails ✨ Key Features 🔍 Dual Classification System Primary LLM classifier for fast categorization Secondary text classifier for validation 7 predefined categories with smart routing logic 🎨 Brand Voice Integration Maintains consistent communication style across all responses Customizable writing patterns and key phrases Professional tone with configurable formality levels 📆 Intelligent Meeting Handler Calendar integration with availability checking Automatic event creation for confirmed meetings Suggests alternative times when unavailable Maintains 15-minute buffers between meetings Respects working hours (8:30 AM - 5:00 PM) 👤 Human-in-the-Loop for Critical Emails Slack notifications for urgent messages Approval workflow with feedback incorporation Draft responses for review before sending 📥 Complete Inbox Management Auto-marking as read AI category tagging for tracking Organized folder archiving by email type Excel logging for analytics and compliance 🛠️ Workflow Requirements 🔐 Required Credentials Microsoft Outlook OAuth2** - Email access, calendar permissions Microsoft Excel 365** - For logging workbook OpenRouter API** - GPT-5-mini model recommended Slack OAuth2** - Optional, for urgent notifications 💻 Technical Stack | Component | Technology | |-----------|-----------| | AI Model | OpenRouter GPT-5-mini | | Email Provider | Microsoft Outlook | | Data Storage | Microsoft Excel 365 | | Notifications | Slack | | Polling Interval | Every minute (configurable) | ⚙️ How It Works Stage 1️⃣: Email Ingestion Microsoft Outlook Trigger monitors inbox → Information Extractor pulls sender details Stage 2️⃣: Classification Dual AI classifiers determine email category → Routes to appropriate handler Stage 3️⃣: Response Generation General emails** → emailReplier Meeting requests** → AI Agent with calendar tools Urgent emails** → urgentReplier + Slack notification Others** → Context-aware handler Stage 4️⃣: Brand Voice Application All responses pass through brand voice nodes for style consistency Stage 5️⃣: Organization ✅ Mark as read 🏷️ Apply AI category tag 📁 Archive to appropriate folder 📝 Log to Excel 🎛️ Customization Options 📋 Adjust Classification Categories Modify the Virtual Postman categories to match your specific needs. Add industry-specific classifications or merge existing ones. ✏️ Personalize Brand Voice The embedded brand voice prompts can be completely customized: Update key phrases and sign-offs Adjust sentence length preferences Modify formality and tone Add company-specific terminology ⚙️ Configure Response Behaviors Change meeting scheduling preferences Update working hours Modify urgent email criteria Adjust buffer times between meetings 🔔 Notification Preferences Switch Slack to email notifications Add multiple notification channels Customize urgency thresholds 💼 Use Cases | Role | Benefits | |------|----------| | 🎯 Busy Executives | Handle routine correspondence while maintaining personal touch | | 🎧 Customer Support | First-line response generation with consistent brand voice | | 💰 Sales Teams | Automated meeting scheduling and follow-up management | | 📊 Project Managers | Internal communication routing and priority handling | | 💡 Consultants | Client communication management across multiple projects | 🚀 Setup Guide Import Workflow - Import the JSON into your n8n instance Configure Credentials - Add all four required OAuth2 connections Create Excel Workbook - Set up "Email Automator" workbook with specified columns Create Outlook Folders - Add the 7 category folders to your Outlook Customize Brand Voice - Update the brand voice prompts with your writing style Test Classification - Send test emails to verify category routing Activate Workflow - Enable the workflow to start processing ⚠️ Important Notes ⚡ All urgent emails require human approval before sending 📝 Most responses are saved as drafts for review 📊 Comprehensive Excel logging enables quality assurance 🏷️ AI tagging allows easy identification of automated processing 📅 Calendar integration respects existing commitments 🔒 Data Privacy & Security This workflow processes emails locally within your n8n instance. Email content is sent to OpenRouter for AI processing. Review OpenRouter's data policies and ensure compliance with your organization's data handling requirements. 📜 Version History v1.0 - Initial Release 7-category classification system Brand voice integration Meeting automation Excel logging Slack notifications 💬 Support & Community For questions, customization help, or to share improvements, visit the n8n community forum. This workflow is designed to be highly customizable - adapt it to your specific needs! Created by: Didac Fernandez Girona | AutoSolutions.ai - AI Consulting Services Tags: email automation AI assistant outlook calendar management brand voice inbox organization meeting scheduler
by Michael Yang
Who is this template for? This workflow is perfect for competitive‑intel analysts, product managers, content marketers, and anyone who tracks multiple company blogs or news sources. If you need a weekly snapshot of fresh, on‑topic articles—without wading through dozens of tabs—this template is for you. What does it do? The workflow reads a curated list of candidate URLs from Google Sheets, filters out duplicates and off‑topic pages with an AI agent, scrapes the surviving links, generates three‑sentence summaries, logs the results back to Sheets, and delivers a polished HTML digest to your inbox every week. Why is it useful? Instead of manually opening competitor links, checking for relevance, copying highlights, and pasting them into reports, this automation does the grunt work for you. It turns scattered URLs into a searchable knowledge base and a ready‑to‑share email, freeing you to focus on insights and strategy—not housekeeping. How does it work? A Sunday‑morning cron trigger kicks things off. The workflow pulls links from the Input Links tab, compares them to the existing Summary tab, and passes fresh candidates to an AI “bouncer” that keeps only blog posts, tutorials, news, and product updates. Firecrawl then scrapes each page; Gemini 2.5‑Flash and OpenAI condense the content into title, author, date, and summary. The structured data is appended to your Summary sheet and formatted into a company‑grouped HTML digest, which lands in your email before the workweek starts. Set up steps Clone the workflow Import the JSON into your n8n Cloud workspace. Create the Google Sheet Make a new spreadsheet with two tabs: Input Links and Summary (names must match). In Input Links, add columns Company, Page Type, and Link (or rename to match the node mapping). Leave Summary blank—the workflow will populate it. Copy the Sheet URL; you’ll paste it into two Google Sheets nodes. Add credentials (n8n ▸ Credentials) Google Sheets OAuth2 – Authorise with the Google account that owns the spreadsheet. Gmail OAuth2 – Authorise the Gmail account that should send the digest. Firecrawl HTTP Header Auth – Set Authorization: Bearer <YOUR_FIRECRAWL_API_KEY>. Point nodes to your Sheet Open each Google Sheets node (Input Links, Read_Url_Summary_Tool, Append row in sheet, Get row(s) in sheet). Paste the Document ID (found in the Sheet URL) and select the correct tab (Input Links or Summary). Update email recipients In the Send a message (Gmail) node, replace the sample addresses with your own distribution list. Adjust scheduling (optional) Double‑click the Schedule Trigger node and change the cron expression if you prefer a different day/time. Tune AI models (optional) OpenAI o4‑mini and Gemini 2.5‑Flash nodes default to cost‑efficient settings. Feel free to switch models or tweak temperature to suit your tone. Test with a single URL Add one row in Input Links, then execute the workflow manually (▶ Run). Verify that a new row appears in Summary and an email lands in your inbox. Go live Activate the workflow (toggle in top bar). Confirm the green status badge and wait for the next scheduled run. Tip: The Firecrawl Free tier limits you to ~10 requests/min. If you scale beyond that, raise the batching interval in both Firecrawl nodes or upgrade your Firecrawl plan.
by Max Tkacz
Easily generate images with Black Forest's Flux Text-to-Image AI models using Hugging Face’s Inference API. This template serves a webform where you can enter prompts and select predefined visual styles that are customizable with no-code. The workflow integrates seamlessly with Hugging Face's free tier, and it’s easy to modify for any Text-to-Image model that supports API access. Try it Curious what this template does? Try a public version here: https://devrel.app.n8n.cloud/form/flux Set Up Watch this quick set up video 👇 Accounts required Huggingface.co account (free) Cloudflare.com account (free - used for storage; but can be swapped easily e.g. GDrive) Key Features: Text-to-Image Creation**: Generates unique visuals based on your prompt and style. Hugging Face Integration**: Utilizes Hugging Face’s Inference API for reliable image generation. Customizable Visual Styles**: Select from preset styles or easily add your own. Adaptable**: Swap in any Hugging Face Text-to-Image model that supports API calls. Ideal for: Creators**: Rapidly create visuals for projects. Marketers**: Prototype campaign visuals. Developers**: Test different AI image models effortlessly. How It Works: You submit an image prompt via the webform and select a visual style, which appends style instructions to your prompt. The Hugging Face Inference API then generates and returns the image, which gets hosted on Cloudflare S3. The workflow can be easily adjusted to use other models and styles for complete flexibility.
by Mutasem
Use case This workflow snoozes any Todoist tasks, by moving them into a Snoozed todoist list and unsnoozes them 3 days before due date. Helps keep inbox clear only of tasks you need to worry about soon. How to setup Add your Todoist creds Create a Todoist project called snoozed Set the project ids in the relevant nodes Add due dates to your tasks in Inbox. Watch them disappear to snoozed. Set their date to tomorrow, watch it return to inbox. How to adjust this template Adjust the timeline.. Maybe 3 days is too close for you. Works mostly for me :)
by n8n Team
This n8n workflow automates the monitoring and notification of Palo Alto Networks security advisories. It is triggered manually from within the n8n UI or scheduled to run daily at midnight using the Schedule Trigger. The workflow begins by fetching the latest security advisories from Palo Alto Networks' RSS feed. Each advisory is then processed, and relevant information is extracted and categorized, including the advisory type, subject, and severity. The workflow checks the publication date of each advisory to ensure that it was posted within the last 24 hours, filtering out older advisories. The workflow then splits into two paths based on the advisory type: GlobalProtect and Traps. In the GlobalProtect path, advisories related to GlobalProtect are identified and used to create Jira issues. The Jira issues include a summary with the advisory title and a description that provides details about the advisory, its severity, link, and publication date. In the Traps path, advisories related to Traps are recognized, and dummy data (which should be replaced with logic to retrieve valid user emails) is generated for sample purposes. These email addresses are then used to send email notifications using the Gmail node. Each email's subject includes the type of advisory, while the body contains the advisory title and a link for more information. Potential issues when setting up this workflow for the first time might involve configuring the Schedule Trigger to match the desired time zone. Additionally, ensuring that the Jira and Gmail nodes are configured correctly with the required credentials and email addresses is crucial. The placeholder for generating dummy data for email recipients should be replaced with logic to retrieve valid user emails. Proper error handling and testing with real and sample advisories can help identify and resolve any potential issues during setup.
by Robert Breen
Create multi-sheet Excel workbooks in n8n to automate reporting using Google Drive + Google Sheets Build an automated Excel file with multiple tabs directly in n8n. Two Code nodes generate datasets, each is converted into its own Excel worksheet, then combined into a single .xlsx and (optionally) appended to a Google Sheet for sharing—eliminating manual copy-paste and speeding up reporting. Who’s it for Teams that publish recurring reports as Excel with multiple tabs Ops/Marketing/Data folks who want a no-code/low-code way to package JSON into Excel n8n beginners learning the Code → Convert to File → Merge pattern How it works Manual Trigger starts the run. Code nodes emit JSON rows for each table (e.g., People, Locations). Convert to File nodes turn each JSON list into an Excel binary, assigning Sheet1/Sheet2 (or your names). Merge combines both binaries into a single Excel workbook with multiple tabs. Google Sheets (optional) appends the JSON rows to a live spreadsheet for collaboration. Setup (only 2 connections) 1️⃣ Connect Google Sheets (OAuth2) In n8n → Credentials → New → Google Sheets (OAuth2) Sign in with your Google account and grant access Copy the example sheet referenced in the Google Sheets node (open the node and duplicate the linked sheet), or select your own In the workflow’s Google Sheets node, select your Spreadsheet and Worksheet https://docs.google.com/spreadsheets/d/1G6FSm3VdMZt6VubM6g8j0mFw59iEw9npJE0upxj3Y6k/edit?gid=1978181834#gid=1978181834 2️⃣ Connect Google Drive (OAuth2) In n8n → Credentials → New → Google Drive (OAuth2) Sign in with the Google account that will store your Excel outputs and allow access In your Drive-related nodes (if used), point to the folder where you want the .xlsx saved or retrieved Customize the workflow Replace the sample arrays in the Code nodes with your data (APIs, DBs, CSVs, etc.) Rename sheetName in each Convert to File node to match your desired tab names Keep the Merge node in Combine All mode to produce a single workbook In Google Sheets, switch to Manual mapping for strict column order (optional) Best practices (per template guidelines) Rename nodes** to clear, action-oriented names (e.g., “Build People Sheet”, “Build Locations Sheet”) Add a yellow Sticky Note at the top with this description so users see setup in-workflow Do not hardcode credentials** inside HTTP nodes; always use n8n Credentials Remove personal IDs/links before publishing Sticky Note (copy-paste) > Multi-Tab Excel Builder (Google Drive + Google Sheets) > This workflow generates two datasets (Code → JSON), converts each to an Excel sheet, merges them into a single workbook with multiple tabs, and optionally appends rows to Google Sheets. > > Setup (2 connections): > 1) Google Sheets (OAuth2): Create credentials → duplicate/select your target spreadsheet → set Spreadsheet + Worksheet in the node. > 2) Google Drive (OAuth2): Create credentials → choose the folder for storing/retrieving the .xlsx. > > Customize: Edit the Code nodes’ arrays, rename tab names in Convert to File, and adjust the Sheets node mapping as needed. Troubleshooting Missing columns / wrong order:* Use *Manual mapping** in the Google Sheets node Binary not found:* Ensure each *Convert to File* node’s binaryPropertyName matches what *Merge** expects Permissions errors:** Re-authorize Google credentials; confirm you have edit access to the target Sheet/Drive folder 📬 Contact Need help customizing this (e.g., filtering by campaign, sending reports by email, or formatting your PDF)? 📧 rbreen@ynteractive.com 🔗 https://www.linkedin.com/in/robert-breen-29429625/ 🌐 https://ynteractive.com
by Dhrumil Patel
📝 Say goodbye to manual invoice checking! This smart workflow automates your entire invoice processing pipeline using AI, OCR, and Google Sheets. ⚙️ What This Workflow Does: 📥 1. Reads an invoice PDF — Select a local PDF invoice from your machine. 🔍 2. Extracts raw text using OCR — Converts scanned or digital PDFs into readable text. 🧠 3. AI Agent processes the text — Transforms messy raw text into clean JSON using natural language understanding. 🧱 4. Structures and refines the JSON — Converts AI output into a structured, usable format. 🔄 5. Splits item-wise data — Extracts individual invoice line items with all details. 🆔 6. Generates unique keys — Creates a unique identifier for each item for tracking. 📊 7. Updates Google Sheet — Adds extracted items to your designated sheet automatically. 📂 8. Fetches master item data — Loads your internal product master to validate against. ✅ 9. Validates item name & cost — Compares extracted items with your official records to verify accuracy. 📌 10. Updates results per item — Marks each item as Valid or Invalid in the sheet based on matching. 💼 Use Case: Perfect for businesses, freelancers, or operations teams who receive invoices and want to automate validation, detect billing errors, and log everything seamlessly in Google Sheets — all using the power of AI + n8n. > 🔁 Fast. Accurate. Zero manual work. #OCR #AI #Invoices #Automation.
by Simeon
Google Calendar MCP – Context-Aware Calendar Operations This n8n template implements an MCP (Model Context Protocol)-compliant module for managing Google Calendar events in a context-aware, conflict-free manner. 🧠 What It Does This MCP enables structured interaction with Google Calendar based on context and intent, ensuring reliable, reusable operations with awareness of existing data and state. ✅ Core Capabilities Context-aware event creation** Prevents overlapping by validating time availability before creating new events. Gap validation** Checks if a time range is busy or free, enabling smarter scheduling decisions. Conditional updates** Only updates events after confirming their existence and current state. Safe deletion** Removes events using MCP principles of validation and traceability. 🚀 How to Use To use this MCP in your context-aware systems: Deploy the template in your n8n instance. Locate the Server node in the workflow — it exposes a Server-Sent Events (SSE) URL. Copy that SSE URL. Use that URL as the entry point for your MCP client or orchestrator. This URL acts as the communication bridge, allowing you to interact with the MCP-compliant Google Calendar logic using standard MCP semantics.
by Stéphane Heckel
Emailing Using Google Sheet, Google Docs, and SMTP Automate personalized email campaigns using a Google Sheets contact list, a Google Docs template, and SMTP delivery. How It Works Google Docs** is used as the email template with variables: {{firstname}}, {{lastname}}, {{company}}, {{email}}. Google Sheet** contains your list of recipients (one per row). For each contact, the workflow merges personal data into the Google Docs template. Email is sent to each recipient via SMTP (batch size: 1). Use the Wait node to respect provider quotas. After sending, the workflow updates the "process" column of the Google Sheet with the date/time. How to Use Copy Templates: Google Docs Template Google Sheet Template Find each document’s ID (the text after /d/ and before /edit in the URL). Configure Workflow: Enter your Google Docs and Google Sheets IDs in the settings node. Set your email subject in the appropriate parameter. Set Up Credentials: Connect your Google account. Configure the SMTP node with your mail server details. Update Data: Edit the Google Docs template with your message and variables. Prepare your Google Sheet with these columns: email, firstname, lastname, company. Deploy and Test: Connect all nodes. Test with a small contact batch. Troubleshoot any node errors (indicated in red in n8n). Requirements Google Credentials & permissions**: For Sheets and Docs access. SMTP Server**: For email delivery (adjust Wait node for rate limits). n8n Version**: Tested on 1.105.2 (Ubuntu). Need Help? Contact me on LinkedIn or ask in the n8n Community Forum!
by Yaron Been
This workflow automatically monitors marketing job boards to identify growing companies and potential business opportunities. It saves you time by eliminating the need to manually check job listings and provides insights into which companies are actively hiring and expanding their marketing teams. Overview This workflow automatically scrapes marketing job listings from Indeed and other job boards to extract company information, job details, and growth indicators. It uses Bright Data to access job sites without being blocked and AI to intelligently parse job postings into structured data, then sends formatted email alerts to your marketing team. Tools Used n8n**: The automation platform that orchestrates the workflow Bright Data**: For scraping job boards without being blocked OpenAI**: AI agent for intelligent job data extraction and parsing Gmail**: For sending automated job alert emails to your team How to Install Import the Workflow: Download the .json file and import it into your n8n instance Configure Bright Data: Add your Bright Data credentials to the MCP Client node Set Up OpenAI: Configure your OpenAI API credentials Configure Gmail: Connect your Gmail account for sending notifications Customize: Set your target job search parameters and email recipients Use Cases Business Development**: Identify rapidly growing companies for potential partnerships Sales Teams**: Target companies actively hiring for sales outreach opportunities Market Research**: Track hiring trends and identify emerging market players Recruitment**: Monitor competitor hiring patterns and market opportunities Connect with Me Website**: https://www.nofluff.online YouTube**: https://www.youtube.com/@YaronBeen/videos LinkedIn**: https://www.linkedin.com/in/yaronbeen/ Get Bright Data**: https://get.brightdata.com/1tndi4600b25 (Using this link supports my free workflows with a small commission) #n8n #automation #jobboards #marketingj jobs #brightdata #webscraping #businessdevelopment #leadgeneration #companyresearch #jobmonitoring #n8nworkflow #workflow #nocode #jobautomation #marketresearch #growingcompanies #hiringtrends #salesleads #prospecting #jobscraping #indeed #recruitmentintel #businessintelligence #marketanalysis #companytracking #automatedalerts #emailnotifications #jobdata #hiringinsights #marketopportunities