by Adrian
This workflow automates the assignment of household chores. It reads tasks and a list of people from Google Sheets, pairs each task with someone, updates the spreadsheet with the assignments and emails each person their chores. Each run makes a random assignment so you don’t have to decide who does what. By running on a schedule, it keeps your chore rotation automated. Who is it for? Designed for families, roommates, flat‑shares or property managers who want to keep track of recurring chores without endless group chats or arguments. It’s also helpful for anyone coordinating a team of cleaners or volunteers and wishing to automate a fair distribution of tasks. How it works A Schedule Trigger starts the workflow at a regular interval (default every seven days). Google Sheets node reads the “Tasks” sheet from your spreadsheet. Each row contains a chore with a task. Another Google Sheets node reads the “Persons” sheet to obtain the list of people available to do chores. Next a Code node filters out any people without an email address and any tasks without a task name, then selects a random person for each task. A Gmail node sends each person an email summarising the chore they’ve been assigned. The last Google Sheets node updates the “Tasks” sheet, writing the assigned person’s name into the assigned_to column. Setup steps Spreadsheet – Create a Google Sheets document with two sheets. The first sheet “Tasks” should have columns for task, description, assigned_to and a “hidden row_number”. The second sheet “Persons” should have columns for name and email and “hidden row_number”. Fill them with your current chores and household members. Connect your Google account – In the Get Tasks and Get People nodes, select the credential for your Google account and search for your sheets. Configure the Schedule Trigger – Set the trigger interval (for example, every seven days on a Sunday evening). Edit the assignment logic (optional) – The Code node is preconfigured to filter data and assign tasks randomly. You can modify this script if you prefer a round‑robin approach, weighting by difficulty, or any other logic. Configure Gmail – In the Send a message node, select your Gmail credential. If you want you can customise the subject and body of the email. Update sheet mapping – In the Update assign_to node, ensure the assigned_to column mapping writes the assigned person’s name back to the correct row. The workflow uses the row_number to match the row being updated. Test and activate – Run the workflow manually to verify it reads your sheets, assigns tasks and sends emails. Once satisfied, activate the schedule so it runs automatically. Requirements · A Google account with access to Google Sheets and Gmail. · A spreadsheet containing two sheets as described above (see images), with headers matching the field names used in the workflow. How to customise it Change the schedule interval to suit your rotation, edit the email template to include due dates or motivational messages, or modify the assignment script to weight tasks by difficulty. You could also send notifications via Slack or Telegram.
by Avkash Kakdiya
How it works This workflow captures incoming leads from Gmail, validates and stores them in Supabase, then uses AI to score and classify each lead. Based on the classification, leads are automatically routed to the appropriate Slack channel. It runs continuously with a wait cycle to process new and updated leads. The result is a fully automated lead qualification and routing system. Step-by-step Lead capture and validation** Gmail Trigger – Monitors inbox for new lead emails. Get a message – Retrieves full email content. Normalize Incoming Lead Data – Extracts name, message, email, and source. Validate Lead Data – Ensures required fields are present. Lead storage and notification** Notify New Lead (Slack) – Sends alert to Slack channel. Store Lead in Database – Saves lead data in Supabase. AI lead scoring pipeline** Wait – Delays execution before next cycle. Fetch Unscored Leads – Retrieves leads with score = 0. AI Lead Scoring Engine – Generates score and summary. LLM (Scoring) – Provides AI model for scoring. Structured Output Parser – Formats AI response. Map AI Score Output – Prepares score data fields. Update Lead Score – Updates score and status in database. Lead qualification and classification** Fetch Scored Leads – Gets leads ready for routing. Check Message Exists – Filters valid messages. AI Lead Classification Engine – Categorizes lead type. LLM (Classification) – Provides classification logic. Smart routing and notifications** Route Lead by Category – Splits leads by category. Send to Sales Channel – Sends sales leads to Slack. Send to Support Channel – Sends support leads. Send to Billing Channel – Sends billing-related leads. End – Stops workflow for unmatched cases. Why use this? Automatically prioritizes high-quality leads using AI scoring Eliminates manual lead sorting and routing effort Ensures faster response by notifying the right team instantly Centralizes lead data in a structured database Scales easily for high-volume inbound lead processing
by Tony Adijah
Who is this for This workflow is built for professionals, founders, freelancers, and anyone drowning in email who wants to automatically triage their inbox using AI — sorting emails into categories, applying Gmail labels, and generating reply drafts for important messages, all running locally with Ollama (zero paid API costs). What this workflow does It watches your Gmail inbox for new unread emails, uses a local AI model (Ollama) to classify each email into one of six categories (Urgent, Action Required, Follow-up, Newsletter, Automated, or Spam/Promotional), automatically applies the matching Gmail label, generates reply drafts for high-priority emails, and logs every processed email to Google Sheets for analytics. How it works Gmail Trigger watches your inbox for new unread emails at a configurable interval (default: every 30 minutes). Extract Email Data parses the sender, subject, body, attachments, and metadata into clean fields — handles all Gmail node output formats. AI Classifier (Ollama, running locally) analyzes the email content and returns a structured classification with category, priority, confidence score, summary, suggested action, sentiment, and a reply draft for important messages. Extract Classification robustly parses the AI response (handles markdown fences, nested objects, and edge cases) and merges it with email metadata. Smart Router sends each email down one of six dedicated paths based on its classification. Gmail Label nodes automatically apply the correct label to each email in your inbox. Reply Draft nodes create Gmail drafts for Urgent and Action Required emails — ready for you to review, edit, and send from your Drafts folder. Log Entry tracks every processed email in Google Sheets with category, priority, confidence, summary, and timestamp for analytics and review. Setup steps Gmail OAuth — Connect your Google account. Grant read, modify, and compose permissions. Create Gmail Labels — In Gmail, manually create these labels (the workflow applies them automatically): 🔴 Urgent 📋 Action Required 💬 Follow-up 📰 Newsletter 🤖 Automated 🚫 Spam-Promo Get Label IDs — Use the Gmail API or n8n's Gmail node (operation: "Get Many Labels") to find each label's ID. Update the labelIds in each Gmail Label node with your actual IDs. Ollama — Ensure Ollama is running locally (http://localhost:11434) with your preferred model pulled (e.g., ollama pull mistral). Change the model name in the Ollama Chat Model node if needed. Google Sheets (optional) — Connect your Google Sheets OAuth credential and set a spreadsheet ID in the logging node. Create a sheet with columns: Date, From, Subject, Category, Priority, Confidence, Reason, Summary, Key Action, Has Reply Draft, Sentiment, Auto Archive, Gmail ID, Processed At. Test — Send yourself a few test emails (urgent request, newsletter, promotional) and run the workflow manually to verify classification accuracy. Requirements Gmail account with OAuth credentials (read, modify, compose permissions) Ollama running locally with a pulled model (mistral, llama3, gemma2, etc.) Google Sheets account with OAuth credentials (optional, for logging) n8n instance (self-hosted recommended for Ollama connectivity) How to customize Swap mistral for llama3, gemma2, deepseek, or any Ollama-compatible model. Add more categories by editing the AI system prompt and adding outputs to the Switch node. Change the reply draft tone (formal, casual, friendly) in the AI system prompt. Add Slack or Telegram notifications for urgent emails by branching from the Label nodes. Add auto-archive for newsletters and spam by adding a Gmail "Remove Labels" node (remove INBOX label). Decrease the polling interval for near-real-time processing. Add sender whitelist/blacklist logic in a Code node before the AI classifier.
by Julian Reich
This n8n template demonstrates how to automatically analyze all your accumulated notes from the past week and generate actionable insights, task lists, and priorities using AI. Use cases are many: Try automating weekly planning sessions, extracting action items from meeting notes, identifying recurring themes in your thoughts, or creating data-driven weekly reports for personal productivity tracking! Good to know ChatGPT analysis costs approximately $0.01-0.05 per week depending on the volume of notes The workflow uses advanced date filtering to process exactly 7 days of content Email sending requires SMTP configuration (Gmail, Outlook, etc.) Perfect companion:* Works seamlessly with the "Audio Notes to Google Docs*" workflow - it reads and analyzes all notes created by that system! How it works A schedule trigger runs every Sunday at your preferred time (default: 11 PM) The workflow reads your complete Google Doc containing all accumulated notes A smart filter function extracts only entries from the past 7 days using date stamp recognition The filtered content gets sent to ChatGPT which analyzes patterns and extracts: Actionable tasks for next week Important deadlines and appointments Key insights and learnings Top 3 priorities Category distribution (Work, Private, Health, etc.) A second AI call creates a personalized email summary with context and recommendations The structured analysis gets appended to your Google Doc as a weekly summary You receive a Telegram notification when the review is complete A detailed email report lands in your inbox with the full analysis and action items How to use The workflow runs automatically every Sunday - no manual intervention needed Adjust the schedule trigger to your preferred day/time for weekly planning Review the email summary and use the extracted tasks for your upcoming week planning The Google Doc serves as your permanent archive of weekly insights Requirements Google Docs API access to read your notes document OpenAI API account for ChatGPT analysis (GPT-4 recommended for best results) SMTP email configuration for sending summary reports Telegram Bot Token for notifications Prerequisite:* The *"Audio Notes to Google Docs**" workflow or similar system that creates timestamped entries Customising this workflow Modify the AI analysis prompt to focus on specific areas (business metrics, health tracking, learning goals) Add multiple analysis modes (daily, bi-weekly, monthly reviews) Include additional outputs like calendar event creation, task manager integration, or team sharing Connect to project management tools like Notion, Asana, or Monday.com for automatic task creation
by Kamil Ostrowski
This n8n template allows you to automatically monitor your company's budget by comparing live Bexio accounting data against targets defined in Google Sheets, sending automated weekly email reports. It also exports your financial data from Bexio into a flexible spreadsheet environment. Financial overspending often goes unnoticed until it's too late. This workflow transforms reactive accounting into proactive management by automatically calculating monthly actuals and flagging budget overages in real-time, eliminating the need for manual spreadsheet updates. Who’s it for This workflow is built for Founders and CFOs who want to replace reactive accounting with proactive financial management. It is the ideal solution for leadership teams needing to eliminate manual data entry, synchronize live Bexio actuals against Google Sheet targets, and receive automated weekly email reports that proactively flag budget overages before they become critical issues. How it works The workflow automates the extraction and analysis of your Bexio accounting journal through several stages: Data Extraction: It uses a recursive pagination loop to fetch journal entries from the Bexio API in batches of 1,000 records. Data Synchronization: It utilizes the "Append or Update" operation in Google Sheets to ensure records stay current without creating duplicates. Financial Analysis: The system reads target thresholds from a "Budgets" sheet and aggregates costs per account by calculating the delta between Debits and Credits. Automated Reporting: A logic engine compares monthly actuals against budgets and generates a summary report sent via Gmail if thresholds are exceeded. How to set up Credentials: Connect your Bexio (Bearer Token), Google Sheets (OAuth2), and Gmail accounts in their respective nodes. Target Sheet: In the "Update Records" node, select your specific Google Spreadsheet and target tab for the journal entries. Use this template to create your database - Google Sheet Template Budget Configuration: Clone the template spreadsheet and define your specific metrics and monthly budget limits in the "Budgets" sheet. Date Filtering: Open the "Get Records" node and adjust the from and to query parameters (currently set for the 2025 fiscal year) to match your reporting period. Gmail: Enter the recipient email address in the "To" field of the Gmail node. Requirements Bexio Account: Must have API access enabled. Google Workspace: Access to Google Sheets for data storage and Gmail for sending reports. How to customize the workflow Budget: You can set budgets for as many metrics as you want for every accounting period. Sync Frequency: The "Schedule Trigger" can be adjusted from its weekly default to daily or hourly for more frequent updates. Notification Channels: Swap the Gmail node for Slack or Microsoft Teams to receive report via different channels. Rate Limiting: If processing a very large journal, increase the "Delay" node duration to remain within Bexio’s API rate limits. Pagination Reuse: The pagination logic can be adapted to retrieve any other Bexio data limited by API batch sizes.
by Intuz
This n8n template from Intuz provides a complete and automated solution for full-cycle invoicing, orchestrating a seamless flow between Airtable, QuickBooks, and Stripe. This is the ultimate sales-to-cash automation. When a deal in Airtable is marked "Approved for Invoicing," this workflow intelligently syncs customer data across QuickBooks and Stripe (creating them if they don't exist), generates an official QuickBooks invoice, creates a Stripe payment link, and then updates the original Airtable record with all the new IDs and links. Eliminate manual data entry and keep your systems perfectly in sync. Who's this workflow for? Finance, Accounting, and Operations Teams SalesOps and RevOps Teams Small Business Owners and Founders Agencies and Freelancers How It Works: 1. Airtable Trigger & Approval Gate: The workflow starts when a record in your Airtable base is updated. An If node immediately checks if the Status field is set to "Approved for Invoicing." If not, the workflow for that item stops. 2. Customer Sync (QuickBooks & Stripe): The workflow searches for the customer in both QuickBooks and Stripe using the details from Airtable. Using If nodes, it intelligently checks if the customer exists. If a customer is not found in either platform, it creates a new one. This "find-or-create" logic prevents duplicate records. 3. Update Airtable with IDs: Once the customer IDs from both QuickBooks and Stripe are secured (either found or newly created), the workflow updates the original Airtable record with these new IDs for future reference. 4. Generate Financials: Stripe Payment Link: It sends an HTTP request to Stripe to create a unique, ready-to-use payment link for the specified amount. QuickBooks Invoice: It fetches your product list from QuickBooks, finds the matching item from the Airtable record, and generates a formal, detailed invoice. 5. Close the Loop: In the final step, the workflow updates the Airtable record one last time to: Add the QuickBooks Invoice #. Add the Stripe Payment Link. Change the Status to "Invoiced." Step-by-Step Setup Instructions This is an advanced workflow. Follow these setup steps carefully. 1. Connect Your Credentials Airtable: Create and connect a Personal Access Token with data.records:read and data.records:write scopes. QuickBooks: Connect your QuickBooks Online account using OAuth2 credentials. Stripe: Connect your Stripe account using your Secret Key. 2. Airtable Base Setup (Crucial) Your Airtable base must have a table with the following columns. The names must match exactly: Deal Name (Text) Client Name (Text) Client Email (Email) Status (Single-select with options: Draft, Approved for Invoicing, Invoiced) QuickBooks Customer ID (Text) Stripe Customer ID (Text) Stripe Payment Link (URL) QuickBooks Invoice # (Text) Stripe Price Id (Text - The API ID of your price in Stripe, e.g., price_123...) Quantity (Number) Quickbooks Product Name (Text) Created (Created Time) - This is used by the trigger. 3. Configure the n8n Nodes All Airtable Nodes: In each Airtable node, select your Base and Table from the dropdown lists. Get all Quickbook products (HTTP Request Node): You must replace {YOUR_QUICKBOOKS_COMPANY_ID} in the URL with your actual QuickBooks Company ID (also known as a Realm ID). 4. Activate the Workflow Save the workflow and toggle the Active switch to "on". The workflow will now trigger whenever the Created field is updated for a record in your Airtable base. Customization Guidance Changing the Trigger Status: If you use a different status than "Approved for Invoicing," simply update the value in the "IF - Status Check" node. Modifying Invoice Details: You can customize the Description or other line item details in the "Create an invoice" (QuickBooks) node by pulling more fields from your Airtable record. Adding Email Notifications: To notify a customer when their invoice is ready, add a Gmail or SendGrid node after the last Airtable Update node. You can include the Stripe Payment Link and a PDF of the QuickBooks invoice directly in the email. Advanced Error Handling: For a production environment, consider connecting the false output of the various IF nodes or using the .onError() workflow setting to send a Slack or email alert if a customer can't be found or an API call fails. Support For further support, or to develop a custom workflow, reach out to: Website: https://www.intuz.com/services Email: getstarted@intuz.com LinkedIn: https://www.linkedin.com/company/intuz Get Started: https://n8n.partnerlinks.io/intuz For Custom Worflow Automation Click here- Get Started
by Atta
Stop drowning in job applications. This workflow transforms your hiring process from a manual, time-consuming data-entry task into an automated, intelligent screening system. When a candidate applies via your Jotform, this workflow automatically: Downloads their PDF resume (even from private links). Extracts the text from the resume and reads their cover letter. Compares the application to the Notion job description using Gemini AI. Generates an "AI Fit Score" (0-100) and a concise summary. Filters out low-scoring applicants. Creates a new, fully detailed candidate page in your Notion database, linked to the correct job. Instantly alerts your hiring team on Slack with the candidate's score and summary. Sends an automated confirmation email to the candidate. Features Triggers on New Jotform Submissions: Kicks off the moment a candidate clicks "Apply Now." Handles Private Files: Securely downloads private resume files from Jotform using your API key. PDF Text Extraction: Automatically reads the text from any uploaded PDF resume. Deep AI Analysis: Uses Gemini AI to compare the candidate's resume and cover letter against the specific job description from Notion. Relational Database Linking: Automatically links the new candidate to the correct "Open Position" page in Notion. Automated Quality Filtering: An IF node stops low-scoring candidates from cluttering your database. Multi-Channel Communication: Provides instant feedback to your team (Slack) and the candidate (Email). Nodes Used 🟣 Jotform Trigger (Jotform Trigger) ✉️ Gmail (Send Confirmation Email) ⬇️ HTTP Request (Download Resume PDF) 📄 Extract From File (Read Resume Text) 🔍 Notion (Find Job in Notion) 🖇️ Merge (Combine Data) 🧠 AI Agent (AI Candidate Analysis) ❓ IF (Score > 40?) ➕ Notion (Create Candidate in Notion) 📣 Slack (Alert Hiring Team) 🚫 No Operation, do nothing (Ignore (Score < 40)) How to use this template This template requires manual setup due to Jotform's unique Question IDs (QIDs). Please follow these steps carefully. ⚠️ CRITICAL WARNING ON JOTFORM QIDs To get the file URL, this template requires you to turn "Resolve Data" OFF in the Jotform Trigger. This means the workflow uses Question IDs (e.g., q7_positionApplying, q8_typeA8) instead of human-readable labels. Your QIDs will be different from the ones in this template. You must run the trigger once, find your QIDs, and replace them in the downstream nodes. 1. Set up Jotform and Notion (See "More Information" section below) Before you start, create your Jotform form and your two Notion databases ("Open Positions" and "Candidates") as described at the end of this document. 2. Configure the Jotform Trigger Node Credentials: Connect your Jotform account. Form: Select your "Job Application" form. IMPORTANT: In the node Parameters, find the "Resolve Data" option and turn it OFF. Test: Run a test by submitting your form. Look at the output and write down your unique QIDs for each field (e.g., q3_fullName, q7_positionApplying, q8_typeA8, uploadYour). 3. Configure the Download Resume PDF (HTTP Request) Node Credentials: This node needs your Jotform API Key. Authentication: Query Auth Credential: Create new Header Auth credentials. Name: Jotform API Key (Query) Parameter Name: apiKey Parameter Value: [Paste your Jotform API Key here] URL: Replace uploadYour in the expression {{ $('Jotform Trigger').item.json.uploadYour[0] }} with the QID for your file upload field. 4. Configure the Find Job in Notion Node (See the "Required Notion Setup" section at the end of this document for detailed instructions on how to build this database) Credentials: Connect your Notion credentials. Database ID: Select your "Open Positions" database. Filter Value: Replace q7_positionApplying in the expression {{ $('Jotform Trigger').item.json.q7_positionApplying }} with the QID for your "Position" dropdown. 5. Configure the AI Candidate Analysis Node Credentials: Connect your Google AI (Gemini) credentials. Prompt: In the prompt, find the line for "Candidate's Cover Letter". Replace q8_typeA8 in the expression {{ $('Jotform Trigger').item.json.q8_typeA8 }} with the QID for your cover letter field. 6. Configure the IF (Score > 40?) Node No credentials needed. You can change the "Value 2" from 40 to any score you want to use as your quality filter. 7. Configure the Create Candidate in Notion Node (See the "Required Notion Setup" section at the end of this document for detailed instructions on how to build this database) This is the most important step. Connect your Notion credentials and select your "Candidates" database. You must go through every single property and replace my QIDs with your QIDs from the Jotform trigger. Candidate Name: {{ $('Jotform Trigger').item.json.q3_fullName.first }} ... (Replace q3_fullName) Email: {{ $('Jotform Trigger').item.json.q4_email }} (Replace q4_email) Phone: {{ $('Jotform Trigger').item.json.q5_phoneNumber?.full ? ... (Replace q5_phoneNumber) Position (Relation): This expression, {{ $('Find Job in Notion').item.json.id }}, is correct. AI Summary, Score, Skills: These expressions are also correct. Resume (File): In the URL field, replace uploadYour with your file QID. 8. Configure Communication Nodes Send Confirmation Email (Gmail): Connect your email credentials and customize the email body. Alert Hiring Team (Slack): Connect your Slack credentials and select your desired channel (e.g., #hiring). 9. Activate your Workflow\! Once all steps are configured and QIDs are replaced, save and activate your workflow. How to Adapt the Template Log Rejected Candidates: Connect the false (No) output of the IF (Score > 40?) node to a Google Sheets node to keep a log of all candidates who didn't meet the score threshold. Change the AI Prompt: Edit the prompt in the AI Candidate Analysis node to ask for different insights, such as "List 3 potential red flags" or "Estimate years of experience." Use a Different AI: Replace the Google AI node with an OpenAI or Claude node. Change Notifications: Swap the Slack node for Discord, Microsoft Teams, or a simple email notification. More Information About Jotform Jotform is a powerful and easy-to-use online form builder perfect for creating professional job application forms. Its flexibility with file uploads and webhooks makes it an ideal trigger for this n8n automation. If you don't have an account, you can get started using the link above. Required Jotform Fields Your Jotform must have these fields for the template to work: Full Name Email Phone Number (Can be optional) File Upload (Label: Upload Your Resume) Crucial: Set the file type option to pdf only. Dropdown (Label: Position Applying For) Crucial: The options (e.g., "Marketing Manager") must exactly match the page titles in your "Open Positions" Notion database. Long Text (Label: Summary / Cover Letter) Required Notion Setup This workflow requires two separate databases in Notion that are linked together. Both databases must be shared with your n8n integration. Database 1: "Open Positions" This database holds your job descriptions. The AI reads from this database to understand the job requirements. Create a new Table database in Notion named Open Positions. Create the following properties: Name (Title): This is the job title. It must exactly match the options in your Jotform dropdown (e.g., "Marketing Manager"). Job Description (Text): A text field where you will paste the full job description for the role. Database 2: "Candidates" This database will store every new applicant and their AI-generated score. Create a new Table database in Notion named Candidates. Create the following properties to store the data: Candidate Name (Title): This will be filled with the applicant's name from the form. Email (Email): Stores the candidate's email. Phone (Phone): Stores the candidate's phone number. Resume (File): Stores the link to the resume PDF. AI Summary (Text): Stores the 2-sentence summary from the AI. AI Fit Score (Number): Stores the 0-1S00 score from the AI. Key Skills (Multi-select): Stores the skills array generated by the AI. Position (Relation): This is the final, crucial property. Type: Select Relation. Database: In the menu, search for and select your "Open Positions" database. IMPORTANT: A toggle labeled "Show on 'Open Positions'" will appear. You must turn this toggle ON. This creates a two-way relation, which is required for n8n to see and use this property.
by Cheng Siong Chin
How It Works This workflow automates intellectual property (IP) monitoring, conflict detection, and governance reporting for IP counsel, legal operations teams, and compliance officers. It eliminates the manual effort of tracking IP lifecycle events, identifying conflicting registrations, and routing compliance actions across severity levels. IP alerts arrive via webhook and scheduled monitoring triggers. Both feeds are parsed and passed to the IP Monitoring Agent, backed by a monitoring model, shared memory, a Conflict Detection Agent (with knowledge base), an IP Lifecycle Tracking Agent, and an IP Tracking Sheet Tool. Structured outputs feed the IP Governance Agent, which coordinates a Governance Agent (with memory), a Licensing Compliance Agent, and a Documentation Generation Agent. Outputs are routed by severity: analytics data is formatted and exported to Google Sheets; conflicts are prepared, shared to Slack, and routed by severity level, critical conflicts trigger Gmail alerts while medium conflicts receive Slack notifications. Governance records, compliance reports, and governance decisions are stored and distributed in parallel. Setup Steps Import workflow; configure the External IP Alert Webhook and Schedule IP Monitoring trigger interval. Add AI model credentials to the IP Monitoring Agent Connect Slack credentials to the Share IP Conflicts and Notify Medium Conflicts nodes. Link Gmail credentials to the Email High Priority Conflicts and Send Compliance Report nodes. Link Google Sheets credentials; set sheet IDs for IP Analytics, Governance Decisions, and Compliance Report tabs. Configure the IP Knowledge Base tool with your IP registry or database source. Prerequisites OpenAI API key (or compatible LLM) Slack workspace with bot credentials Gmail account with OAuth credentials Google Sheets with IP analytics and governance tabs pre-created IP knowledge base or registry API access Use Cases IP counsel automating conflict detection across trademark and patent registrations Customisation Extend severity routing to include additional tiers such as low-risk advisory notifications Benefits Dual-trigger ingestion eliminates IP monitoring blind spots between scheduled and real-time events
by Ian Kerins
Overview This n8n template automates finding roofing contractors in any city using Google Maps. It deep-scrapes listings via ScrapeOps Proxy, deduplicates results against Google Sheets, saves fresh leads, and sends alerts via Gmail and Slack - all triggered from a simple web form. Who is this for? Roofing companies building local lead lists without manual research Sales teams prospecting contractors in new cities or regions Agencies running lead generation campaigns for home services clients Anyone who needs structured local business data from Google Maps What problem does it solve? Manually searching Google Maps, copying business details, and checking for duplicates is slow and error-prone. This workflow automates the entire process - from search to deduplication to saved leads - so you get fresh, structured contractor data with zero manual effort. How it works A web form captures the target city. ScrapeOps Proxy scrapes Google Maps for roofing contractors in that city. Each listing is deep-scraped for full details: phone, website, rating, reviews, and address. Results are compared against existing Google Sheet entries to remove duplicates. Only new leads are saved to the sheet. Gmail and Slack alerts notify you of new leads instantly. Set up steps (~10–15 minutes) Register for a free ScrapeOps API key: https://scrapeops.io/app/register/n8n Add ScrapeOps credentials in n8n. Docs: https://scrapeops.io/docs/n8n/overview/ Duplicate the Google Sheet template and connect it to the Read Previous Entries and Save New Leads nodes. Configure Gmail credentials in the Send Gmail Alert node and set your recipient. Configure Slack credentials in the Send Slack Alert node and set your channel. Open the form URL, enter a city, and run. Pre-conditions Active ScrapeOps account (free tier available): https://scrapeops.io/app/register/n8n ScrapeOps community node installed in n8n: https://scrapeops.io/docs/n8n/overview/ Google Sheets credentials configured in n8n Duplicated Google Sheet template with correct column headers Gmail credentials for alert emails Slack credentials for channel notifications Disclaimer This template uses ScrapeOps n8n integration as a community node. You are responsible for complying with Google's Terms of Use, robots.txt directives, and applicable laws in your jurisdiction. Scraping targets may change at any time; adjust render, scroll, and wait settings and parsers as needed. Use responsibly and only for legitimate business purposes.
by Cheng Siong Chin
How It Works This workflow automates competitive real estate pricing analysis by combining multiple MLS data sources with AI-powered market intelligence. Designed for real estate professionals, property managers, and investment analysts, it solves the critical challenge of identifying underpriced properties in competitive markets where manual analysis is time-consuming and prone to oversight. The system fetches listings from multiple MLS platforms, consolidates market data, and deploys specialized AI agents for dual-layer analysis. The Pricing Agent evaluates individual property valuations against market comparables, while the Market Research Agent provides broader market context and trend insights. When underpriced opportunities are detected, automated alerts are dispatched via email and Slack, enabling rapid response to market opportunities. Operating on a daily schedule, this workflow transforms hours of manual research into automated intelligence delivery. Setup Steps Configure MLS API credentials in "Fetch MLS Data" and "Fetch Recent Sales Data" nodes Add OpenAI API key in "OpenAI Model - Pricing Agent" Set Gmail SMTP credentials in "Send Underpriced Alert Email" node with recipient addresses Configure Slack webhook URL in "Send Slack Alert" node for channel notifications Adjust "Daily Pricing Update Schedule" cron expression for preferred execution time Prerequisites OpenAI API account with GPT-4 access, MLS data provider API credentials Use Cases Investment firms identifying acquisition targets, real estate brokerages monitoring competitive listings Customization Modify AI agent prompts for specific property types, adjust underpricing threshold percentages Benefits Reduces manual research time by 90%, eliminates human bias in valuation analysis
by Rodrigue Gbadou
How it works Smart influencer discovery**: Automatically finds and qualifies influencers based on your criteria and target audience Automated outreach**: Sends personalized collaboration proposals with dynamic pricing and campaign details Campaign management**: Tracks deliverables, deadlines, and performance metrics in real-time ROI optimization**: Analyzes campaign performance and recommends budget allocation improvements Set up steps Social media APIs**: Connect Instagram, TikTok, YouTube APIs for influencer data collection Influencer databases**: Integrate with platforms like Upfluence, AspireIQ, or Grin Email automation**: Configure your email service for outreach campaigns Analytics tools**: Connect Google Analytics, social media insights for performance tracking Contract management**: Set up digital signature integration for collaboration agreements Payment systems**: Configure PayPal, Stripe for automated influencer payments Key Features 🎯 Smart matching**: AI-powered influencer discovery based on audience overlap and engagement quality 📊 Performance prediction**: Estimates campaign ROI before launch using historical data ⚡ Automated outreach**: Personalized email sequences with dynamic pricing calculations 📈 Real-time tracking**: Live dashboard showing campaign progress and key metrics 💰 Budget optimization**: Automatic budget reallocation based on performance data 🔄 Relationship management**: Long-term influencer relationship tracking and nurturing 📱 Multi-platform support**: Manages campaigns across Instagram, TikTok, YouTube simultaneously 🎨 Content approval**: Automated content review and approval workflows Campaign types supported Product launches**: Coordinated influencer campaigns for new product introductions Brand awareness**: Large-scale campaigns focused on reach and brand recognition Seasonal campaigns**: Holiday and event-specific influencer activations User-generated content**: Campaigns focused on authentic customer testimonials Event promotion**: Influencer partnerships for webinars, conferences, and live events Influencer qualification criteria Audience alignment**: Demographic and interest matching with your target market Engagement quality**: Authentic engagement rates and comment sentiment analysis Content quality**: Visual consistency and brand alignment assessment Collaboration history**: Previous brand partnerships and performance data Reach vs. engagement**: Optimal balance between follower count and engagement rates Performance metrics tracked Reach and impressions**: Total audience exposure across all platforms Engagement rates**: Likes, comments, shares, and saves per post Click-through rates**: Traffic driven to your website or landing pages Conversion tracking**: Sales and leads generated from influencer content Brand mention sentiment**: Positive vs. negative sentiment analysis Cost per engagement**: Efficiency metrics for budget optimization Automation features Influencer scoring**: Automatic ranking based on your custom criteria Outreach sequences**: Multi-touch email campaigns with follow-up automation Content reminders**: Automated deadline tracking and reminder notifications Performance alerts**: Real-time notifications for campaign milestones Payment processing**: Automatic invoice generation and payment scheduling Reporting automation**: Weekly and monthly performance reports This workflow revolutionizes influencer marketing by automating the entire process from discovery to payment, while providing data-driven insights for continuous optimization.
by Arbaz Asif
Overview: Automated Occasion Wisher How it works Runs daily to check if today matches any birthday, anniversary, or special occasion in your Google Sheet AI Agent reads the sheet and returns a list of users having a special occasion to wish with details and a personalized wishing message If there is no one to wish, no email is sent. If there are multiple people to wish, multiple personalized emails are sent Setup steps Connect your Google Sheet containing columns as: Name, Occasion_Date, Email, Occasion_Type, Relationship, Personal_Note Insert the AI prompt ensuring strict JSON output (list format only) Configure the Email node for sending the final message Customization Edit AI prompt to change message tone, length, or emojis Add support for multiple reminder styles (e.g., early notification) Extend with logging, Slack alerts, or saving sent email history