by Javier Hita
Find LinkedIn Professionals with Google Search and Airtable Who is this for? This workflow is perfect for sales professionals, recruiters, business development teams, and marketers who need to build targeted prospect lists from LinkedIn. Whether you're looking for specific job titles, industry professionals, or experts in particular locations, this template automates the tedious process of manual LinkedIn searching. Follow me for more What problem is this workflow solving? Finding qualified prospects on LinkedIn manually is time-consuming and inefficient. Traditional methods involve: Manually searching LinkedIn with limited search capabilities Copy-pasting profile information one by one Struggling with LinkedIn's search limitations and restrictions Difficulty organizing and tracking prospect data No systematic way to avoid duplicate contacts This workflow solves these challenges by leveraging Google's powerful search capabilities to find LinkedIn profiles at scale, automatically extracting key information, and organizing everything in a structured database. What this workflow does The workflow performs intelligent LinkedIn prospect discovery through these key steps: Keyword-Based Search: Uses Google Custom Search API to find LinkedIn profiles matching your specific criteria (job titles, industries, locations) Smart Data Extraction: Automatically parses profile titles, descriptions, URLs, and search snippets from Google results Structured Storage: Saves all prospect data to Airtable with proper field mapping and automatic deduplication Pagination Handling: Automatically processes multiple pages of search results to maximize prospect discovery Rate Limiting: Includes built-in delays to respect API limits and ensure reliable operation Key features: Deduplication**: Prevents storing duplicate LinkedIn profiles Batch Processing**: Handles large prospect lists efficiently Customizable Search**: Easily modify keywords to target different professional segments Clean Data Output**: Structured data ready for outreach campaigns Setup Prerequisites You'll need accounts with the following services: Google Cloud Console** (for Custom Search API) Airtable** (free tier works) n8n** (cloud or self-hosted) Step 1: Google Custom Search Setup Go to Google Cloud Console Create a new project or select existing one Enable the Custom Search API Create credentials (API Key) Set up a Custom Search Engine at Google CSE Configure it to search the entire web Copy your Search Engine ID (cx parameter) Bonus: Youtube Set-up Guide Step 2: Airtable Base Setup Create a new Airtable base with a table named "LinkedIn Prospects" containing these fields: Title (Single line text) - LinkedIn profile headline linkedin_url (URL) - Direct link to LinkedIn profile Search (Single line text) - Original search terms used Description (Long text) - Profile description/summary Snippet (Long text) - Google search result snippet Step 3: n8n Credentials Configuration Set up these credentials in n8n: Google Custom Search API: Type: HTTP Query Auth Name: Google Query Auth Query Parameter Name: key Value: Your Google API key Airtable: Type: Airtable Personal Access Token Token: Your Airtable personal access token Configure the base and table IDs in the Airtable node Step 4: Workflow Configuration Import this workflow template Update the "⚙️ CUSTOMIZE YOUR SEARCH KEYWORDS HERE" node with your target keywords Configure the Airtable node with your base and table information Test the workflow with a small keyword set first How to customize this workflow to your needs Targeting Different Industries Modify the search keywords in the yellow configuration node: // For technology professionals "Software Engineer React" "Product Manager SaaS" "Data Scientist Machine Learning" // For sales professionals "Account Executive Enterprise" "Sales Director B2B" "Business Development Manager" // For marketing professionals "Digital Marketing Manager" "Content Marketing Specialist" "Growth Marketing Lead" Geographic Targeting Add location keywords to narrow your search: "Marketing Manager London" "Sales Director New York" "Software Engineer Berlin" Company Size Targeting Include company type indicators: "CFO Startup" "VP Engineering Fortune 500" "Marketing Director SMB" Adjusting Search Volume Modify the Maxresults parameter in the "Configure Search Settings" node: Set to 10 for quick tests Set to 50-100 for comprehensive searches Maximum recommended: 100 per search to respect API limits Industry-Specific Customization For Recruiters: Target specific job titles and seniority levels Add skills-based keywords ("Python Developer", "React Specialist") Include experience indicators ("Senior", "Lead", "Principal") For Sales Teams: Focus on decision-maker titles ("Director", "VP", "C-Level") Target specific company sizes or industries Include location-based searches for territory management For Marketers: Search for industry influencers and thought leaders Target specific professional communities Look for content creators and industry experts Advanced Filtering Add conditional logic after the search results to filter prospects based on: Profile description keywords Title patterns Company information (when available in snippets) Integration Extensions Connect additional tools to enhance your prospect research: Email finder tools** (Hunter.io, Apollo) for contact discovery CRM integration** (HubSpot, Salesforce) for automatic lead creation Enrichment services** (Clearbit, ZoomInfo) for additional prospect data Slack/Teams notifications** for real-time prospect alerts Data Quality Improvements Enhance the workflow with additional processing: Duplicate detection** across multiple search terms Profile validation** to ensure active LinkedIn profiles Keyword scoring** to rank prospect relevance Export formatting** for specific CRM requirements This template provides a solid foundation that can be adapted for virtually any B2B prospect research need, making it an essential tool for modern sales and marketing teams.
by GYANENDRA DWIVEDI
🚀 WhatsApp Automation Template Designed & Developed by Infridet Solutions Private Limited 🔧 Objective: Automate your lead nurturing and sales process from YouTube/Instagram → Landing Page → CRM → Email → WhatsApp → Sales → Deal Closure using tools like: 🌐 WordPress (Landing Page + Fluent Forms) 🧾 Google Sheets (Backup Log) 📩 FluentCRM (Lead Tagging + Email Sequences) 💬 Whinta.com (WhatsApp Messaging API) ⚙️ N8N (Workflow Automation Engine) 🧩 System Flow Overview: Lead Source: YouTube or Instagram CTA Landing Page: Built on WordPress with a story-driven design Form Capture: Fluent Forms with dynamic input fields Data Sync: Backup to Google Sheets Push lead to FluentCRM and tag as New Lead Email Sequence: Warm-up emails (1 to 5) Introduce offer or service WhatsApp Outreach: Send personalized message via Whinta Triggered 1 hour after form fill or last email Sales Follow-Up: Sales team handles replies manually CRM tag updated to Customer upon closing 📁 Folder Structure (Optional Git/Zip File): 📦 WhatsApp-Automation-Infridet/ │ ├── whatsapp-automation-n8n.json # N8N Flowchart Import File ├── email-templates.docx # Warm-up Email Scripts ├── whinta-api-integration.pdf # API Documentation ├── crm-tagging-notes.txt # CRM Tag Setup Details └── readme.md # This Instruction File 🛠️ Required Integrations & Setup ✅ Fluent Forms (WordPress) Embed form with Name, Email, Phone Enable webhook to N8N: /lead-capture ✅ Google Sheets Use n8n-nodes-base.googleSheets node Capture name, email, phone, source, timestamp ✅ FluentCRM REST API enabled Push contact and assign tag New Lead Setup Email Automation via tag trigger ✅ SMTP Email (Optional) Use Gmail SMTP or Brevo Trigger email on form submission ✅ Whinta.com (WhatsApp API) Send POST request Payload includes phone, message, sender_id Customize message with personalization 💬 Sample WhatsApp Message: Hey {{name}}, Gyan here from Account Craft 👋 I saw your form submission – would you like help in starting your YouTube journey this week? Let me know. I'm just one text away. ✅ 📧 Sample Email (Warmup Day 1): > Subject: Welcome to Account Craft 🚀 > Body: > Hi {{name}}, > > I’m Gyan from Account Craft. Thanks for joining us! > Here’s what’s coming next: exclusive videos, personalized tips, and real support to get your YouTube channel earning. > > Let’s go! > – Gyan 🔁 CRM Tag Updates: | Action | Tag Assigned | |-------------------|------------------| | On form fill | New Lead | | After WhatsApp | Engaged | | After sale closed | Customer | 📌 Final Output: Once completed, the system will: Log all leads into a database Automatically send emails and WhatsApp messages Notify your sales team Update lead status without manual entry > Automation Template Designed & Deployed by > Infridet Solutions Private Limited > Smart Integrations. Seamless Business. > 🌐 www.infridetsolutions.com | 📞 +91-8853354829
by Trey
This workflow will archive your Spotify Discover Weekly playlist to an archive playlist named "Discover Weekly Archive" which you must create yourself. If you want to change the name of the archive playlist, you can edit value2 in the "Find Archive Playlist" node. It is configured to run at 8am on Mondays, a conservative value in case you forgot to set your GENERIC_TIMEZONE environment variable (see the docs here). Special thanks to erin2722 for creating the Spotify node and harshil1712 for help with the workflow logic. To use this workflow, you'll need to: Create then select your credentials in each Spotify node Create the archive playlist yourself Optionally, you may choose to: Edit the archive playlist name in the "Find Archive Playlist" node Adjust the Cron node with an earlier time if you know GENERIC_TIMEZONE is set Setup an error workflow like this one to be notified if anything goes wrong
by PollupAI
Who is this for? This workflow is designed for Customer Success Managers (CSM), sales, support, or marketing teams using HubSpot CRM who want to automate customer engagement tracking when new emails arrive. It’s ideal for businesses looking to streamline CRM updates without manual data entry. Problem Solved / Use Case Manually logging email interactions in HubSpot is time-consuming. This workflow automatically parses incoming emails, checks if the sender exists in HubSpot, and either: Creates a new contact + logs the email as an engagement (if the sender is new). Logs the email as an engagement for an existing contact. What This Workflow Does Triggers when a new email arrives in a connected IMAP inbox. Parses the email using AI (OpenAI) to extract structured data. Searches HubSpot for the sender’s email address. Updates HubSpot: Creates a contact (if missing) and logs the email as an engagement. Or logs the engagement for an existing contact. Setup Configure Email Account: Replace the default IMAP node with your email provider HubSpot Credentials: Add your HubSpot API key in the HubSpot nodes. OpenAI Integration: Ensure your OpenAI API key is set for email parsing. Customization Tips Improve AI Prompt**: Modify the OpenAI prompt to extract specific email data (e.g., customer intent). Add Filters**: Exclude auto-replies or spam by adding a filter node. Extend Functionality**: Use the parsed data to trigger follow-up tasks (e.g., Slack alerts, tickets). Need Help? Contact thomas@pollup.net for workflow modifications or help. Discover my other workflows here
by Lucía Maio Brioso
🧑💼 Who is this for? If you’re using Notion to manage a database (like saving links, tasks, notes, or anything really), and it’s starting to get messy with duplicate entries, this workflow is for you. It’s especially useful if you want to keep things tidy without doing any manual cleanup. 🧠 What problem is this workflow solving? Notion doesn’t have a built-in way to find or remove duplicates, so you either clean them up manually 😩 or just let them pile up. This workflow automatically finds entries that share the same property (like a URL or title) and archives the extra copies, keeping just one. ⚙️ What this workflow does Pulls all pages from a Notion database. Identifies duplicates based on a property you choose. Archives the duplicate pages (which is like soft-deleting them). Keeps one version of each duplicate group. It includes two optional triggers: Run it every day ⏰ Or trigger it automatically when a new page is added to the database ⚡ 🛠️ Setup Connect your Notion account in n8n. Select your database in the Notion nodes. In the “Format items properly” node, replace "SET YOUR PROPERTY HERE" with a reference to the property you want to use for detecting duplicates. I recommend using the n8n property drag-and-drop feature. Enable whichever trigger you prefer — or both. And that’s it. It runs on its own after that. 🧩 How to customize this workflow to your needs Use a different property for detecting duplicates by updating the Set node. Want to tag duplicates instead of archiving them? Just replace the last Notion node with an update operation. Adjust the schedule to run it hourly, weekly, or whenever suits your setup.
by Airtop
Automating Person Data Enrichment and CRM Update Use Case This automation enriches a person’s professional profile using their name and work email, scores them against an ICP (Ideal Customer Profile), and updates their record in HubSpot. It’s ideal for sales, marketing, and recruitment teams needing reliable contact insights. What This Automation Does This automation performs the following using the input parameters: Person name**: The full name of the individual. Work email**: The professional email address of the contact. Airtop Profile (connected to LinkedIn)**: An authenticated Airtop Profile used for LinkedIn-based enrichment. Hubspot object id**: The internal HubSpot ID for the contact to be updated. How It Works Initiates the workflow using a form or external trigger. Uses the name and email to extract and enrich the person’s data, including: LinkedIn profile and company page About section, job title, location ICP score, seniority level, AI interest, technical depth, connection and follower counts Formats and maps the enriched data. Pushes the updated data to HubSpot using the object ID. Setup Requirements Airtop API Key Airtop Profile logged in to LinkedIn. HubSpot access with object ID field for each contact to update. Next Steps Combine with Lead Generation**: Use as part of an end-to-end workflow that sources leads and enriches them in real time. Trigger from CRM**: Initiate this workflow when a new contact is added in HubSpot or another CRM. Customize Scoring Logic**: Tailor the ICP calculation to your team’s specific criteria. Read more about person data enrichment
by Matthieu
LinkedIn Profile Enrichment Automation Who is this for? This template is perfect for sales teams, recruiters, marketing professionals, and business development specialists who need to gather comprehensive LinkedIn profile data at scale. Ideal for lead generation teams building prospect databases, recruiters sourcing candidate information, sales professionals researching prospects, and marketing teams creating targeted outreach campaigns. What problem does this workflow solve? Manually collecting detailed information from LinkedIn profiles is incredibly time-consuming and prone to inconsistency. Visiting each profile individually to extract names, job titles, experience, education, skills, and contact details can take hours for even small prospect lists. This automation eliminates the tedious manual data entry while ensuring consistent, comprehensive profile enrichment. What this workflow does This workflow automatically enriches a list of LinkedIn profile URLs by extracting comprehensive professional data including: Personal details** (first name, last name, headline, location) Professional status** (hiring status, open to work indicators) Network metrics** (connections, followers count) Work experience** (up to 5 most recent positions with company details, dates, and roles) Education background** (up to 3 educational institutions with degrees and dates) Skills and languages** (complete skill sets and language proficiencies) Professional summary** (profile description and bio) The enriched data is automatically organized and updated in your Google Sheets database with structured formatting for easy analysis and outreach. Setup Create a Ghost Genius API account and obtain your API key for cookieless LinkedIn profile scraping Configure HTTP Request credentials with Header Auth using your Ghost Genius API key Set up your Google Sheets database using the provided template with columns: URL, Firstname, Lastname, Tagline, Location Connections, Followers, Hiring?, Open to work? Summary, Languages, Skills Experience 1-5, Education 1-3 Configure Google Sheets OAuth2 credentials following n8n's authentication setup guide Add LinkedIn profile URLs to the first column of your Google Sheet to begin enrichment Test the workflow with a small batch before processing larger lists How to customize this workflow Adjust batch processing settings** to handle larger volumes by modifying the batch size and interval timing Add data validation rules** to filter out incomplete or invalid profiles before processing Integrate with CRM systems** like HubSpot or Salesforce to automatically sync enriched data Set up automated scheduling** to regularly re-enrich profiles and capture profile updates Add email notifications** to alert when enrichment batches are completed or encounter errors Customize data mapping** to include additional profile fields or reorganize the output structure Add duplicate detection** to prevent re-processing the same profiles multiple times
by Growth AI
Automated trend monitoring for content strategy Who's it for Content creators, marketers, and social media managers who want to stay ahead of emerging trends and generate relevant content ideas based on data-driven insights. What it does This workflow automatically identifies trending topics related to your industry, collects recent news articles about these trends, and generates content suggestions. It transforms raw trend data into actionable editorial opportunities by analyzing search volume growth and current news coverage. How it works The workflow follows a three-step automation process: Trend Analysis: Examines searches related to your topics and identifies those with the strongest recent growth Article Collection: Searches Google News for current articles about emerging trends and scrapes their full content Content Generation: Creates personalized content suggestions based on collected articles and trend data The system automatically excludes geo-localized searches to provide a global perspective on trends, though this can be customized. Requirements SerpAPI account (for trend and news data) Firecrawl API key (for scraping article content from Google News results) Google Sheets access AI model API key (for content analysis and recommendations - you can use any LLM provider you prefer) How to set up Step 1: Prepare your tracking sheet Duplicate this Google Sheets template Rename your copy and ensure it's accessible Step 2: Configure API credentials Before running the workflow, set up the following credentials in n8n: SerpAPI: For trend analysis and Google News search Firecrawl API: For scraping article content AI Model API: For content analysis and recommendations (Anthropic Claude, OpenAI GPT, or any other LLM provider) Google Sheets OAuth2: For accessing and updating your tracking spreadsheet Step 3: Configure your monitoring topics In your Google Sheet "Query" tab: Query column: Enter the main topics/keywords you want to monitor for trending queries (e.g., "digital marketing", "artificial intelligence", "sustainable fashion") Query to avoid column: Optionally add specific queries you want to exclude from trend analysis (e.g., brand names, irrelevant terms, or overly specific searches that don't match your content strategy) This step is crucial as these queries will be the foundation for discovering related trending topics. Step 4: Configure the workflow In the "Get Query" node, paste your duplicated Google Sheets URL in the "Document" field Ensure your Google Sheet contains your monitoring topics in the Query column Step 5: Customize language and location settings The workflow is currently configured for French content and France location. You can modify these settings in the SerpAPI nodes: Language (hl): Change from "fr" to your preferred language code Geographic location (geo/gl): Change from "FR" to your target country code Date range: Currently set to "today 1-m" (last month) but can be adjusted Step 6: Adjust filtering (optional) The "Sorting Queries" node excludes geo-localized queries by default. You can modify the AI agent's instructions to include location-specific queries or change filtering criteria based on your requirements. The system will also automatically exclude any queries you've listed in the "Query to avoid" column. Step 7: Configure scheduling (optional) The workflow includes an automated scheduler that runs monthly (1st day of each month at 8 AM). You can modify the cron expression 0 8 1 * * in the Schedule Trigger node to change: Frequency (daily, weekly, monthly) Time of execution Day of the month How to customize the workflow Change trend count: The workflow processes up to 10 related queries per topic but filters them through AI to select the most relevant non-geolocalized ones Adjust article collection: Currently collects exactly 3 news articles per query for analysis Content style: Customize the AI prompts in content generation nodes to match your brand voice Output format: Modify the Google Sheets structure to include additional data points AI model: Replace the Anthropic model with your preferred LLM provider Scraping options: Configure Firecrawl settings to extract specific content elements from articles Results interpretation For each monitored topic, the workflow generates a separate sheet named by month and topic (e.g., "January Digital Marketing") containing: Data structure (four columns): Query: The trending search term ranked by growth Évolution: Growth percentage over the last month News: Links to 3 relevant news articles Idée: AI-generated content suggestions based on comprehensive article analysis The workflow provides monthly retrospective analysis, helping you identify emerging topics before competitors and optimize your content calendar with high-potential subjects. Workflow limitations Processes up to 10 related queries per topic with AI filtering Collects exactly 3 news articles per query Results are automatically organized in monthly sheets Requires stable internet connection for API calls
by Omer Fayyaz
This workflow automatically captures, enriches, scores, and routes website leads in real-time, scheduling high-intent prospects for demos within minutes instead of hours—dramatically improving conversion rates by eliminating response delays. What Makes This Different: Real-Time Lead Processing** - Captures and processes leads instantly from website forms with zero delay Intelligent Fit Scoring** - Automatically scores leads 0-100 based on company size, seniority, and revenue Dual-Track Routing** - High-intent leads (60+) get fast-track treatment, others follow standard nurture Live Calendar Integration** - Shows actual available Calendly slots, not fake placeholders Automated Sales Alerts** - Posts rich lead details to Slack with booking links instantly Smart Follow-Up** - Sends fallback email if sales team doesn't respond within 10 minutes Complete CRM Automation** - Creates HubSpot contacts and deals automatically with enriched data Full Audit Trail** - Logs everything to Google Sheets for analytics and reporting Key Benefits of Instant Lead Response: Speed** - Minutes from form submission to scheduled demo, not hours or days Conversion** - Respond while leads are hot, dramatically improving booking rates Automation** - Zero manual work—enrichment, scoring, routing, and follow-up all automatic Intelligence** - Data-driven scoring ensures sales focuses on best-fit prospects Accountability** - Complete logging shows response times and follow-up actions Scalability** - Handles unlimited lead volume without adding sales admin work Who's it for This template is designed for B2B SaaS companies, sales teams, and revenue operations professionals who need to convert website leads faster. It's perfect for organizations that lose deals due to slow response times, want to prioritize high-intent prospects, need to automate CRM data entry, or want to ensure no hot lead falls through the cracks while sales is busy. How it works / What it does This workflow creates an end-to-end lead-to-meeting pipeline that automatically processes inbound leads and schedules high-intent prospects for demos. The system: Receives lead submissions via webhook from website forms or chat widgets Normalizes data from different form providers into a standard format Enriches contact information using Clearbit to get company size, revenue, job title, and industry Calculates fit score (0-100) based on company metrics: size (40 pts), seniority (30 pts), revenue (30 pts) Routes intelligently - High-intent leads (60+) → fast track | Standard leads → nurture channel Creates CRM records - Automatically creates/updates HubSpot contact and deal with enriched data Fetches real availability - Gets actual available Calendly demo slots via API (next 7 days) Alerts sales team - Posts formatted message to Slack with lead details and booking links Monitors response - Waits 10 minutes and checks if sales replied in Slack thread Sends fallback email - Automatically emails lead with self-service booking link if no response Logs everything - Records all data to Google Sheets for reporting and analytics Key Innovation: Smart Follow-Up Automation - Unlike basic lead capture workflows, this system ensures accountability by automatically following up with leads if the sales team is unavailable, preventing lost opportunities while maintaining a professional response time. How to set up 1. Configure API Credentials Add the following credentials in n8n: Clearbit (Lead Enrichment) Create account at clearbit.com Generate API key from Settings → API Add as "Clearbit API" credential in n8n HubSpot (CRM Integration) Create private app in HubSpot Settings → Integrations → Private Apps Grant scopes: crm.objects.contacts.write, crm.objects.deals.write Copy app token Add as "HubSpot App Token" credential in n8n Calendly (Calendar Availability) Create OAuth app at calendly.com/integrations/api_webhooks Configure OAuth2 credentials in n8n Set environment variable: CALENDLY_USER_URI with your user URI Get this from: https://api.calendly.com/users/me (returns your user URI) Slack (Team Notifications) Create Slack app at api.slack.com/apps Add Bot Token Scopes: channels:read, chat:write, channels:history Install app to workspace and copy Bot User OAuth Token Add as "Slack API" credential in n8n Update channel names in nodes: change "hot-leads" and "leads" to your actual channel names SendGrid (Email Fallback) Create account at sendgrid.com Generate API key from Settings → API Keys Verify sender email address Add as "SendGrid API" credential in n8n Update "from" email in "Send Fallback Email" node Google Sheets (Activity Logging) Create Google Cloud project and enable Sheets API Configure OAuth2 credentials in n8n Create a Google Sheet with columns matching the workflow Replace YOUR_GOOGLE_SHEET_ID in "Log to Google Sheets" node with your actual sheet ID 2. Customize Fit Scoring Logic Edit the "Calculate Fit Score" node to match your ideal customer profile: Default Scoring: Company size 50-5,000 employees = 40 points Executive/Director seniority = 30 points Annual revenue ≥ $1M = 30 points Total possible:* 100 points | *High-intent threshold:** 60+ points To Customize: Adjust company size ranges based on your target market Change seniority requirements (C-level, VP, Manager, etc.) Modify revenue thresholds Update the 60-point threshold for high-intent routing 3. Set Up Webhook Endpoint Get Webhook URL: Activate the workflow Copy webhook URL from "Lead Form Webhook" node URL format: https://your-n8n-instance.com/webhook/demo-request Configure Form Provider: Point your website form POST request to the webhook URL Send JSON body with fields: email, name, company, phone, utm_source, utm_campaign, page_url, message Or map your existing form fields to these names in "Normalize Lead Data" node Example Form Integration: // HTML Form fetch('https://your-n8n.com/webhook/demo-request', { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({ email: 'lead@company.com', name: 'John Doe', company: 'Acme Inc', phone: '+1234567890', utm_source: 'google', page_url: window.location.href }) }) 4. Test the Workflow Initial Test: Activate the workflow Submit test lead via webhook (use Postman or curl) Verify Clearbit enrichment returns data Check HubSpot for created contact and deal Confirm Slack notification appears in correct channel Verify Google Sheet receives log entry Response Test: Wait 10 minutes after Slack notification Check if "Check Slack Replies" detects no response Verify fallback email sends via SendGrid Confirm lead receives booking email with Calendly link Calendly Test: Verify "Get Calendly Event Types" finds your Demo event Check "Get Available Demo Slots" returns actual time slots Confirm booking URLs work and pre-fill time selection 5. Monitor and Optimize Key Metrics to Track: Time from form submission to Slack notification (target: <30 seconds) Sales response rate within 10 minutes Fallback email send rate (lower is better) High-intent lead conversion rate (booked → closed) Average fit score of closed deals Optimization Tips: Adjust fit score weights based on actual conversion data Tune the 60-point threshold for high-intent routing Customize Slack message format for your team's workflow Modify wait time (10 minutes) based on team availability Add custom fields to Google Sheet for additional tracking Requirements n8n Instance: n8n Cloud or self-hosted (v1.0+) Code node execution enabled Webhook functionality active External Services: Clearbit** - Enrichment API (paid service, free trial available) HubSpot** - CRM with API access (free tier available) Calendly** - Scheduling platform with API access (paid plans) Slack** - Workspace with bot integration capability SendGrid** - Email API (free tier: 100 emails/day) Google Sheets** - Google account with Sheets API enabled Technical Requirements: Public webhook endpoint (HTTPS) Environment variable support for sensitive data OAuth2 authentication capability Minimum 256MB RAM for code node execution Data Privacy: Ensure GDPR/CCPA compliance for lead data storage Review data retention policies for all connected services Configure appropriate data handling in Google Sheets Add privacy policy link to email templates Tips and best practices Fit Scoring: Start with default scoring, then optimize based on actual conversion data Review monthly: which scores convert best? Adjust weights accordingly Consider adding industry filters for vertical-specific targeting Test different thresholds (50, 60, 70) to find optimal balance Lead Response: Keep 10-minute wait time during business hours Consider longer wait for after-hours leads (use schedule trigger) Customize Slack urgency based on fit score (🔥 for 80+, ⚡ for 60-79) Add @mentions in Slack for specific team members based on lead attributes Calendar Management: Use dedicated "Demo" event type in Calendly for consistent detection Ensure event name includes "demo" (case-insensitive) for workflow to find it Set appropriate buffer times between meetings in Calendly settings Review availability regularly to maintain high slot count Error Handling: All critical nodes have onError: continueRegularOutput to prevent workflow stops Monitor execution logs daily for failed enrichments or CRM errors Set up n8n error workflow to alert on consistent failures Keep fallback booking URL updated in case Calendly API fails Performance: Webhook responds immediately (within 2 seconds) even while processing continues Clearbit enrichment can take 3-5 seconds—this is expected Consider batching Google Sheets updates if processing >100 leads/day Monitor n8n resource usage; Code nodes can be memory-intensive Privacy and Compliance: Add unsubscribe link to fallback emails Include data handling disclosure in form Set Google Sheet permissions appropriately (team only) Review Clearbit's data sources for compliance requirements Configure data retention in HubSpot to match your policy Customization Ideas: Add SMS notification for ultra-high fit scores (90+) Integrate with territory routing (route to specific sales rep by region) Add lead source scoring (paid > organic > referral) Create separate tracks for different product lines Build competitor mention detection in form messages Add qualification questions that influence fit score
by Joachim Brindeau
Are you looking to install external libraries for your self-hosted N8N instance? This automated workflow makes adding npm packages to your N8N environment quick and effortless. Beware, this workflow only works on self-hosted instances. What This Workflow Does This solution automatically installs npm packages like axios, cheerio, or node-fetch in your self-hosted N8N Docker container, making them immediately available in Code nodes. Key features ✅ Automated Installation: No manual npm commands needed ✅ Daily Updates: Scheduled trigger keeps packages current ✅ Smart Installation: Only installs missing packages ✅ Multiple Triggers: Manual, scheduled, and on startup of the N8N instance so you can upgrade your N8N version without worrying about external libraries. How to install and update external libraries automatically Step 1: Setting Up Your Environment Variables Before using external libraries in N8N Code nodes, configure these environment variables in your Docker comppose file. Option A to allow specific external npm packages in N8N Code nodes NODE_FUNCTION_ALLOW_EXTERNAL=axios,cheerio,node-fetch Option B to allow all external npm packages in Code nodes NODE_FUNCTION_ALLOW_EXTERNAL=* Step 2: Import the external packages workflow Import the workflow into your N8N instance by copy pasting all nodes. Step 3: Input the list of external libraries you need Edit the libraries_set node Change the comma-separated list (e.g., axios,cheerio,node-fetch). If you chose Option A above, update your NODE_FUNCTION_ALLOW_EXTERNAL variable with the same packages Step 4: Start the workflow! Run the workflow manually or let it trigger automatically Why use this to install NPM packages in N8N? Managing external packages manually in N8N can be time-consuming. This workflow automates the entire process, making sure your libraries are always installed and up-to-date.
by Danger
Automated Execution Pruning This workflow is designed to help you manage and optimize your n8n instance by automatically pruning old workflow executions, ensuring a cleaner environment and improved performance. You can customize the retention period to suit your needs. Key Features: Configurable Retention Period: The workflow is preconfigured to delete workflow executions older than 10 days. You can easily adjust this duration by modifying the condition in the If node. Daily Automation: Using the Schedule Trigger, the workflow runs daily at the specified time (default: 4:44 AM), retrieving all workflow executions and identifying those that are older than the defined retention period. On-Demand Testing: The Manual Trigger allows you to test the workflow at any time, ensuring everything is working as expected. Decision Making: The If node evaluates each execution based on its start date and determines whether it should be deleted or retained. Execution Pruning: Delete Action: Executions meeting the criteria are removed via the Delete Execution node. No-Operation: Executions that don't meet the criteria remain untouched. Workflow Nodes: Manual Trigger: Enables on-demand testing of the workflow. Schedule Trigger: Runs the workflow daily at the configured time. n8n List Execution: Fetches all executions in your n8n instance. If Node: Compares the execution's start date with the configured retention period. Delete Execution: Deletes executions older than the specified retention period. No Operation: Serves as a placeholder for executions that don't meet the pruning criteria. How to Customize: Retention Period**: Update the If node's condition to modify the retention period. For instance, change 10 * 24 * 60 * 60 * 1000 to the desired number of days in milliseconds. Schedule**: Adjust the timing of the Schedule Trigger to match your preferred automation schedule. This workflow ensures your instance remains efficient by keeping only the relevant execution logs. Use it to maintain a streamlined and clutter-free environment effortlessly.
by Paul Taylor
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. 📄 Post New Articles from Feeds to Slack Channel 🧠 What This Workflow Does This workflow automates the discovery and sharing of fresh articles from a curated list of RSS feeds. It performs the following steps: Reads a list of RSS feed URLs from a Google Sheet (Feeds tab). Fetches the latest articles from each feed. Checks for duplicates against previously published links stored in another sheet (Posted Articles tab). Filters out already shared articles. Posts the new articles to a designated Slack channel with formatted titles and links. Logs the newly shared articles back into the Google Sheet to prevent duplicates. 🛠️ Prerequisites To use this workflow, you must have: ✅ Google Sheets OAuth2 credentials set up in n8n (Used to access and update the RSS feed and post history sheets) ✅ Slack OAuth2 credentials (Used to post messages to a specific Slack channel) ✅ A Google Spreadsheet with: Feeds tab – Columns: title, link Posted Articles tab – Columns: title, link, pubDate 🔧 Environment Variables or Custom Values You will need to set the following n8n variable or replace with direct input: {{$vars.Daily_Industry_News_Automation_Google_Sheet}}: Reference to the Google Sheet Document ID (you can use a static ID if preferred) Also update: Slack channelId: Replace with your actual Slack channel ID if not dynamically referenced ⏰ Trigger & Scheduling Trigger type**: Cron node Default schedule: Every day at **7:00 AM You can modify this in the “Trigger Workflow” node to suit your own schedule. 🎯 Intended Use Case This workflow is ideal for: Marketing teams curating daily or weekly news digests Founders or industry professionals monitoring sector updates Automating internal Slack news updates Avoiding duplicate content when sourcing from multiple feeds