by Anwar Bouilouta
Most small businesses track invoices in Google Sheets, but nobody actually looks at the spreadsheet until cash flow gets tight. By then, invoices that should have been chased weeks ago are sitting there unpaid. This workflow gives you an automatic weekly report and alerts you when anything is overdue. Who is this for Freelancers, agencies, and small businesses that track invoices in Google Sheets and want a hands-off way to stay on top of what's been paid, what hasn't, and what's late. How it works Every Monday at 9 AM, the workflow pulls all rows from your invoice tracker in Google Sheets. A code node crunches the numbers: total paid, total unpaid, and total overdue. It builds an HTML email with a clean summary table that shows the overall picture plus a detailed breakdown of any overdue invoices, including how many days late each one is. That summary gets emailed to whatever address you configure. If there are any overdue invoices, a separate Slack alert goes out with the specifics so your team knows exactly what needs chasing. How to set it up Create a Google Sheet with an "Invoices" tab containing these columns: Invoice ID, Client Name, Amount, Due Date, Status (paid/unpaid/overdue) Open the "Configure Settings" node and fill in your Sheet ID, the email address you want the report sent to, your Slack channel ID, and your business name Connect your Google Sheets, Gmail, and Slack credentials in n8n Activate the workflow and wait for Monday, or trigger it manually to test Requirements Google Sheets (free) Gmail account with OAuth connected in n8n Slack workspace with OAuth connected in n8n Customizing the workflow You can change the schedule to daily or biweekly by editing the trigger node. The overdue threshold is based on the Due Date column, so if you want to flag invoices that are approaching their due date (not just past it), you can tweak the comparison in the code node. If you want to add more notification channels (email to the client directly, SMS alerts, etc.), just wire new nodes after the overdue check.
by Oneclick AI Squad
Transform your attendance management with this enterprise-grade automated workflow featuring AI-powered analytics, multi-dimensional insights, and intelligent alerting. Running hourly, it integrates multiple data sources (attendance logs + employee master data), performs sophisticated statistical analysis, detects anomalies, generates department-specific insights, and delivers beautiful HTML reports via email and Slack. Get real-time visibility into attendance patterns, punctuality trends, and actionable alerts for HR, management, and department heads. 📊🎯✨ Good to Know Intelligent Scheduling**: Runs hourly but only sends management alerts when critical thresholds are breached Multi-Source Integration**: Combines attendance logs with employee master data for enriched context Smart Analytics**: Calculates attendance rate, punctuality rate, absenteeism rate, and department-wise metrics Conditional Routing**: Management emails are triggered only for high-priority alerts (no email fatigue!) Production-Ready**: Includes error handling, data validation, and comprehensive logging Scalable Design**: Handles multiple departments, shifts, and employee types efficiently How It Works Automated Trigger – Runs hourly to monitor attendance with zero manual effort. Dual Data Ingestion – Fetches attendance and employee master data, then merges them for enriched analytics. Advanced Analytics Engine – Analyzes attendance, calculates key metrics, detects anomalies, and generates alerts. Smart Conditional Routing – Validates data, prioritizes alerts, and routes notifications via email, Slack, and database. Rich Email Reports – Sends visually formatted reports with metrics, alerts, and detailed employee breakdowns. Slack Block Kit Integration – Delivers structured, real-time attendance alerts with visual indicators to team channels. Data Persistence & Logging – Logs daily summaries, maintains audit trails, and prepares data for trend analysis dashboards. How to Use Basic Setup Import the Workflow: Copy JSON → n8n → Import from File Configure Credentials: Add Google Sheets, SMTP, and Slack credentials Update Spreadsheet IDs: Replace all placeholder sheet IDs with your actual Google Sheet IDs Set Email Addresses: Update sender and recipient email addresses Configure Slack Channel: Replace channel ID with your team's attendance channel Test: Execute workflow manually to verify connections Activate: Turn on the Schedule Trigger for hourly execution Advanced Configuration Adjust Alert Thresholds**: Modify the 10% (late) and 15% (absent) thresholds in Analytics Engine Customize Email Design**: Edit HTML in Format Email node for brand alignment Add More Channels**: Extend with Microsoft Teams, Discord, or SMS notifications Enhance Analytics**: Add shift-specific analysis, contractor vs. full-time breakdowns Integrate BI Tools**: Enable Power BI push dataset for real-time dashboards Requirements Google Sheets Setup Sheet 1: AttendanceLogs | Column | Type | Description | Example | |--------|------|-------------|---------| | EmployeeID | Text | Unique employee identifier | EMP001 | | EmployeeName | Text | Full name | John Doe | | Date | Date | Attendance date (YYYY-MM-DD) | 2025-01-15 | | Status | Text | Present/Absent/Late/Leave/WFH/Half-Day | Present | | CheckInTime | Time | Arrival time (HH:MM) | 09:15 | | CheckOutTime | Time | Departure time (HH:MM) | 18:00 | | Notes | Text | Optional comments | Doctor appointment | Sheet 2: Employees (Master Data) | Column | Type | Description | Example | |--------|------|-------------|---------| | EmployeeID | Text | Unique identifier (matches AttendanceLogs) | EMP001 | | EmployeeName | Text | Full name | John Doe | | Department | Text | Department name | Engineering | | Manager | Text | Reporting manager name | Jane Smith | | Shift | Text | Day/Night/Evening | Day | | Email | Email | Work email address | john.doe@company.com | | ContractType | Text | Full-Time/Part-Time/Contract | Full-Time | Sheet 3: DailySummary (Auto-populated by workflow) | Column | Type | Description | |--------|------|-------------| | Date | Date | Report date | | Hour | Number | Hour of day (0-23) | | Present | Number | Present count | | Absent | Number | Absent count | | Late | Number | Late count | | AttendanceRate | Number | Attendance percentage | Credentials Needed Google Sheets OAuth2 API Enable Google Sheets API in Google Cloud Console Create service account credentials Share all 3 sheets with service account email SMTP Email Account Gmail: Enable "App Passwords" in Google Account settings Or use company SMTP server details Requires: Host, Port (587), Username, Password Slack Bot Token Create Slack App at api.slack.com/apps Enable permissions: chat:write, chat:write.public Install app to workspace Copy Bot User OAuth Token (starts with xoxb-) Invite bot to target channel Placeholder Values to Replace | Placeholder | Where to Find | Example | |-------------|---------------|---------| | YOUR_ATTENDANCE_SPREADSHEET_ID | Google Sheets URL | 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms | | YOUR_EMPLOYEE_SPREADSHEET_ID | Google Sheets URL | 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms | | YOUR_SUMMARY_SPREADSHEET_ID | Google Sheets URL | 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms | | C12345678 | Slack → Right-click channel → Copy link → Extract ID | C05XXXXXXXX | | hr@company.com | Your HR email | hr@yourcompany.com | | management@company.com | Management distribution list | leadership@yourcompany.com | Customizing This Workflow Modify Alert Thresholds In the Analytics Engine node, find these lines: const lateThreshold = metrics.totalEmployees * 0.1; // Change 0.1 to 0.15 for 15% const absentThreshold = metrics.totalEmployees * 0.15; // Change to 0.20 for 20% Add New Status Types In the Analytics Engine node, add to the switch statement: case 'Remote': statusCount.remote++; break; Customize Email Template In the Format Email node, modify the emailHtml variable: Change gradient colors in the header div Add company logo: `` Adjust grid columns: grid-template-columns: repeat(5, 1fr); Add SMS Notifications Add Twilio or Vonage node after "Critical Alerts" Send to on-call manager for high-severity alerts Use message: 🚨 ${data.absent} employees absent today. Review required. Multi-Location Support Modify Analytics Engine to group by Location field: const locationMetrics = {}; todayRecords.forEach(record => { const location = employee.location; if (!locationMetrics[location]) { locationMetrics[location] = { present: 0, absent: 0, late: 0 }; } // ... aggregate by location }); Shift-Specific Analysis Add logic to compare check-in times against shift schedules: const shiftTimes = { 'Day': '09:00', 'Night': '21:00', 'Evening': '14:00' }; const expectedTime = shiftTimes[employee.shift]; Integration with HR Systems Add HTTP Request node to push data to: Workday**: POST attendance records via REST API BambooHR**: Update employee time-off balances ADP**: Sync payroll-related attendance data SAP SuccessFactors**: Update time management module Advanced Analytics Add Python or R nodes for: Predictive Analytics**: ML models to predict absence patterns Sentiment Analysis**: Correlate attendance with employee surveys Seasonality Detection**: Identify patterns (Monday blues, pre-holiday trends) Correlation Analysis**: Link attendance with project deadlines, weather, events Dashboard Integration Export data to visualization platforms: Power BI**: Use HTTP Request node to push to streaming dataset Tableau**: Write to database (PostgreSQL, MySQL) via Execute Query node Grafana**: Store in InfluxDB time-series database Custom Dashboard**: Build React app that reads from DailySummary sheet Troubleshooting Common Issues "Could not find node" Ensure all data sources are fetched before Analytics Engine runs Check node names match exactly in $('Node Name').all() syntax "No records found" Verify Date column format is YYYY-MM-DD in Google Sheets Check timezone settings in Schedule Trigger vs. Sheet locale Confirm EmployeeID values match between AttendanceLogs and Employees sheets "Email not sending" Verify SMTP credentials are correct Check if "Critical Alerts?" condition is being met Test email node independently with static data "Slack message failed" Ensure bot is invited to the target channel Verify channel ID format (starts with C, not # symbol) Check bot has chat:write permission scope Performance Optimization Large Datasets (>1000 employees)**: Add pagination in Google Sheets fetch Multiple Departments**: Run parallel branches for each department Historical Analysis**: Schedule separate weekly/monthly summary workflows Reduce API Calls**: Cache employee master data in workflow static data Security Best Practices ✅ Use service account credentials (not personal OAuth) ✅ Restrict sheet access to service account only ✅ Store credentials in n8n credential store (encrypted) ✅ Enable 2FA on all integrated accounts ✅ Audit logs regularly for unauthorized access ✅ Use HTTPS for all external API calls Discover more workflows – Get in touch with us
by Jainik Sheth
What is this? This workflow is a Lead Qualification Voice Agent automation template built in n8n. It automates the process of qualifying leads by initiating outbound calls, analyzing call transcripts, updating lead data, and sending follow-up emails. The workflow integrates Google Sheets, OpenAI, and Twilio (via ElevenLabs API) to streamline lead management for sales or customer success teams. 1. Initiate Call Purpose: This step starts the lead qualification process by detecting new leads and preparing to contact them. How it works: The workflow is triggered when a new lead is added to your data source (such as a new row in Google Sheets, using the “Google Sheets Trigger” node). The trigger node captures essential lead information (e.g., name, phone number, service of interest) from the new entry. The workflow then prepares a personalized call script or opener, often using an AI node (like OpenAI) to generate a friendly and relevant introduction based on the lead’s details. An outbound call is initiated to the lead’s phone number using a telephony integration node (such as HTTP Request to ElevenLabs or Twilio). Note: Ensure your trigger node is correctly set up to monitor the right data source and columns. Configure the telephony node with valid API credentials and the correct phone number field. Optionally, customize the AI prompt to tailor the call opener to your business context. 2. Fetch Client Data Purpose: This step retrieves detailed information about the lead from your data source (such as a CRM, database, or Google Sheets). How it works: The workflow uses a data retrieval node (such as Google Sheets, HTTP Request, or a database node) to fetch client details based on a unique identifier (like phone number or email) captured in the trigger step. The node is configured to query the data source for all relevant fields, such as the lead’s name, company, previous interactions, and any custom attributes important for your qualification process. The fetched data is then made available to subsequent nodes, allowing for dynamic personalization of the call script and follow-up actions. Note: Ensure your data source is up-to-date and contains all necessary fields for lead qualification. 3. Outbound Call Processing Purpose: To manage the workflow after the outbound call is initiated, including handling call results, analyzing transcripts, and updating lead status. How it works: After the call is placed (using a telephony integration node), the workflow waits for the call to complete. This can be achieved using a webhook node (if your provider supports callbacks) or a polling node to check call status. Once the call is finished, the workflow retrieves the call outcome (e.g., answered, voicemail, failed) and, if available, the call transcript. The transcript can be sent to an AI node (like OpenAI) for analysis—such as extracting intent, sentiment, or key information discussed during the call. Based on the analysis, the workflow updates the lead’s status in your data source (e.g., marking as “Qualified,” “Needs Follow-up,” or “Unreachable”). Optionally, the workflow can trigger additional actions, such as sending a follow-up email, notifying a sales rep, or logging the interaction in your CRM. Note: Use webhook nodes for real-time call result processing if your telephony provider supports it. Log all call results and analysis for future reference and reporting. Prerequisities OpenAI Google Sheets Twilio Elevenlabs: Import the twilio number into Elevenlabs Set up an agent in Elevenlabs Set up prompt into Elevenlabs Set up webhooks for fetch client initiation data and post call data Customization Change Data Source: Swap the Google Sheets node for another data source (e.g., Airtable, MySQL) as needed. Modify Call Script: Edit the OpenAI prompt to generate different call openers or scripts based on your use case. Adjust Call Logic: Modify the outbound call node to use a different telephony provider or to handle call scheduling. Notification Options: Integrate with email, chat, or notification services to alert your team of qualified leads.
by yu-ya
Automate order fulfillment and inventory sync from WooCommerce to Google Sheets and Slack This workflow provides a robust, end-to-end automated pipeline for managing e-commerce orders. It bridges the gap between your storefront and your fulfillment team by handling inventory validation, multi-channel notifications, and centralized data logging. Who’s it for? This template is designed for e-commerce business owners and operations managers using WooCommerce who want to eliminate manual order processing. It is ideal for teams that need real-time updates on stock availability and automated communication with both customers and warehouse staff. How it works Order Capture: The workflow triggers via a WooCommerce Webhook (real-time) or a Schedule Trigger (hourly sync). Data Extraction: It parses complex order JSON into a clean, usable format. Inventory Check: The system iterates through each line item to verify stock levels. Fulfillment Logic: It determines if an order is "Ready" or "Backordered" and calculates estimated shipping priorities. Multi-Channel Notification: In-Stock: Sends a confirmation email to the customer and alerts the fulfillment team on Slack. Backordered: Sends a delay notice to the customer and alerts the inventory manager on Slack. Data Logging: Every order is appended to a Google Sheet for long-term analytics and tracking. Requirements WooCommerce**: REST API access and Webhook setup. Gmail**: OAuth2 credentials for sending automated emails. Slack**: A Bot Token with permissions to post in #fulfillment and #alerts channels. Google Sheets**: A spreadsheet prepared with headers matching the order data. How to set up Credentials: Connect your WooCommerce, Gmail, Slack, and Google Sheets accounts in the respective nodes. WooCommerce Webhook: Copy the Webhook URL from the first node and paste it into your WooCommerce Webhook settings (Topic: Order Created). Inventory Logic: The "Check Inventory" node currently uses a simulated Code node. Replace this logic with a lookup to your actual inventory database or ERP system. Google Sheets: Open the "Log Order to Sheets" node and select your specific Spreadsheet ID and Sheet Name. How to customize Shipping Rates**: Modify the "Process Order Logic" node to include your specific carrier rates or integrate a shipping API (like ShipStation). Priority Rules**: Adjust the logic to flag "High Value" orders or specific VIP customers for faster processing. Messaging**: Customize the Gmail and Slack message templates to match your brand's voice.
by vinci-king-01
File Processing Pipeline with Email and GitHub This workflow automatically ingests newly-uploaded files, validates and transforms their contents, stores the processed files in a GitHub repository, and sends email notifications upon completion. It is ideal for teams that regularly receive data drops and need an auditable, automated pipeline to clean, version, and distribute those files. Pre-conditions/Requirements Prerequisites n8n instance (self-hosted or n8n cloud) GitHub and SMTP credentials with appropriate permissions Basic understanding of JavaScript for custom validation/transform code Required Credentials | Credential | Purpose | Minimum Scope | |------------|---------|---------------| | GitHub OAuth2 | Commit transformed files to a repository | repo | | SMTP (Email Send) | Dispatch success/failure notifications | send | Repository & Email Setup Requirements | Item | Example | Notes | |------|---------|-------| | GitHub Repository | git@github.com:org/data-pipeline.git | Branch must exist (default: main) | | Email Recipients | ops@company.com, data@company.com | Comma-separated list | How it works This workflow automatically ingests newly-uploaded files, validates and transforms their contents, stores the processed files in a GitHub repository, and sends email notifications upon completion. It is ideal for teams that regularly receive data drops and need an auditable, automated pipeline to clean, version, and distribute those files. Key Steps: Schedule Trigger**: Executes the pipeline on a defined schedule (e.g., hourly). HTTP Request**: Pulls a file manifest or fetches file blobs from an upstream service. SplitInBatches**: Iterates over each file individually for isolated processing. Code (Validate)**: Runs custom JavaScript to ensure file integrity and schema compliance. If (Validation Pass?)**: Routes good files forward and diverts failures. Code (Transform)**: Performs any data re-formatting, enrichment, or cleansing. Set**: Prepares commit metadata (file path, commit message). GitHub**: Creates or updates a file in the target repository/branch. Email Send**: Notifies stakeholders of overall job status, including summary metrics. Set up steps Setup Time: 10-15 minutes Clone the Workflow: Import the JSON file or copy from the n8n community templates gallery. Configure Schedule Trigger: Set your desired cron expression (e.g., 0 * * * * for hourly). HTTP Request Node: Enter the endpoint that lists or returns your new uploads. Add authentication headers if required. Adjust Validation Code: Open the first Code node and replace the schema rules with your own logic. Modify Transformation Logic: In the second Code node, apply formatting (e.g., CSV → JSON) or enrichment steps. GitHub Node: Select your GitHub OAuth2 credential. Specify repository, branch, and file path template (e.g., processed/{{ $json.filename }}). Email Send Node: Set SMTP credential. Add recipients and customize subject/body with variables. Test Run: Click “Execute Workflow” to ensure end-to-end success. Activate: Toggle workflow to “Active” for autonomous execution. Node Descriptions Core Workflow Nodes: Sticky Note** – Documentation and inline comments for maintainers. Schedule Trigger** – Initiates the automation on a fixed timetable. HTTP Request** – Retrieves incoming file list or contents. SplitInBatches** – Paginates large manifests to conserve memory. Code (Validate / Transform)** – Custom JS powering data quality checks and format conversion. If** – Branching logic for pass/fail handling. Set** – Crafts commit metadata and email summaries. GitHub** – Commits each transformed file to the repository. Email Send** – Dispatches completion notices or error alerts. Data Flow: Schedule Trigger → HTTP Request → SplitInBatches → Code (Validate) → If true → Code (Transform) → Set → GitHub false → Set (Error) Both branches converge → Email Send Customization Examples Custom Validation Rule // Reject files larger than 5 MB or missing required columns if (items[0].binary.data.size > 5 * 1024 * 1024) { throw new Error('File exceeds 5MB limit'); } const required = ['id', 'email', 'created_at']; required.forEach(col => { if (!items[0].json.headers.includes(col)) { throw new Error(Missing column: ${col}); } }); return items; Dynamic Commit Path Based on Date const date = new Date().toISOString().split('T')[0]; // YYYY-MM-DD item.json.gitPath = archive/${date}/${item.json.filename}; return item; Data Output Format The workflow outputs structured JSON data: { "filename": "orders_2023-10-01.csv", "status": "committed", "commitSha": "a1b2c3d4", "linesProcessed": 523, "errors": [] } Troubleshooting Common Issues GitHub authentication error – Ensure OAuth app is approved and the token has repo scope. Email not delivered – Verify SMTP host, port, and that “less secure apps” are allowed (if using Gmail). Performance Tips Batch large manifests (e.g., 100 records) to avoid memory spikes. Enable n8n queue mode for parallel processing on self-hosted instances. Pro Tips: Use environment variables ({{ $env["VAR_NAME"] }}) for endpoints and secrets. Configure branch protection in GitHub to enforce pull requests instead of direct commits. Aggregate success vs. failure counts in the Email body for quick health checks. This is a community n8n workflow template provided “as-is.” Always review and adapt the workflow to meet your security, compliance, and operational requirements.
by Oneclick AI Squad
A fully automated, AI-powered email assistant built in n8n that reads incoming emails, understands their intent and sentiment, classifies them by category, drafts intelligent context-aware replies, and sends them automatically — all without any human intervention. Built using OpenAI + Gmail/SMTP integration for any business or team. 🎯 What's the Goal? Replace slow, manual email handling with an always-on AI email assistant that reads every incoming message, understands what the sender needs, and responds instantly with a professional, personalized reply — escalating only when truly necessary. 💡 Why Does It Matter? Email overload is one of the biggest productivity killers for businesses. Teams spend hours every day reading, triaging, and replying to repetitive messages — support requests, meeting inquiries, sales questions, and more. This workflow automates the entire cycle: inbox → understand → reply → log → escalate, saving hours per day while improving response times from hours to seconds. ⚙️ How It Works Gmail trigger polls inbox for new unread emails Email content (subject + body) is extracted and cleaned AI classifies email: Support / Sales / Meeting / Complaint / Spam / General Sentiment is analyzed: Positive / Neutral / Negative / Urgent AI drafts a professional, context-aware reply based on classification If sentiment is Urgent or Negative → escalate to human via Slack If routine → auto-send reply via Gmail Email thread logged to Google Sheets (sender, category, sentiment, reply) Slack notification sent with summary for team awareness Label applied in Gmail for organization & tracking 🔧 Configuration Requirements Gmail OAuth2** (for reading inbox and sending replies) OpenAI API key** (for classification, sentiment & reply generation) Google Sheets OAuth2** (for email log & analytics) Slack Bot Token** (for escalation alerts & team summaries) Optional: SMTP credentials** (if using non-Gmail provider) Optional: CRM webhook** (to sync contacts & interactions) 🚀 Setup Guide Import this workflow into your n8n instance Connect credentials: Gmail OAuth2, OpenAI, Google Sheets, Slack Open the Set Email Config node and configure: check_interval_minutes — how often to poll inbox (recommended: 5) auto_reply_categories — which categories to auto-reply (e.g. Support, General) escalate_categories — which to escalate (e.g. Complaint, Urgent) sender_name — your name or business name for reply signature log_sheet_id — Google Sheets document ID for logging slack_channel — channel name for escalation alerts Customize reply templates in the Set Reply Templates node Run a test with a sample email using the manual trigger Verify reply quality in Gmail Sent folder Check Google Sheets log for the entry Activate workflow — it will now monitor inbox automatically Monitor escalation volume in Slack and tune thresholds weekly 📞 Contact Us Need help setting up or customizing this workflow for your business? 👉 https://www.oneclickitsolution.com/contact-us/
by Ian Kerins
Overview This n8n template automates the generation of local business leads by scraping Google Maps. It goes beyond basic search results by visiting individual business pages to extract detailed contact information, reviews, and attributes (like LGBTQ+ friendly status). It includes built-in deduplication against a Google Sheet to ensure you only receive alerts for new leads. Who is this for? Marketing Agencies**: Finding local clients for services. Sales Teams**: Building lists of prospects in specific cities. Recruiters**: Finding businesses in specific niches. Researchers**: Gathering data on local business landscapes. What problems it solves Manual Data Entry**: Eliminates the need to copy-paste business details from Maps. Duplicate Leads**: Automatically checks against your database to prevent duplicate entries. Incomplete Data**: Performs a "deep scrape" to get data often missing from list views (websites, full phone numbers, reviews). Delayed Action**: Sends instant alerts via Gmail and Slack so you can act on new leads immediately. How it works Input: Takes a city name via a form (or can be scheduled). Search: Uses ScrapeOps to search Google Maps for your target keyword (e.g., "Dentist"). Deep Extraction: Visits each business profile to scrape phone numbers, websites, ratings, and reviews. Validation: Compares found businesses with your existing Google Sheet database. Action: Saves new leads to the sheet and notifies you via Gmail and Slack. Set up steps (~ 10-15 minutes) ScrapeOps Account: Register for a free API key at ScrapeOps. Google Sheet: Create a new Google Sheet. Add these headers: businessName, phone, website, rating, totalReviews, address, city, category, mapUrl, status, checkedAt, lgbtqFriendly, review1, review2, review3. Or duplicate this Template Sheet. Configure Nodes: Set Google Maps Configuration: Set your keyword (e.g., "dentist", "plumber"). Google Sheets Nodes: Connect your account and select the sheet you created. Gmail & Slack Nodes: Update with your email address and Slack channel. Pre-conditions An n8n instance (Cloud or Self-hosted). A ScrapeOps API Key (Free tier available). Google Cloud Console project with Gmail and Sheets APIs enabled (for credentials). Disclaimer This template uses ScrapeOps as a community node. You are responsible for complying with Google's Terms of Use, robots directives, and applicable laws in your jurisdiction. Scraping targets may change at any time; adjust render/scroll/wait settings and parsers as needed. Use responsibly for legitimate business purposes. Key Features The ScrapeOps n8n node provides access to three main APIs: 1. Proxy API Access to ScrapeOps' proxy aggregator for reliable web scraping: Smart proxy rotation across multiple providers JavaScript rendering support Anti-bot bypass capabilities Geo-targeting options Mobile and residential proxy support Full Documentation: n8n Proxy API Aggregator 2. Parser API Extract structured data from popular websites without maintaining your own parsers: Supported Sites:** Amazon, eBay, Walmart, Indeed, Redfin Page Types:** Product pages, search results, reviews, categories Returns clean, structured JSON data Full Documentation: n8n Parser API 3. Data API Direct access to structured data endpoints: Amazon Product API:** Get product details by ASIN or URL Amazon Search API:** Search products and get structured results Full Documentation: n8n Data APIs
by masahiro hanawa
Who is this for? This template is ideal for event organizers, conference managers, and community teams who need an automated participant management system. Perfect for workshops, conferences, meetups, or any event requiring registration and check-in tracking. What this workflow does This workflow provides end-to-end event management with two main flows: Registration Flow: ⦁ Receives participant registration via webhook ⦁ Generates unique ticket ID and stores in Google Sheets ⦁ Creates QR code using the QR Code node ⦁ Sends confirmation email with QR code attached Check-in Flow: ⦁ Scans and decodes QR code at venue entrance ⦁ Validates ticket against participant database ⦁ Blocks duplicate check-ins with clear error messages ⦁ Sends Slack notification for VIP arrivals ⦁ Returns real-time attendance statistics Setup Create a Google Sheet with columns: Ticket ID, Event ID, Name, Email, Ticket Type, Registered At, Checked In, Check-in Time Connect your Google Sheets and Gmail credentials Configure Slack for VIP notifications Set up the webhook URLs in your registration form Requirements ⦁ Google Sheets (participant database) ⦁ Gmail account (confirmation emails) ⦁ Slack workspace (VIP notifications) How to customize ⦁ Add capacity limits by checking row count before registration ⦁ Modify QR code size and format in the QR Code node ⦁ Add additional ticket types beyond VIP/standard ⦁ Integrate with payment systems for paid events
by Rahul Joshi
Description This workflow automatically detects bounced or invalid email addresses from your Gmail inbox and updates their status in Google Sheets. It fetches bounce notifications, extracts failed email addresses, and matches them against your contact list to update each record’s status as “Not Found” (bounced) or “Not Sent” (no bounce). Additionally, it runs a daily scheduled summary that sends bounce statistics to Slack, helping marketing or sales teams maintain clean, up-to-date mailing lists. What This Template Does (Step-by-Step) 📬 Fetch Bounce Notifications from Gmail Retrieves bounce messages automatically filtered by sender mailer-daemon@googlemail.com. 🔢 Get Latest 5 Bounces Sorts all bounce emails by date and limits processing to the five most recent to keep performance fast and focused. 🔍 Parse Bounced Email Addresses Extracts failed email addresses from Gmail message snippets using regex pattern matching. 📋 Fetch All Email Contacts from Google Sheets Loads all contact records from your “Fraud Email” sheet, including columns like Name, Email, Status, and Last Updated. 🔗 Combine Bounce Data with Contact List Merges parsed bounce results with your existing contact data to prepare for status updates. ✅ Match & Update Contact Status Marks “Not Found” for bounced emails. Marks “Not Sent” for valid but inactive ones. Updates “Last Updated” timestamp for all. 💾 Write Updated Status Back to Sheet Pushes updated contact information (Status and Last Updated) back into Google Sheets, ensuring centralized record accuracy. ⏰ Daily 7PM Trigger Automatically starts the summary workflow every evening at 7:00 PM. 🧮 Calculate Summary Statistics Counts total invalid emails (“Not Found”) and inactive ones (“Not Sent”). 💬 Send Slack Daily Summary Sends a formatted report to your #email-cleanup Slack channel showing: 📧 Invalid email count 📭 No activity count ✅ Reminder to maintain list hygiene Prerequisites Gmail account connected with n8n Google Sheet (Fraud Email) with contact data Slack workspace and channel for daily reports n8n instance (cloud or self-hosted) Step-by-Step Setup Connect Gmail → Fetch bounce notifications. Add Google Sheet → Load and update contact data. Parse bounces → Identify failed email addresses. Merge & update → Sync statuses in Google Sheet. Enable daily trigger → Schedule Slack summaries. Customization Ideas 🎯 Expand bounce limit beyond 5 recent messages. 📢 Add a Gmail label like “Bounced” after processing. 📚 Integrate with HubSpot or Airtable for CRM sync. 💡 Include timestamps or sender domains in Slack summary. Key Benefits ✅ Keeps mailing lists accurate and deliverable ✅ Saves hours of manual bounce management ✅ Automates email hygiene with zero supervision ✅ Provides transparent daily Slack reports ✅ 100% automated, efficient, and scalable Perfect For 👥 Marketing and outreach teams managing bulk campaigns 🏢 Businesses maintaining verified contact databases 📊 Sales teams using Gmail and Google Sheets ⚙️ Agencies ensuring top-tier email deliverability
by Yaron Been
Monitor a company watchlist for new Seed and Series A funding rounds and deliver a formatted weekly scouting report via email and Slack. This workflow reads company domains from a Google Sheets watchlist, checks each one for recent financing events via the PredictLeads Financing Events API, filters for Seed and Series A rounds from the past 7 days, then uses OpenAI to generate a professional weekly scouting report with a summary table and trend analysis. The report is delivered via Gmail and Slack. How it works: Weekly schedule trigger runs every Monday. Reads company domains from the Google Sheets watchlist. Loops through each company and fetches financing events from PredictLeads. Filters for Seed and Series A rounds that occurred in the last 7 days. Aggregates all filtered funding events into a single dataset. Sends the aggregated data to OpenAI to generate a formatted scouting report. The report includes a markdown table (Company, Round Type, Amount, Date, Key Investors) and trend analysis. Sends the full report via Gmail. Posts a summary notification to Slack. Setup: Create a Google Sheet with a "Watchlist" tab containing a column: domain. Configure the Gmail recipient address in the Send Report Email node (default: team@yourcompany.com). Set up a Slack incoming webhook URL in the Slack Summary node. Add your OpenAI API key in the Generate Scouting Report HTTP Request node. Add your PredictLeads API credentials (X-Api-Key and X-Api-Token headers). Requirements: Google Sheets OAuth2 credentials. Gmail OAuth2 credentials. Slack incoming webhook URL. OpenAI API account (uses gpt-4o-mini, ~$0.003-0.008 per call). PredictLeads API account (https://docs.predictleads.com). Notes: The 7-day lookback window is configured in the Filter Seed & Series A code node. Funding categories include "seed", "series_a", and "series a" variations. If no funding rounds are found, the report states that clearly rather than failing. PredictLeads Financing Events API docs: https://docs.predictleads.com
by Daniel Shashko
How it Works This workflow automatically monitors your Gmail support inbox every minute for new unread messages, instantly sending each email to OpenAI for intelligent analysis. The AI engine evaluates sentiment (Positive/Neutral/Negative/Critical), urgency level (Low/Medium/High/Critical), and categorizes requests into Technical, Billing, Feature Request, Bug Report, or General Inquiry, while extracting key issues and generating professional response templates. The system calculates a priority score (0-110 points) by combining urgency weight (25 points per level) with sentiment impact (10 points per level), automatically flagging any Critical urgency or Critical sentiment tickets for immediate attention. Critical issues trigger instant Slack alerts with full context, suggested responses, and 30-minute SLA reminders, while routine tickets route to monitoring channels for standard processing. Every ticket is logged to Airtable with complete analysis data and thread tracking, then simultaneously posted to a Google Sheets analytics dashboard for real-time metrics. A secondary AI pass generates strategic insights including trend identification, risk assessment, and actionable recommendations for the support team, storing these insights back in Airtable linked to the original ticket. The entire process takes seconds from email arrival to team notification, eliminating manual triage and ensuring critical customer issues receive immediate attention while building a searchable knowledge base of support patterns. Who is this for? Customer support teams drowning in high email volumes needing automated prioritization SaaS companies tracking support metrics and response times for customer satisfaction Startups with lean support teams requiring intelligent ticket routing and escalation E-commerce businesses managing technical support, returns, and billing inquiries simultaneously Support managers needing data-driven insights into customer pain points and support trends Setup Steps Setup time: Approx. 20-30 minutes (OpenAI API, Gmail connection, database setup) Requirements: Gmail account with support email access OpenAI API account with API key Airtable account with workspace access Google Sheets for analytics dashboard Slack workspace with incoming webhooks Sign up for OpenAI and obtain your API key for the AI analysis nodes. Create an Airtable base with two tables: "tblSupportTickets" (main records) and "tblInsights" (AI insights) with matching column names. Create a Google Sheet with columns for Date, Time, Customer, Email, Subject, Sentiment, Urgency, Category, Priority, Critical, Status. Set up these nodes: Monitor Support Emails: Connect Gmail account, configure to check INBOX label for unread messages. AI Analysis Engine: Add OpenAI credentials and API key, system prompt pre-configured. Parse & Enrich Data: JavaScript code automatically extracts and scores data (no changes needed). Route by Urgency: Configure routing rules to split critical vs. routine tickets. Slack Alert Nodes: Set up webhook URLs for critical alerts channel and routine monitoring channel. Log to Airtable Database: Connect Airtable, select base and table, map all data fields. Update Analytics Dashboard: Connect Google Sheets and select target sheet/range. Generate Insights & Store AI Insights: OpenAI credentials already set, Airtable connection for storage. Replace placeholder IDs: Airtable base ID (appXXXXXXXXXXXXXX), table names, Google Sheet document ID (1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX). Credentials must be entered into their respective nodes for successful execution. Customization Guidance Priority Scoring Formula:** Adjust urgency multiplier (currently 25) and sentiment weight (currently 10) in the Code node to match your SLA requirements. Urgency Thresholds:** Modify critical routing logic—currently any "Critical" urgency or sentiment triggers immediate alerts. AI Analysis Temperature:** Lower OpenAI temperature (0.1-0.2) for more consistent categorization, or raise (0.4-0.5) for nuanced sentiment detection. Polling Frequency:** Change Gmail trigger from every minute to every 5/15/30 minutes based on support volume and urgency needs. Email Filters:** Add sender whitelist/blacklist, specific label filters, or date ranges to focus on particular customer segments. Category Customization:** Modify AI system prompt to add industry-specific categories like "Compliance," "Integration," "Onboarding," etc. Multi-Language Support:** Add language detection and translation steps before AI analysis for international support teams. Auto-Response:** Insert Gmail send node after AI analysis to automatically send suggested responses for low-priority inquiries. Escalation Rules:** Add additional routing for VIP customers, enterprise accounts, or tickets mentioning "cancel/refund." Dashboard Enhancements:** Connect to Data Studio, Tableau, or Power BI for advanced support analytics and team performance tracking. Once configured, this workflow transforms your support inbox into an intelligent triage system that never misses critical issues, provides instant team visibility, and builds actionable customer insights—all while your team focuses on solving problems instead of sorting emails. Built by Daniel Shashko Connect on LinkedIn
by WeblineIndia
Smart Partner API Usage Monitoring with Slack, Jira & Gmail Alerts This workflow monitors partner API usage in real time and triggers alerts based on usage thresholds. It validates incoming data, calculates usage percentage and routes actions using a Switch node. Slack notifications are sent at 80%, Jira tickets are created at 90% and critical alerts (Email + Jira + Slack) are triggered at 100%. Quick Implementation Steps Import the workflow into n8n Configure the Webhook node and test with sample data Add credentials for Slack, Jira and Gmail Update Slack channel ID, Jira project and email recipient Activate the workflow Send test payloads to verify all alert levels What This Workflow Does This workflow helps monitor partner API usage automatically and ensures timely alerts when usage reaches defined thresholds. It starts by receiving usage data through a webhook, validating the payload and calculating the usage percentage based on quota and consumption values. Once calculated, the workflow routes the data using a Switch node. At 80% usage, it sends an early warning Slack notification. At 90%, it escalates by creating a Jira ticket and notifying via Slack. When usage reaches 100%, it triggers a critical alert by sending an email, creating a Jira ticket and sending a Slack notification. This approach ensures better visibility, timely action and helps prevent service disruption. Who’s This For? SaaS platforms with API-based billing DevOps and Engineering teams Product and Platform teams Customer Success managers Businesses managing partner integrations Requirements n8n (Cloud or Self-hosted) Slack account with API access Jira Software Cloud account Gmail account (OAuth configured in n8n) API or system to send usage data via webhook How It Works & Setup Guide Setup Steps Webhook Setup Configure the Incoming Partner Usage Data node Accept POST requests Required fields: partner_id partner_name quota consumed timestamp Validate Payload The workflow checks for missing fields and invalid values Calculate Usage Calculates usage percentage from quota and consumed values Stops execution if usage is below 80% Switch Routing Routes workflow based on usage: 80% → Slack alert 90% → Jira + Slack 100% → Gmail + Jira + Slack Configure Integrations Slack: Set channel ID Jira: Set project and issue type Gmail: Set recipient email Test Workflow Send sample data to webhook Verify all alert paths Activate Enable workflow after testing How To Customize Nodes Webhook Node** → Change endpoint path or add authentication Validation Node** → Add more fields like plan or email Calculation Node** → Modify threshold logic Switch Node** → Adjust percentage ranges Slack Node** → Customize message format and channel Jira Node** → Update ticket structure Gmail Node** → Modify email subject, HTML, recipients Add-ons & Enhancements Add deduplication to avoid repeated alerts Store usage data in database or Google Sheets Send alerts to multiple email recipients Integrate with CRM or billing systems Add cooldown or rate limiting Enrich partner data using external APIs Use Case Examples Monitor API usage for partners in SaaS platforms Prevent service downtime due to overuse Trigger internal review processes automatically Automate partner upgrade discussions Improve operational visibility for teams This workflow can be adapted for many other automation use cases as well. Troubleshooting Guide | Issue | Possible Cause | Solution | | ----------------------- | -------------------------------- | ----------------------------------- | | Workflow not triggering | Webhook not called | Verify webhook URL and method | | Invalid payload error | Missing fields | Ensure required fields are included | | Slack message not sent | Incorrect channel or credentials | Reconfigure Slack node | | Jira ticket not created | Wrong project or API issue | Verify Jira credentials | | Email not sent | Gmail OAuth issue | Reconnect Gmail account | | Incorrect usage % | Invalid data format | Ensure numeric values | Need Help? If you need help setting up or customizing this workflow, our n8n workflow development team at WeblineIndia can assist you in building scalable automation solutions, integrating APIs and optimizing workflows using n8n. Whether you need custom workflow development, advanced automation features or production-ready deployment, we are here to help you build reliable automation systems.