Back to Catalog
Naveen Choudhary

Naveen Choudhary

I create AI-driven n8n workflows that turn repetitive tasks into smooth, hands-off automations. Want to explore an idea? Book a quick consult: https://cal.com/nickchoudhary/30min

Total Views30,691
Templates7

Templates by Naveen Choudhary

Google Maps business scraper with contact extraction via Apify and Firecrawl

Who is this for? Marketing agencies, sales teams, lead generation specialists, and business development professionals who need to build comprehensive business databases with contact information for outreach campaigns across any industry. What problem is this workflow solving? Finding businesses and their contact details manually is time-consuming and inefficient. This workflow automates the entire process of discovering businesses through Google Maps and extracting their digital contact information from websites, saving hours of manual research. What this workflow does This automated workflow runs every 30 minutes to: Scrape business data from Google Maps using Apify's Google Places crawler Save basic business information (name, address, phone, website) to Google Sheets Filter businesses that have websites Scrape each business's website content using Firecrawl Extract contact information including emails, LinkedIn, Facebook, Instagram, and Twitter profiles Store all extracted data in organized Google Sheets for easy access and follow-up Setup Required Services: Google Sheets account with OAuth2 setup Apify account with API access for Google Places scraping Firecrawl account with API access for website scraping Pre-setup: Copy this Google Sheet Configure your Apify and Firecrawl API credentials in n8n Set up Google Sheets OAuth2 connection Update the Google Sheet ID in all Google Sheets nodes Quick Start: The workflow includes detailed sticky notes explaining each phase. Simply configure your API credentials and Google Sheet, then activate the workflow. How to customize this workflow to your needs Change search criteria: Modify the Apify scraping parameters to target different business types (restaurants, gyms, salons, etc.) or locations Adjust schedule: Change the trigger interval from 30 minutes to your preferred frequency Add more contact fields: Extend the extraction code to find additional contact information like WhatsApp or Telegram Filter criteria: Modify the filter conditions to target businesses with specific characteristics Batch size: Adjust the batch processing to handle more or fewer websites simultaneously Perfect for lead generation, competitor research, and building targeted marketing lists across any industry or business type.

Naveen ChoudharyBy Naveen Choudhary
24942

Find & verify business emails automatically with OpenRouter, Serper & Prospeo

Who is this template for? Growth teams, SDRs, recruiters, or anyone who routinely hunts for hard‑to‑find business emails and would rather spend time reaching out than guessing formats. What problem does this workflow solve? Manually piecing together email patterns, cross‑checking them in a verifier, and updating a tracking sheet is slow and error‑prone. This template automates the entire loop—research, guess, verify, and log—so you hit Start and watch rows fill up with ready‑to‑send addresses. What this workflow does Pull fresh leads – Grabs only the rows in your Google Sheet where Status = FALSE. Find the company pattern – Queries Serper.dev for snippets and feeds them to Gemini Flash (via OpenRouter) to spot the dominant email format. Build the address – Constructs a likely email for every first/last name. Verify in real time – Pings Prospeo by default (API) or lets you bulk‑clean in Sparkle.io. Write it back – Updates the sheet with pattern, email, confidence, verification status, and flips Status to TRUE. Loop until done – Runs batch‑by‑batch so you never hit API limits. --- 🆓 Work free‑tier magic (up to \~2,500 contacts/month) | Service | Free allowance | How this template uses it | | -------------- | ----------------------------- | ------------------------------------------------------------------------------------ | | Serper.dev | 2,500 searches/mo | Scrapes three public email snippets per domain to learn the pattern | | Sparkle.io | 10,000 bulk verifications/day | Manual upload‑download option—perfect to clean your first 2.5k emails at zero cost | | Prospeo | 75 API calls/mo | Built‑in if you prefer fully automated verification | Quick Sparkle workflow: Let the template generate emails. Export the “Email” column to CSV → upload to Sparkle.io. Download the results and paste the "verification\_status" back into the sheet (or add a small n8n import sub‑flow). --- Setup (5 minutes) Copy the Google Sheet linked in the sticky note and paste its ID into the Get Rows and Update Rows nodes. Add credentials for Google Sheets, Serper (X‑API‑KEY), OpenRouter, and optionally Prospeo. Hit Execute Workflow—that’s it. --- How to customise Prefer Sparkle for volume: Skip the Prospeo node, export emails in one click, bulk‑verify in Sparkle, and re‑import results. Swap the search source: Replace the Get Email Pattern* HTTP node with Bing, Brave, etc. Extend enrichment: Add phone look‑ups or LinkedIn scrapers before the Update Rows* node. Auto‑run: Replace the Manual Trigger with a Cron node so the sheet cleans itself every morning. --- Additional resources | Tool | Purpose | Link | | --------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | -------------------------------------------------------- | | Prospeo – API‑ready email verification<br><sub>Special offer: 20 % free credits for the first 3 months on any plan using this link!</sub> | Real‑time, single‑call mailbox validation | prospeo.io | | Sparkle.io – high‑volume bulk verifier (manual upload) | Free daily quota of 10 000 verifications | app.sparkle.io/sign‑up | | OpenRouter – API gateway for Gemini Flash & other LLMs | One key unlocks multiple frontier models | openrouter.ai | | Serper.dev – Google Search API | 2 500 searches/month on the free tier | serper.dev | Add the relevant keys or signup details from these links, drop them into the matching n8n credentials, and you’re all set to enrich your first 2 500 contacts at zero cost. Happy building!

Naveen ChoudharyBy Naveen Choudhary
1527

Digest new YouTube videos to Slack with Google Sheets, RapidAPI & GPT-4o-mini

Who is this for? Marketing, content, and enablement teams that need a quick, human-readable summary of every new video published by the YouTube channels they care about—without leaving Slack. What problem does this workflow solve? Manually checking multiple channels, skimming long videos, and pasting the highlights into Slack wastes time. This template automates the whole loop: detect a fresh upload from your selected channels → pull subtitles → distill the key take-aways with GPT-4o-mini → drop a neatly-formatted digest in Slack. What this workflow does Schedule Trigger fires every 10 min, then grabs a list of YouTube RSS feeds from a Google Sheet. HTTP + XML fetch & parse each feed; only brand-new videos continue. YouTube API fetches title/description, RapidAPI grabs English subtitles. Code nodes build an AI payload; OpenAI returns a JSON summary + article. A formatter turns that JSON into Slack Block Kit, and Slack posts it. Processed links are appended back to the “Video Links” sheet to prevent dupes. Setup Make a copy of this Google Sheet and connect a Google Sheets OAuth2 credential with edit rights. Slack App: create → add chat:write, channels:read, app_mention; enable Event Subscriptions; install and store the Bot OAuth token in an n8n Slack credential. RapidAPI key for https://yt-api.p.rapidapi.com/subtitles (300 free calls/mo) → save as HTTP Header Auth. OpenAI key → save in an OpenAI credential. Add your RSS feed URLs to the “RSS Feed URLs” tab; press Execute Workflow. How to customise Adjust the schedule interval or freshness window in “If newly published”. Swap the OpenAI model or prompt for shorter/longer digests. Point the Slack node at a different channel or DM. Extend the AI payload to include thumbnails or engagement stats. Use-case ideas Product marketing: Instantly brief sales & CS teams when a competitor uploads a feature demo. Internal learning hub: Auto-summarise conference talks and share bullet-point notes with engineers. Social media managers: Get ready-to-post captions and key moments for re-purposing across platforms.

Naveen ChoudharyBy Naveen Choudhary
1030

Extract LinkedIn Sales Navigator contacts to Google Sheets with auto pagination

Complete Template Description Automate LinkedIn Sales Navigator contact extraction to Google Sheets This workflow scrapes LinkedIn Sales Navigator search results and automatically saves contact details to Google Sheets with pagination support and rate limiting protection. Who's it for Sales teams, recruiters, and business development professionals who need to extract and organize LinkedIn contact data at scale without manual copy-pasting. What it does The workflow connects to a LinkedIn scraping API to fetch contact information from Sales Navigator search results. It handles pagination automatically, extracts contact details (name, title, company, location, profile URL), and appends them to a Google Sheet. Built-in rate limiting (30-60 second delays) prevents API blocks and mimics natural browsing behavior. Requirements Self-hosted n8n instance (this workflow will NOT work on n8n Cloud due to cookie requirements and third-party API usage) LinkedIn Sales Navigator account Google Sheets account EditThisCookie browser extension API access from the creator (1 month free trial available) How to set up Step 1: Get API Access Email the creator to request 1 month of free API access using the link in the workflow. You'll receive your API key within 24 hours. Step 2: Configure API Authentication Click the "Scrape LinkedIn Contacts API" node Under Authentication, select "Header Auth" Create new credential with Name: x-api-key and your received API key as the Value Save the credential Step 3: Extract LinkedIn Cookies Install the EditThisCookie extension Navigate to LinkedIn Sales Navigator Click the cookie icon in your browser toolbar Click "Export" and copy the cookie data Paste into the cookies field in the "Set Search Parameters" node Step 4: Configure Your Search In the "Set Search Parameters" node, update: cookies: Your exported LinkedIn cookies url: Your LinkedIn Sales Navigator search URL total_pages: Number of pages to scrape (default: 2, each page = ~25 contacts) Step 5: Set Up Google Sheets Make a copy of the template Google Sheet (or create your own with matching column headers) In the "Save Contacts to Google Sheets" node, connect your Google Sheets account Select your destination spreadsheet and sheet name Important Security Note: Keep your LinkedIn cookies private. Never share them with others or commit them to public repositories. Customization options Adjust total_pages to control how many contacts you scrape Modify the delay in "Rate Limit Delay Between Requests" node (default: 30-60 seconds random) - do not lower this to avoid API blocks Customize which contact fields to save in the Google Sheets column mapping Change the search URL to target different prospect segments or filters

Naveen ChoudharyBy Naveen Choudhary
685

Automate company data enrichment with ZoomInfo, Serper & Oxylabs to Google Sheets

This workflow automatically enriches company domain lists with comprehensive business information scraped from ZoomInfo, organizing the data in Google Sheets for sales teams and researchers. Who's it for Sales teams building prospect databases with accurate company information Marketing professionals researching target companies for outreach campaigns Business development teams qualifying leads with revenue and employee data Researchers collecting structured company data for market analysis Lead generation specialists enriching domain lists with contact details How it works The workflow processes unprocessed domains from a Google Sheet, searches for their ZoomInfo profiles using Serper API, scrapes the company pages through Oxylabs proxy service, and extracts structured business data. Each domain is marked as processed to prevent duplicates, and the workflow includes proper rate limiting to respect API limits. What it does Loads unprocessed domains from your Google Sheets database Searches ZoomInfo using targeted queries via Serper API for each domain Validates search results and extracts relevant ZoomInfo profile URLs Scrapes company pages using Oxylabs to bypass anti-scraping protection Extracts structured data including company details, address, revenue, and employee count Updates Google Sheets with enriched company information Tracks processing status to prevent reprocessing the same domains Requirements Serper API account with search credits (Get API key) Oxylabs subscription for web scraping proxy service (Sign up here) Google Sheets API access with OAuth2 authentication Google Sheets template - Make a copy of this template sheet with pre-configured columns How to set up Make a copy of the Google Sheets template - Click here to copy the template to your Google Drive Configure API credentials in the respective HTTP Request nodes: Add Serper API key in the search node Set up Oxylabs username/password in the scraping node Set up Google Sheets authentication using OAuth2 Update the Google Sheets document ID in all Google Sheets nodes to point to your copied template Add your domain list to the sheet with 'processed' column empty or false Run the workflow using the manual trigger How to customize the workflow Search query modification: Update the search query in the Serper node for different geographic focus (currently set for Czech Republic) Data extraction fields: Modify the Google Sheets column mapping to include/exclude specific company data points Rate limiting: Adjust wait times between requests to match your API rate limits Batch processing: Configure the split batch size for processing domains in smaller groups Error handling: Customize the continue-on-error settings based on your data quality requirements Scheduling: Replace Manual Trigger with Schedule Trigger for automated daily/weekly runs Output data includes Complete company name and official address Phone numbers and contact information Revenue figures and employee headcount Industry classifications and business categories LinkedIn company profile URLs Geographic location details (city, state, country, postal code) Processing status tracking for workflow management Note: This workflow includes comprehensive error handling to ensure domains are always marked as processed, preventing infinite loops while maintaining data integrity. Rate limiting is built-in to respect API quotas and avoid service interruptions.

Naveen ChoudharyBy Naveen Choudhary
556

Enrich company domains with business data using Perplexity AI and Google Sheets

This workflow automatically enriches company domain lists with comprehensive business information using Perplexity AI's research capabilities and organizes the data in Google Sheets for easy analysis and use. Who's it for Sales teams building prospect databases with accurate contact information Marketing professionals researching target companies for campaigns Business development teams gathering competitive intelligence Data analysts enriching existing company datasets Researchers collecting business information for market analysis How it works The workflow reads unprocessed company domains from a Google Sheets document, processes them in batches of 10 using Perplexity AI to research detailed business information, then saves the enriched data back to the spreadsheet. It focuses on German addresses but can be customized for any region. What it does Fetches unprocessed domains - Reads company domains from Google Sheets that haven't been processed yet Batches for efficiency - Groups domains into batches of 10 to optimize API costs and performance AI-powered research - Uses Perplexity AI to find comprehensive business data for each company Parses structured data - Converts AI responses into clean, structured JSON format Updates spreadsheet - Saves enriched data and marks domains as processed to prevent duplicates Requirements Perplexity AI API key (Get one here) Google Sheets API access (OAuth2 credentials) Google Sheets template - Make a copy of this template How to set up Make a copy of the template Google Sheet and update the document ID in both Google Sheets nodes Configure Perplexity AI credentials in the HTTP Request node Set up Google Sheets OAuth2 authentication Add your company domains to the "domain" column in the Data tab Leave the "processed" column empty for new domains Run the workflow using the manual trigger How to customize the workflow Change target region: Modify the AI prompt to research addresses in different countries Adjust batch size: Change the batch size in the "Batch Process Domains" node (smaller batches = lower costs) Add custom fields: Extend the AI prompt and Google Sheets mapping to include additional data points Automate execution: Replace Manual Trigger with Schedule Trigger for regular processing Filter criteria: Modify the Google Sheets filter to process specific subsets of domains Output data includes Complete company address (street, city, state, postal code, country) International phone number format Latest employee count and annual revenue (USD) Industry classification LinkedIn company URL Reliable source URL for verification Processing status tracking

Naveen ChoudharyBy Naveen Choudhary
511

Validate and enrich JotForm leads with Reoon email verification and Apollo in sheets

Description This workflow automatically validates and enriches contact form submissions from JotForm, ensuring you only store high-quality leads with complete business information. Who's it for Marketing teams, sales professionals, and business owners who collect leads through forms and want to automatically verify email validity and enrich contact data before adding them to their CRM or database. What it does When someone submits a contact form on JotForm, this workflow: Captures the submission data (name, email, phone, message) Creates a new record in Google Sheets Verifies the email address using Reoon's email verification API Saves validation metrics (deliverability, spam trap detection, disposable email check) Filters out unsafe or invalid emails Enriches validated contacts with professional data from Apollo (LinkedIn URL, job title, company name) Updates the Google Sheet with enriched information How it works JotForm Trigger - Listens for new form submissions Initial Storage - Creates a contact record in Google Sheets with basic form data Email Verification - Sends email to Reoon API for comprehensive validation Save Verification Results - Updates the sheet with email quality metrics Safety Filter - Only passes emails marked as "safe" to enrichment Contact Enrichment - Queries Apollo API to find professional information Final Update - Saves enriched data (LinkedIn, title, company) back to the sheet Requirements Services you'll need: JotForm account (free plan available) Reoon Email Verifier API access Apollo.io account for contact enrichment Google account for Google Sheets access Setup steps: Copy this Google Sheet template (make your own copy) Create a JotForm with fields: First Name, Last Name, E-mail, Phone, Message Get your Reoon API key from their dashboard Get your Apollo.io API key from account settings Connect your Google Sheets account in n8n How to customize Change verification level: Modify the "mode" parameter in the Reoon API call (options: quick, power) Adjust filtering criteria: Update the IF node to filter by different email quality metrics Add more enrichment: Apollo returns additional data fields you can map to your sheet Notification layer: Add a Send Email or Slack node after enrichment to notify your team of high-quality leads CRM integration: Replace or supplement Google Sheets with HubSpot, Salesforce, or Pipedrive nodes --- This workflow provides a complete lead qualification pipeline that saves time and ensures only high-quality, validated contacts make it into your database with enriched professional information.

Naveen ChoudharyBy Naveen Choudhary
177
All templates loaded