by Preston Zeller
How It Works This workflow automates the real estate lead qualification process by leveraging property data from BatchData. The automation follows these steps: When a new lead is received through your CRM webhook, the workflow captures their address information It then makes an API call to BatchData to retrieve comprehensive property details A sophisticated scoring algorithm evaluates the lead based on property characteristics like: Property value (higher values earn more points) Square footage (larger properties score higher) Property age (newer constructions score higher) Investment status (non-owner occupied properties earn bonus points) Lot size (larger lots receive additional score) Leads are automatically classified into categories (high-value, qualified, potential, or unqualified) The workflow updates your CRM with enriched property data and qualification scores High-value leads trigger immediate follow-up tasks for your team Notifications are sent to your preferred channel (Slack in this example) The entire process happens within seconds of receiving a new lead, ensuring your sales team can prioritize the most valuable opportunities immediately.. Who It's For This workflow is perfect for: Real estate agents and brokers looking to prioritize high-value property leads Mortgage lenders who need to qualify borrowers based on property assets Home service providers (renovators, contractors, solar installers) targeting specific property types Property investors seeking specific investment opportunities Real estate marketers who want to segment audiences by property value Home insurance agents qualifying leads based on property characteristics Any business that bases lead qualification on property details will benefit from this automated qualification system. About BatchData BatchData is a comprehensive property data provider that offers detailed information about residential and commercial properties across the United States. Their API provides: Property valuation and estimates Ownership information Property characteristics (size, age, bedrooms, bathrooms) Tax assessment data Transaction history Occupancy status (owner-occupied vs. investment) Lot details and dimensions By integrating BatchData with your lead management process, you can automatically verify and enrich leads with accurate property information, enabling more intelligent lead scoring and routing based on actual property characteristics rather than just contact information. This workflow demonstrates how to leverage BatchData's property API to transform your lead qualification process from manual research into an automated, data-driven system that ensures high-value leads receive immediate attention.
by n8n Team
The purpose of this n8n workflow is to automate the process of identifying incoming Gmail emails that are requesting an appointment, evaluating their content, checking calendar availability, and then composing and sending a response email. Note that to use this template, you need to be on n8n version 1.19.4 or later.
by Matt F.
AI Customer-Support Assistant that auto-maps any business site, answers WhatsApp in real time, and lets you earn or save thousands by replacing pricey SaaS chat tools. ⚡ What the workflow does Live “AI employee”* - the bot crawls pages on demand (products, policies, FAQs) so you *never** upload documents or fine-tune a model. No-code setup** - Drop in API keys, paste your domain, publish the webhook—ready in \~15 min. Chat memory** - each conversation turn is written to Supabase/Postgres and automatically replayed into the next prompt, letting the assistant remember context so follow-up questions feel natural and coherent even across long sessions. WhatsApp ready** - Free-form replies inside the 24-hour service window, automatically switches to a template when required (recommended by Meta). 🚀 Why you’ll love it | Benefit | Impact | | ------------------------- | --------------------------------------------------------------------- | | Zero content training | Point the AI Agent at any domain → go live. | | Save or earn money | Replace pricey SaaS chat tools or sell white-label bots to clients. | | Channel-agnostic | Ships with WhatsApp; swap one node for Telegram, Slack, or web chat. | | Flexible voice | Adjust tone & language by editing one prompt line. | 🧰 Prerequisites (all free-tier friendly) OpenAI key Meta WhatsApp Cloud API number + permanent token (easy setup) Supabase (or Postgres) URL for chat memory (easy setup) 🛠 5-step setup Import the template into n8n. Add credentials for OpenAI, WhatsApp, and Supabase. Enter your root domain in the root\_url variable. Point Meta’s Webhook to the n8n URL. Hit Execute Trigger and send “Hi” from WhatsApp—watch the bot answer with live data. 🔄 Easy to extend Voice & language** – change wording in the System Prompt. Escalation** – add an “If fallback” branch → Zendesk, email, live agents. Extra channels** – duplicate the reply node for Telegram or Slack. Commerce API hooks** – plug in Shopify, Woo, Stripe for order status or payments. 💡 Monetization ideas Replace costly SaaS seats.* Deploy the bot on your own server and *stop paying \$300–\$500 every month for third-party “AI support” platforms. Sell it as a service.* Spin up a branded instance for local shops, clinics, or e-commerce stores and *charge each client \$300–\$500 per month**—setup time is under 15 minutes. Upsell premium coverage (24/7 human hand-off) once the bot handles routine questions. Embed product links in answers and earn affiliate or upsell revenue automatically. Spin it up, connect a domain and a phone number, and you—or your customers—get enterprise-grade support without code, training, or ongoing licence fees.
by PretenderX
This template automates sending a DingTalk message on new Azure Dev Ops Pull Request Created Events. It uses a MySQL database to store mappings between Azure users and DingTalk users; so the right users get notified. Set up instructions Define the path value of ReceiveTfsPullRequestCreatedMessage Webhook node of your own, copy the webhook url to create a Azure DevOps ServiceHook that call webhook with Pull Request Created event. In order to configure the LoadDingTalkAccountMap node, you need to create a MySQL table as below: |Name|Type|Length|Key| |-|-|-|-| |TfsAccount|varchar|255| |UserName|varchar|255| |DingTalkMobile|varchar|255| You can customize the Ding Talk message content by editing the BuildDingTalkWebHookData node. Define the URL of SendDingTalkMessageViaWebHook Http Request node as your Ding Talk group chat robot webhook URL. Send test of production message from Azure DevOps to test.
by dataplusminus+-
🎯 Project Purpose This project automates the process of collecting and managing new leads submitted through a web form. It eliminates the need for manual data entry and ensures that each lead is: Properly recorded and time-stamped in a structured format Automatically communicated to the sales or support team Ready for follow-up, with a reminder system in place It’s a lightweight but effective solution suitable for freelancers, small teams, and growing businesses that want to streamline their lead intake process. 🛠️ Tools & Technologies Used Google Forms / Web Form** – Frontend for capturing leads Google Sheets** – Central database for storing lead information n8n** – Automation platform that connects and coordinates all services Gmail** – Handles email notifications for new leads Slack* *(optional) – Provides instant team notifications Date & Time nodes** – Tracks and manages lead response timing Conditional (IF) nodes** – Filters out duplicate and incomplete entries 🔄 Workflow Overview ✨ Key Features ✅ No-code integration using n8n ✅ Instant alerts via Gmail and/or Slack ✅ Google Sheets as an easily accessible backend ✅ Modular design — easy to expand with CRM tools (like HubSpot) ✅ Clean JSON structure and logic, beginner-friendly 📈 Possible Improvements Add email validation via external API (e.g., NeverBounce, Hunter) Integrate with a CRM for deeper automation Add lead scoring based on answers Include automatic follow-up emails after X days Schedule weekly summary reports via email 🧑🏻💻 Creator Information Developed by: Adem Tasin Adem T. 🌐 Website: Dataplusminus+- 📧 Email:dataplusminuss@gmail.com 💼 LinkedIn: Adem Tasin
by Thong
🧠 What This Workflow Does This n8n workflow allows you to upload a T-shirt mockup design (even if it's rough or outdated), and automatically turns it into a refined, print-ready artwork using the power of AI. It starts with an image of a T-shirt design, analyzes it using OpenAI's vision model, and then generates a cleaner, upgraded prompt to be used with OpenAI’s image generation API (gpt-image-1). The final output is a new T-shirt graphic optimized for printing on solid black background, with no visible shirt or mockup framing. ⚙️ How It Works User Sends a T-shirt Mockup Image Link The workflow begins when the user drops an image link (T-shirt mockup) into a chat interface or input trigger. AI Analyzes the Image (OpenAI Vision) Using OpenAI’s GPT-4 vision capabilities, the workflow extracts the key design elements from the image: Characters, text, layout Graphic style, composition Visual tone and focus AI Agent Creates a Refined Prompt The extracted details are passed to an AI agent that: Preserves the original layout and message Enhances the visual composition and typography Removes mockup elements like shirt collar, sleeves, shadows. Locks the artwork on a pure black background only Outputs a clean, artistic, JSON-safe one-line prompt for generation Text Escaping for API Compatibility A JavaScript function node escapes the prompt (quotes, slashes, line breaks) to make it safe for use in downstream JSON requests. Image Generation via GPT-Image-1 API or IMAGEN 4 from GOOGLE The final prompt is sent to OpenAI’s gpt-image-1 to generate a brand-new artwork — ideal for direct printing on a black T-shirt. ⚠️ Cost Notice for gpt-image-1 Usage This workflow uses OpenAI's gpt-image-1 model to generate high-quality T-shirt artwork from refined prompts. Please note that this model is a paid service, and each image generation request may cost approximately $0.25 per design, depending on resolution and usage. We strongly recommend users to review their OpenAI API usage plan and be mindful of costs when running this workflow, especially if generating in bulk or integrating into larger automation flows. You can monitor your usage at: https://platform.openai.com/docs/models/gpt-image-1 (Optional) You can send the result to Telegram, upload to Notion, or store it in your design system. ✅ Key Features Works from any uploaded mockup image Converts design concepts into print-ready artwork prompts Avoids outputting shirt models, collars, or product mockups Optimized for solid black background with no distractions Modular and easy to connect with file delivery or approval flows 🚀 How to Use Import the .json workflow into n8n Configure your OpenAI credentials for both vision and image APIs Trigger the flow by sending an image url of a T-shirt mockup Let the workflow generate and return a brand-new design from that concept
by Yaron Been
Stop manually checking keyword rankings and let automation do the work for you. This comprehensive SEO monitoring workflow automatically tracks your keyword positions, compares them against your target URLs, and instantly alerts your team via Slack whenever rankings change - ensuring you never miss critical SEO movements. ✨ What This Workflow Does: 📊 Automated Rank Checking**: Continuously monitors keywords stored in Airtable 🔍 Real-Time SERP Analysis**: Uses Firecrawl API to fetch current search rankings 📈 Intelligent Comparison**: Compares current vs. previous rankings automatically 📝 Database Updates**: Updates Airtable records with new ranking data 🚨 Instant Alerts**: Sends Slack notifications only when rankings change 🎯 Target URL Matching**: Specifically tracks your domain's position in search results 🔧 Key Features: Trigger-based automation** that activates when Airtable data changes Smart rank comparison** logic that prevents false alerts Conditional notifications** - only alerts on actual ranking changes Clean data management** with automatic Airtable updates Team collaboration** through Slack integration Scalable monitoring** for unlimited keywords 📋 Prerequisites: Airtable account with Personal Access Token Firecrawl API key for SERP data Slack workspace with API access Basic Airtable setup with keyword data 🎯 Perfect For: SEO agencies managing multiple client campaigns Digital marketing teams tracking organic performance Content creators monitoring content rankings E-commerce businesses tracking product visibility Startups needing cost-effective SEO monitoring Any business serious about search visibility 💡 How It Works: Data Collection: Fetches keywords, target URLs, and current ranks from Airtable SERP Analysis: Queries Firecrawl API for real-time search results Rank Detection: Searches results for your target URL and determines position Smart Comparison: Compares new ranking against stored data Database Update: Updates Airtable with latest ranking information Conditional Alert: Sends Slack notification only if ranking changed Team Notification: Delivers actionable ranking updates to your team 📦 What You Get: Complete n8n workflow with all integrations configured Airtable template with proper field structure Firecrawl API integration setup Slack notification templates Comprehensive setup documentation Sample keyword data for testing 🚀 Benefits: Save Hours Weekly**: Eliminate manual rank checking Never Miss Changes**: Get instant alerts on ranking movements Team Alignment**: Keep everyone informed via Slack Historical Tracking**: Maintain ranking history in Airtable Cost Effective**: Replace expensive SEO tools with automation Scalable Solution**: Monitor unlimited keywords effortlessly 💡 Need Help or Want to Learn More? Created by Yaron Been 📧 Support: Yaron@nofluff.online 🎥 YouTube Tutorials: https://www.youtube.com/@YaronBeen/videos 💼 LinkedIn: https://www.linkedin.com/in/yaronbeen/ Discover more SEO automation workflows and digital marketing tutorials on my channels! 🏷️ Tags: SEO, Keyword Tracking, Airtable, Slack, Firecrawl, SERP, Automation, Rank Monitoring, Digital Marketing, Search Rankings
by Dhrumil Patel
This n8n workflow template is designed to route user input to specialized agents (like a Reminder Agent, Email Agent, etc.) using a structured output from a language model. Here's a complete description of what it does and how each part works: 🔁 Workflow Purpose: This template receives a user's request via Webhook, processes it using an LLM, extracts structured data like the agent name and user query, and routes the input to the appropriate sub-workflow (agent) based on the specified agent type. 🧩 Workflow Breakdown: 1. Webhook (Trigger) Node: Webhook Purpose: Accepts a POST request from any frontend or API source. It contains the raw user input. 2. GPT Model (LLM Inference) Node: GPT 4o Mini Purpose: Interprets the user input and determines: Which agent should handle it (e.g., "Reminder Agent", "Email Agent", etc.) The actual user request (in structured format) 3. Auto-Fixing Output Parser Node: Auto-fixing Output Parser Purpose: Ensures that the output from the LLM matches the expected structure. If there's a mismatch, it automatically corrects it using a re-prompt. 4. Structured Output Parser Node: Structured Output Parser Purpose: Converts the language model's response into a strict JSON structure with keys like: "Agent Name" "user input" "sessionID" 5. Agent Router Node: Switch ("Agent Route") Purpose: Based on "Agent Name", it routes the input to one of the following sub-workflows: 📅 Reminder Agent 📧 Email Agent 🧾 Document Agent 🤝 Meeting Agent 6. Sub-Workflow Call (Execute Workflow) Each agent is implemented as a separate n8n workflow: The input is forwarded to the selected agent. For example, if "Agent Name" is "Reminder Agent", the workflow "Reminder Agent" is called with "user input". 7. Webhook Response After the sub-agent workflow finishes, a Respond to Webhook node sends the output back as an HTTP response. ✅ Key Features: Fully modular and extensible LLM-driven routing using OpenRouter GPT-4o Auto-corrects structured output errors Clean separation of concerns (agent logic is decoupled in sub-workflows) Easily add more agents by updating the switch logic 📦 Use Case Examples: User says: “Remind me to call my mom tomorrow.” → Routed to Reminder Agent User says: “Send an email to the HR team.” → Routed to Email Agent User says: “Schedule a meeting with John next week.” → Routed to Meeting Agent
by Daniel Rosehill
AI Agent System Prompt 'Auto-Tuner' This workflow configures an AI agent which provides an edited system prompt for an autonomous AI agent Based on the following pieces of information provided by the user in an input form: Agent name Agent purpose What's working What's not working Current system prompt There are two additional form elements that I've marked as non-required but if you want to force more detail from the user you can mark these as required: Example prompt Example output This information gets sent to the AI agent which is configured with a system prompt of its own and the form elements are concatenated into a user prompt prompting the agent to evaluate the system prompt, deliver an improved version, and provide some notes for logging. The output structure is constrained with JSON. OpenAI 4o is recommended for its overall strong adherence to structured outputs. Once the agent delivers its improved system prompt, this gets passed to the user via email notification. The final delivery stage can be alternated according to user preference When This Is Useful Anyone working on AI agent configurations will likely be familiar with the pivotal importance of the system prompt in directing the desired behavior of the agent. Frequently this requires long hours of iteration before a consistent desired behaviour is achieved. Sometimes we can figure out what's working and not based on our own intuition and experience, but at other times soliciting the outside perspective of another AI tool can be a helpful way to consider alternative explanations or improve our own prompt engineering. This configuration is intended to speed up this iterative process and reduce the amount of time we spend working on system prompts to configure effective agent workflows
by Akhil Varma Gadiraju
📬 Gmail to Google Drive Email Export Workflow (n8n) 🧩 Overview This n8n workflow automates the process of: Retrieving all emails from a specific sender using Gmail. Extracting essential fields like subject, message, and date. Formatting the email date to the desired time zone (e.g., IST). Exporting the parsed data as a CSV file. Uploading the file to a specified folder in Google Drive. 🛠 Nodes Breakdown 1. Start Workflow (Manual Trigger) Type**: Manual Trigger Purpose**: Initiates the workflow manually. 2. Gmail Node (Get All Emails) Type**: Gmail Operation**: getAll Filters**: sender: akhilgadiraju@gmail.com Returns**: All emails from the specified sender. Credentials**: Gmail OAuth2 - Akhil 3. Parse Data (Set Node) Purpose**: Extracts key fields from the email JSON. Mapped Fields**: id: Email ID subject: Email subject message: Email text time: Email date 4. Convert Time Field (Code Node) Purpose**: Converts the email time (ISO 8601) to a human-readable format. Output Format**: Local time using Asia/Kolkata timezone. Format: "Month Day, Year, Hour:Minute AM/PM" Customizable**: Change the timezone as needed: timeZone: 'Asia/Kolkata' 5. Convert to File Type**: Convert to File Node Purpose**: Converts JSON data to a downloadable .csv file. Output File**: CSV containing id, subject, message, and time. 6. Google Drive Type**: Google Drive Purpose**: Uploads the generated CSV file to Google Drive. Drive**: My Drive Folder**: Root File Name**: Current timestamp + _n8n_export.csv 7. End Workflow (NoOp) Purpose**: Final node to explicitly end the workflow. ✅ Use Cases Personal Email Archiving**: Back up or export emails from a specific sender (e.g., invoices, reports). Audit Logs**: Save conversations for compliance. Team Reports**: Aggregate project emails into a central file store. 🔧 Customization Guide | Customization | How to Do It | |---------------------------|------------------------------------------------------------| | Change Sender Email | Update the sender field in the Gmail node. | | Filter by Date/Subject | Add filters in the Gmail node settings. | | Change Time Zone | Edit timeZone in the Code node. | | Add More Email Fields | Modify the Set node to include more fields. | | Change File Format | Use a different format in the Convert to File node. | | Rename Output File | Adjust the name in the Google Drive node. | | Change Upload Folder | Set a different folderId in the Google Drive node. | 🚀 Deployment Tips Schedule the Workflow**: Replace Manual Trigger with a Cron node. Avoid Duplicates**: Store email IDs and skip duplicates using conditional logic. Security**: Use environment variables for sensitive credentials. 🧪 Testing Steps Manually trigger the workflow. Verify email data is parsed and formatted. Confirm CSV is generated correctly. Ensure the file is uploaded to Google Drive. 🧰 Requirements Connected Gmail and Google Drive OAuth2 credentials. n8n instance (self-hosted or cloud). Required nodes available in the n8n environment. > 💡 Need more features? You can add: > - Error handling > - Slack/Email notifications > - Conditional filters > - Google Sheets integration instead of Drive
by Harshil Agrawal
This workflow appends, lookup, updates, and reads data from a Google Sheet spreadsheet. Set node: The Set node is used to generate data that we want to add to Google Sheets. Depending on your use-case you might have data coming from a different source. For example, you might be fetching data from a WebHook call. Add the node that will fetch the data that you want to add to the Google Sheet. Use can then use the Set node to set the data that you want to add to the Google Sheets. Google Sheets node: This node will add the data from the Set node in a new row to the Google Sheet. You will have to enter the Spreadsheet ID and the Range to specify which sheet you want to add the data to. Google Sheets1 node: This node looks for a specific value in the Google Sheet and returns all the rows that contain the value. In this example, we are looking for the value Berlin in our Google Sheet. If you want to look for a different value, enter that value in the Lookup Value field, and specify the column in the Lookup Column field. Set1 node: The Set node sets the value of the rent by $100 for the houses in Berlin. We pass this new data to the next nodes in the workflow. Google Sheets2 node: This node will update the rent for the houses in Berlin with the new rent set in the previous node. We are mapping the rows with their ID. Depending on your use-case, you might want to map the values with a different column. To set this enter the column name in the Key field. Google Sheets3 node: This node returns the information from the Google Sheet. You can specify the columns that should get returned in the Range field. Currently, the node fetches the data for columns A to D. To fetch the data only for columns A to C set the range to A:C. This workflow can be broken down into different workflows each with its own use case. For example, we can have a workflow that appends new data to a Google Sheet, and another workflow that lookups for a certain value and returns that value. You can learn to build this workflow on the documentation page of the Google Sheets node.
by Akhil Varma Gadiraju
Conference Feedback Collection and OneDrive Logging Workflow This n8n workflow is designed to collect feedback through a web form, log the responses into an Excel file stored in Microsoft OneDrive, and notify the support team via email. 🧭 Overall Goal To collect user feedback from a web form, structure the data, log it into a OneDrive Excel file, and notify support via Outlook email. 🔄 Workflow Breakdown 1. Form Submission (On form submission) Node Type**: formTrigger Purpose**: Captures user feedback via a web form. Form Fields**: Full Name (Required) Email (Required) Company Name Job Title How did you hear about the conference? (Required) Overall experience rating (Required) Favorite sessions/speakers Relevance to interests/work (Required) Networking opportunities (Required) Suggestions for improvement Future topics/speakers Willingness to attend again (Required) Additional comments Contact permission (Required) Access URL**: /webhook/feedback (or /webhook-test/feedback during testing) 2. Parse Data (Set) Purpose**: Renames form fields to snake_case. Output**: Structured JSON with renamed fields. 3. Sample File (Convert to File) Purpose**: Generates a file name reference for search. Filename**: test-n8n-feedback-form-data.xlsx 4. Search Document (Microsoft OneDrive) Purpose**: Searches OneDrive for the specified Excel file. Query**: test-n8n-feedback-form-data.xlsx 5. Extract File ID (Code) Purpose**: Extracts the ID of the file from the search result. Output**: { "id": "someFileId" } or { "id": null } 6. Check File Existence (If) Purpose**: Branch logic based on file existence. Condition**: If id exists. 7. Build Sheet Data (Set) Purpose**: Prepares the data to match the Excel column headers. Only Runs If**: File was found. 8. Append Data to Excel (Microsoft Excel) Purpose**: Appends the new feedback as a row. Workbook ID**: {{ $('Code').item.json.id }} Worksheet Name**: Sheet1 Mode**: Auto-map from input fields 9. Notify Support (Microsoft Outlook) Purpose**: Sends a notification email with key feedback details. To**: test@gmail.com Subject**: "New Feedback Submission Received" Body**: Includes key details from submission 10. End Workflow (NoOp) Purpose**: Marks logical end of the workflow. 📝 Sticky Notes ✅ Upload Target Excel File First: Ensure the Excel file exists in OneDrive. 📝 Filename Consistency: Filename should match in "Sample File" and "Search Document" nodes. 📧 Customize Email Content: Update "Notify Support" node with your desired message and recipient. 🔧 Customization Guide 🧾 Form Customization Change form title, description, fields, or path. 🧪 Parsing Logic Update field mappings if form labels change. 📁 Excel File Settings Filename must match your actual OneDrive file. Worksheet name and column headers must match in "Build Sheet Data". 📬 Email Settings Update subject and body using variables like {{ $('Parse Data').item.json.full_name }}. ❗ Error Handling Tips Adjust email content based on file presence. Add an "Error Trigger" for advanced error management. 🔁 Alternatives and Extensions Use Google Sheets, Airtable, or databases instead of OneDrive/Excel. Add Slack or SMS notifications. 📌 Use Cases Post-event Feedback CSAT Surveys Employee Feedback Bug Reporting Lead Capture Contact Forms Webinar Registration 🔐 Required Credentials 1. Microsoft OneDrive (OAuth2) Used by**: "Search Document" Credential Name**: Microsoft Drive account 2. Microsoft Excel (OAuth2) Used by**: "Append Data" Credential Name**: Microsoft Excel account 3. Microsoft Outlook (OAuth2) Used by**: "Notify Support" Credential Name**: Outlook 0Auth2 ❤️ Made with n8n by Akhil