by Yar Malik (Asfandyar)
Who’s it for This template is perfect for marketers, sales teams, and entrepreneurs who need verified business leads without spending hours on manual research. If you’re running outreach campaigns, selling B2B services, or building prospect databases, this workflow saves you time and ensures your lead list is always fresh. How it works Start with a Google Maps search for a chosen business type and location (e.g., “Call centers in New York”). The workflow scrapes raw data, extracting business names, phone numbers, addresses, websites, and emails. Using regex logic, it filters and cleans data, ensuring valid contact details. Finally, it exports all leads into Google Sheets, giving you a ready-to-use contact list for outreach or CRM import. How to set up Replace the placeholder values in the Set Form Fields node with your target industry and location. Connect your Google Sheets account and provide the sheet ID. Run the workflow to start building your lead list. Requirements Google Sheets credentials Business type + location input How to customize the workflow Change the max_results field to control the number of businesses scraped. Add extra regex filters to capture more fields (e.g., social links). Integrate with your CRM or email platform to send leads directly to your outreach pipeline.
by Omer Fayyaz
Who's it for This template is perfect for business owners, developers, and marketers who want to add a professional, branded AI chatbot to their website. Whether you're running an e-commerce site, a SaaS platform, or a corporate website, this template gives you a fully customizable chat widget that integrates seamlessly with your brand. How it works The template creates a webhook endpoint that receives chat messages and processes them through an AI agent powered by DeepSeek. The workflow includes: Webhook endpoint** that accepts POST requests from your website AI Agent** that processes user messages and maintains conversation context Memory buffer** that remembers conversation history for each user session Response formatting** that sends AI replies back to your chat widget The chat widget itself is a vanilla JavaScript component that you embed on your website. It features: Customizable colors, branding, and positioning Light/dark theme support Mobile-responsive design Local conversation history Session management with expiration WordPress plugin integration How to set up Import the workflow into your n8n instance Configure your DeepSeek API credentials in the DeepSeek Chat Model node Activate the workflow to generate your webhook URL Copy the webhook URL from the Webhook node Embed the chat widget on your website using the provided JavaScript files Requirements n8n instance** (self-hosted or cloud) DeepSeek API account** and API key Website** where you want to embed the chatbot Basic HTML/JavaScript knowledge** for customization How to customize the workflow AI Agent Configuration Modify the AI Agent prompt to change how the bot responds Adjust the memory buffer settings for conversation context Change the AI model parameters for different response styles Webhook Customization Add authentication headers if needed Modify the response format to match your requirements Add additional processing nodes before the AI Agent Chat Widget Styling Change brandColor and accentColor to match your brand Customize the bot name, avatar, and welcome message Adjust positioning and launcher style Enable dark mode or HTML responses as needed Advanced Features Add user authentication integration Implement rate limiting Connect to your CRM or support system Add analytics and tracking Template Features ✅ No hardcoded API keys - uses n8n credential system ✅ Sticky notes included - explains the entire workflow ✅ Professional branding - fully customizable appearance ✅ WordPress ready - includes plugin and shortcode support ✅ Mobile responsive - works on all devices ✅ Session management - remembers conversations per user Use Cases Customer Support**: Provide instant AI-powered assistance Lead Generation**: Engage visitors and collect contact information Product Guidance**: Help customers find the right products/services FAQ Automation**: Answer common questions automatically Booking Assistant**: Help with appointments and reservations E-commerce Support**: Guide customers through purchases Technical Details The workflow uses the LangChain AI Agent with DeepSeek as the language model and includes a Memory Buffer for conversation context. The webhook response format is optimized for the chat widget. Live Demo Try it online: Live Demo Experience the chatbox widget in action with a working n8n webhook integration. The demo showcases all features including light/dark themes, HTML responses, and session management. Note: This template includes a complete JavaScript chat widget and WordPress plugin, making it ready for immediate use on any website. The workflow is designed to be production-ready with proper error handling and security considerations.
by Rahul Joshi
Description: Eliminate duplicate entries and streamline your lead management process with this n8n workflow template! Automatically capture new form submissions, check against existing records, update duplicates, and sync leads seamlessly into GoHighLevel (GHL) CRM and your Google Sheets database. This automation monitors Google Form submissions in real time, verifies if a lead already exists, and routes them accordingly: ✅ New leads are created in GoHighLevel and logged in your master database. ♻️ Duplicates are updated with the latest details and tracked in a dedicated duplicate log. Perfect for sales, marketing, and operations teams that need clean, accurate, and up-to-date lead records without manual effort. What This Template Does 📥 Captures new lead form submissions from Google Sheets 🔎 Checks existing records to detect duplicate entries 🆕 Creates new contacts in GoHighLevel CRM for unique leads ♻️ Updates existing GHL contacts with fresh submission details 📂 Logs new leads in a master database spreadsheet 📑 Tracks duplicate leads in a dedicated log for analytics 🌟 Fully automated: ensures a clean, organized, and deduplicated lead pipeline How It Works Google Sheets Trigger – Monitors your form response sheet for new submissions. Process Contact Data – Evaluates lead details and checks for duplicates. Duplicate Check – Compares against your master database. New Lead Handling – Creates a new contact in GoHighLevel and adds it to the master sheet. Duplicate Handling – Updates the existing contact in GoHighLevel and logs the activity in the duplicate log sheet. Setup Instructions- Google Sheets Setup Prepare three sheets: Form Responses Sheet → where new leads from your form are captured Master Lead Database → stores all unique leads Duplicate Log Sheet → tracks duplicate entries for reporting Required columns: Name Email Address Phone Number Company (optional) Submission Time (timestamp) GoHighLevel Setup Log into your GoHighLevel account. Generate an API key under settings. Store the key securely in n8n credentials. n8n Setup Import the workflow into your n8n instance. Update all node credentials (Google Sheets + GoHighLevel). Rename the Code node to Process Contact Data. Test the workflow with a sample form submission. Customization 🕒 Business Logic: Adjust duplicate detection rules (e.g., match on email only, or email + phone). 📑 Data Fields: Add more fields (e.g., industry, source, notes) and map them to GHL + Sheets. 📊 Reporting: Use the Duplicate Log Sheet for analytics, dashboards, or reporting pipelines. 🔔 Notifications: Add a Telegram or Slack node to notify your team when duplicates occur. Security Best Practices ❌ Do not hardcode your GoHighLevel API key. Use n8n credentials. ✅ Remove private sheet IDs and tokens before sharing workflows. ✅ Restrict credential access to authorized team members only. Requirements Google Sheets (form responses, master database, duplicate log) GoHighLevel (GHL) account with API access n8n instance (self-hosted or cloud) This workflow is perfect for: 🏢 Sales Teams managing growing lead databases 📈 Marketing Teams syncing form submissions with CRM ⚙️ Operations Teams preventing duplicate records 🚀 Businesses wanting a reliable, automated lead pipeline
by Wyeth
Are you writing complex Code nodes and need Intellisense support? Follow this simple pattern to get autocomplete for any n8n or custom classes.
by manohar
This workflow assigns a user to an issue if they include "assign me" when opening or commenting. To use this workflow you will need to update the credentials used for the Github nodes.
by Jitesh Dugar
Eliminate the manual chaos of HR and legal document management. This workflow automates the transition from a raw document upload to a structured, audit-ready archive by combining UploadToURL for instant CDN hosting, Google Drive for long-term storage, and Airtable for status tracking and database management. 🎯 What This Workflow Does Transforms loose document scans into a structured corporate filing system: 📝 Captures Legal Assets - Receives signed contracts or IDs via mobile scan (binary) or remote URL. 🛡️ Duplicate Prevention - Checks Airtable first to ensure a contract isn't already filed for that specific Employee ID. ☁️ Instant CDN Hosting - UploadToURL hosts the document to provide a high-speed link for immediate HR review. 📁 Smart Folder Logic - Automatically navigates or creates a structured Google Drive path: HR/Contracts/{Year}/{Department}/{EmployeeName}/. 🗃️ Database Synchronization - Updates (or creates) an Airtable record to tick "Contract Received," logging both the Drive URL and the CDN backup. 📧 Automated Confirmation - Sends a professional HTML email to HR and the employee with access links and filing metadata. ✨ Key Features UploadToURL Integration**: Provides a redundant, accessible CDN link stored alongside your primary Drive storage for total data reliability. Auto-Nomenclature**: Renames files using a strict audit-ready format: {EmployeeID}{LastName}{Type}_{Date}.pdf. Intelligent Folder Creation**: Never manually create a folder again; the workflow builds the entire hierarchy on the fly. Audit Trail Generation**: Captures "Filed By," "Filed At," and unique "Upload IDs" for every document. Conflict Handling**: Built-in 409 Conflict logic prevents accidental overwrites or double-filing of critical legal papers. 💼 Perfect For HR Teams**: Managing onboarding documents and employment contracts at scale. Legal Departments**: Archiving NDAs, vendor agreements, and compliance certifications. Small Businesses**: Moving away from "loose files in folders" to a searchable, automated database. Remote Teams**: Enabling employees to "upload and forget" their paperwork via a simple link. 🔧 What You'll Need Required Integrations UploadToURL** - To host documents and provide public CDN backup links. n8n Community Node** - n8n-nodes-uploadtourl must be installed. Google Drive** - OAuth2 credentials for secure document storage. Airtable** - Personal Access Token to manage your employee/document database. Gmail / SMTP** - To send automated filing confirmations. Configuration Variables GDRIVE_ROOT_FOLDER_ID: The ID of your main HR folder in Google Drive. AIRTABLE_BASE_ID: Your specific Airtable base for HR/Legal tracking. 🚀 Quick Start Import Template - Copy the JSON and import it into your n8n workspace. Install Node - Ensure the UploadToURL community node is active. Set Credentials - Link your UploadToURL, Google Drive, Airtable, and Gmail accounts. Define Variables - Set your Root Folder ID and Airtable Base details in n8n variables. Test the Pipeline - Send a test POST with a sample PDF to the Webhook URL. Activate - Enable the workflow to begin hands-free archiving. 🎨 Customization Options Expiration Alerts**: Add a node to calculate 1-year expiry dates and set an automated reminder in Slack. OCR Processing**: Integrate an OCR step to read the content of scans and verify names automatically. Watermarking**: Add a "Confidential" or "Draft" watermark to documents before they are uploaded to the CDN. Multi-Base Routing**: Route documents to different Airtable bases depending on the "Department" field. 📈 Expected Results 100% Consistency** in file naming and folder structures across the entire organization. Zero manual data entry**—employee records and checkboxes update automatically. Audit-ready in minutes**: Every file has a timestamped trail and redundant storage links. Instant Accessibility**: HR can view documents via the CDN link before Drive permissions even propagate. 🏆 Use Cases High-Growth Onboarding A startup hiring 20 people a month can automate all contract filings, ensuring the "Contract Received" flag is always accurate for payroll. Compliance Audits When auditors ask for specific contracts, use the Airtable "Structured Filename" column to find and share the relevant Drive or CDN links in seconds. Field Service Scans Technicians in the field can upload signed site reports via a mobile app; the workflow handles the filing and notifies the office immediately. 💡 Pro Tips Folder IDs**: You can find your GDRIVE_ROOT_FOLDER_ID by looking at the last string in the URL when you are inside that folder in your browser. Structured JSON**: Use the returned auditTrail object to build a log of all uploads in a separate "Master Audit" spreadsheet. Employee IDs**: If no ID is provided, the workflow generates a temporary one using a timestamp to ensure the archive never breaks. Ready to secure your document pipeline? Import this template and connect UploadToURL to build a world-class archiving system in under 20 minutes. Need help with Airtable field mapping? The workflow includes detailed sticky notes explaining the exact field names required for the automation to run.
by Alex Berman
Who is this for This workflow is built for digital agencies and sales teams that sell services to ecommerce brands. If you prospect Shopify store owners and want a repeatable, automated pipeline from discovery to CRM -- this template handles the entire process. How it works A configuration node lets you set your target country, lead volume, and filters before anything runs. ScraperCity's store-leads API scrapes live Shopify stores and returns emails, phone numbers, and social profiles. The workflow polls for job completion every 60 seconds, then downloads and parses the CSV results. All harvested emails are sent in bulk to ScraperCity's email-validator API, which checks deliverability, MX records, and catch-all status. Only contacts with valid or acceptable email status pass through a filter node. Duplicate records are removed before each verified lead is created or updated as a contact in HubSpot CRM. How to set up Create a ScraperCity account at app.scrapercity.com and copy your API key. In n8n, create an HTTP Header Auth credential named "ScraperCity API Key" with the header name "Authorization" and value "Bearer YOUR_KEY". Connect your HubSpot account using the HubSpot App Token credential. Open the Configure Search Parameters node and set your target country code and lead volume. Requirements ScraperCity account (app.scrapercity.com) -- store-leads and email-validator products HubSpot account with a private app token n8n instance (cloud or self-hosted) How to customize the workflow Change countryCode in the config node to target any market (GB, AU, CA, etc.) Adjust totalLeads to control scrape volume per run Add a filter node after email validation to restrict to specific domains or revenue signals Swap HubSpot for another CRM by replacing the final node with a Salesforce, Pipedrive, or Airtable node
by Alex Berman
Who is this for This workflow is for sales teams, growth hackers, and lead generation agencies who want to build a targeted list of Shopify store owners -- complete with emails, phone numbers, and social profiles -- and receive those contacts directly in Slack for immediate follow-up. How it works A manual trigger starts the workflow and passes your search parameters (country, platform, lead count) to the ScraperCity store-leads API. The API returns a runId immediately. Because scrapes can take 10--60 minutes, the workflow enters an async polling loop -- waiting 60 seconds between each status check. Once the scrape status returns SUCCEEDED, the workflow downloads the full CSV result set. A Code node parses the CSV, removes duplicates, and formats each lead into a clean Slack message block. Each contact (store name, email, phone, social links) is posted as a structured Slack message so your team can act on leads in real time. How to set up Create a ScraperCity account at scrapercity.com and copy your API key. In n8n, add an HTTP Header Auth credential named ScraperCity API Key with the header name Authorization and value Bearer YOUR_KEY. Add a Slack credential (OAuth2) and connect it to the Post Lead to Slack node. In the Configure Search Parameters node, update countryCode, totalLeads, and slackChannel to match your needs. Click Execute workflow to run. Requirements ScraperCity account and API key (scrapercity.com) n8n instance (cloud or self-hosted) Slack workspace with a bot token and target channel How to customize the workflow Change platform in Configure Search Parameters from shopify to woocommerce to target WooCommerce stores instead. Increase totalLeads up to 5000 per run. Add a Filter node after CSV parsing to keep only leads with verified emails. Replace the Slack node with a Google Sheets or HubSpot node to store leads in a CRM.
by Pernille-AI
Automatically retrieve AWS invoices and create corresponding bills in FreeAgent, marking them as paid. This workflow eliminates manual data entry for AWS billing. What It Does Fetches invoices from AWS Invoicing API for the previous month Filters invoices by issue date to ensure only new ones are processed Checks PostgreSQL database for previously processed invoices Creates a bill in FreeAgent with correct dates and amounts Marks the bill as paid with a bank transaction explanation Records the invoice in the database to prevent future duplication Prerequisites AWS account with Invoicing API access FreeAgent account with OAuth API access PostgreSQL database (you could modify to use n8n Data Table?) AWS IAM user with invoicing:ListInvoiceSummaries permission Quick Setup Checklist [ ] Create PostgreSQL table (see below) [ ] Add PostgreSQL credentials in n8n [ ] Set up FreeAgent OAuth2 credentials [ ] Update AWS access key and secret key in "Generate AWS Signature" node [ ] Update AWS account ID in "Calculate Last Month" node [ ] Get and update FreeAgent contact ID for AWS [ ] Get and update FreeAgent category ID (cloud services/hosting) [ ] Get and update FreeAgent bank account ID Configuration Required This template has placeholders that you need to replace: In Code Nodes YOUR_AWS_ACCESS_KEY_ID - Your AWS access key YOUR_AWS_SECRET_ACCESS_KEY - Your AWS secret key YOUR_AWS_ACCOUNT_ID - Your 12-digit AWS account number YOUR_CONTACT_ID - FreeAgent contact ID for AWS YOUR_CATEGORY_ID - FreeAgent category for cloud services YOUR_BANK_ACCOUNT_ID - FreeAgent bank account for payments Credentials to Add PostgreSQL database credentials (3 nodes) FreeAgent OAuth2 credentials (2 nodes) Use Cases Freelancers & Consultants**: Automatically track AWS infrastructure costs Small Businesses**: Streamline bookkeeping for cloud expenses Agencies**: Manage multiple AWS accounts with separate workflows Accountants**: Reduce manual data entry for client AWS bills Database Schema The workflow uses a PostgreSQL table to track processed invoices - To initially create the table you need to run : CREATE TABLE aws_invoices_processed ( id SERIAL PRIMARY KEY, aws_invoice_id VARCHAR(255) UNIQUE NOT NULL, freeagent_invoice_url TEXT NOT NULL, billing_period VARCHAR(7) NOT NULL, amount DECIMAL(10, 2) NOT NULL, currency VARCHAR(3) NOT NULL, processed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); Customization VAT Rate**: Default is 20% (UK), adjust in "Prepare FreeAgent Bill" node Schedule**: Modify cron expression in "Schedule Trigger" node Description Format**: Customize invoice description in code nodes Multi-Account**: Duplicate workflow for each AWS account Notes AWS dates are reversed: DueDate is earlier than IssuedDate, so the workflow swaps these All amounts are processed in the currency specified by AWS The "DELETE Test Record" node is disabled by default - use for testing only
by Khairul Muhtadin
This n8n workflow automates WooCommerce order processing by capturing order updates via webhook and converting them into Discord notifications and Google Sheets entries. What This Workflow Does Automatically captures WooCommerce orders and sends real-time Discord notifications while logging paid orders to Google Sheets for tracking and reporting. Key Benefits Save 90% Time**: Eliminates manual order logging and monitoring Never Miss Orders**: Instant Discord alerts for all order activities 80% Faster Response**: Team gets structured order info immediately Dual Tracking**: Real-time alerts + permanent spreadsheet records Perfect For Ecommerce Teams**: Monitor orders without constantly checking admin panel Small Business Owners**: Professional order tracking without extra staff Fulfillment Teams**: Get organized order data for quick processing How It Works WooCommerce sends order webhook to n8n Order data is parsed and formatted beautifully All orders trigger Discord notifications (color-coded by status) Paid orders (PROCESSING status) are logged to Google Sheets Webhook confirms successful receipt to WooCommerce Features Smart Status Colors**: Yellow (pending), Blue (processing), Green (completed), Gray (cancelled) Rich Discord Embeds**: Customer info, items, shipping, totals - all formatted nicely Flexible Data Parsing**: Handles various WooCommerce webhook structures Indonesian Currency**: Proper IDR formatting for local businesses Product Thumbnails**: Shows product images in Discord notifications Setup Requirements n8n instance (self-hosted or cloud) Discord server with bot access Google account for Sheets WooCommerce admin access Quick Setup Import workflow JSON to n8n Add Discord bot token Connect Google Sheets OAuth Set WooCommerce webhook to n8n endpoint Create Google Sheet with required columns Test with a sample order Customization Options Change Discord embed colors for your brand Modify which order statuses get logged Add custom fields to Google Sheets Adjust currency and language settings Filter orders by specific conditions Google Sheets Columns Month (order date) Brand Name Web Order Number Expedition (shipping method) Tracking Number Status Future Enhancement Ideas Add SMS/WhatsApp customer notifications Connect to shipping label services Integrate with CRM for customer insights Add inventory management triggers Create sales analytics dashboard Support Created by Khmuhtadin Need customization? Contact us!
by Yanagi Chinatsu
Who is it for? This template is designed for school nutritionists, cafeteria managers, and school administrators who are responsible for managing student dietary needs and ensuring food safety. What it does The workflow operates in two main scenarios: immediate allergy alerting and proactive menu analysis. Automated Allergy Alert System: It reads upcoming menus, student allergy lists, and teacher rosters from your Google Sheets. If it finds a potential conflict—like a student with a dairy allergy scheduled for a cheese-based meal—it automatically sends a detailed, AI-generated alert to the correct teacher in Slack and logs the event in Google Drive. Proactive AI Menu Assistant: Beyond daily alerts, the workflow uses AI to analyze the entire monthly menu. It identifies "high-risk" days with numerous potential allergy issues and generates a strategic "Menu Improvement Report" with suggestions for safer, alternative dishes. This report is sent directly to you via Slack, helping you make informed decisions before finalizing the menu. Built-in Error Handling: If any part of the workflow fails, it immediately sends a detailed error notification to an administrator, ensuring the system remains reliable. How to set up Connect Credentials: First, ensure you have created and connected credentials for Google (for Sheets and Drive) and Slack in your n8n instance. Configure Google Sheets Nodes: In the three Read... nodes (Read Monthly Menu, Read Student Allergy List, Read Teacher List), update the Document ID and Sheet Name to point to your specific files. The column structure of your sheets should match the data being used in the workflow. Configure Slack Nodes: In all four Slack nodes, select the correct recipient User or Channel for each type of notification (e.g., send allergy alerts to teachers, but error alerts to your IT admin). Configure Google Drive Node: In the Log Alert to Google Drive node, select the target Drive and Folder where you want your audit logs to be saved. (Optional) Configure AI Model: You can configure the OpenRouter Chat Model nodes if you want to use a specific LLM or add your own API key. Requirements An active n8n instance. A Google account with access to Google Sheets and Google Drive. A Slack workspace and account. An OpenRouter account to power the AI features.
by Divyanshu Gupta
This template is designed for operations, finance, and accounting teams that need to automatically process scanned invoices and extract structured data without manual entry. It is ideal for businesses handling vendor invoices, reimbursement forms, or bulk document intake. What this workflow does This workflow uses Sarvam AI Vision model to perform OCR on scanned invoices and extract raw text. The extracted content is then processed using an LLM to identify key invoice fields such as: Vendor name Invoice number Invoice date Total amount GST / Tax amount The structured data is automatically appended to Google Sheets for tracking, reconciliation, or downstream accounting automation. Requirements Sarvam Vision API key (configured using HTTP Header credentials)-(https://dashboard.sarvam.ai/key-management) Google Gemini API key (configured via Google Gemini credentials in n8n) Google Sheets OAuth credentials How to set up 1.) Add your Sarvam API key in Credentials. 2.) Connect your Google Sheets account. 3.) Update the target Sheet ID. 4.)Test with a sample invoice PDF. Need Help? ask in the Forum! Happy Hacking!