Back to Catalog

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

Naveen ChoudharyNaveen Choudhary
556 views
2/3/2026
Official Page

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

  1. Loads unprocessed domains from your Google Sheets database
  2. Searches ZoomInfo using targeted queries via Serper API for each domain
  3. Validates search results and extracts relevant ZoomInfo profile URLs
  4. Scrapes company pages using Oxylabs to bypass anti-scraping protection
  5. Extracts structured data including company details, address, revenue, and employee count
  6. Updates Google Sheets with enriched company information
  7. Tracks processing status to prevent reprocessing the same domains

Requirements

How to set up

  1. Make a copy of the Google Sheets template - Click here to copy the template to your Google Drive
  2. 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
  3. Set up Google Sheets authentication using OAuth2
  4. Update the Google Sheets document ID in all Google Sheets nodes to point to your copied template
  5. Add your domain list to the sheet with 'processed' column empty or false
  6. 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.

Automate Company Data Enrichment with ZoomInfo, Serper, & Oxylabs to Google Sheets

This n8n workflow automates the process of enriching company data by leveraging ZoomInfo, Serper (for Google Search), and Oxylabs (for web scraping) to gather information and then consolidate it into a Google Sheet. It's designed to streamline lead generation, market research, or any process requiring comprehensive company profiles.

What it does

This workflow performs the following key steps:

  1. Triggers Manually: The workflow is initiated manually, allowing you to control when the enrichment process begins.
  2. Reads Company Data from Google Sheets: It fetches a list of companies from a specified Google Sheet, providing the initial data points for enrichment.
  3. Loops Over Each Company: For each company retrieved from the Google Sheet, the workflow proceeds to enrich its data.
  4. Enriches Data with ZoomInfo: It queries ZoomInfo to retrieve detailed company information.
  5. Performs Google Search with Serper: If additional information is needed or as a secondary source, it uses Serper to perform a Google search for the company.
  6. Scrapes Web Data with Oxylabs: It then uses Oxylabs to scrape relevant data from websites identified through the Google search or other means, extracting specific HTML content.
  7. Processes Scraped HTML with Code: A Code node is used to parse and extract structured data from the raw HTML content obtained from Oxylabs, preparing it for storage.
  8. Conditionally Processes Data: An If node likely introduces conditional logic, allowing the workflow to branch based on whether certain data was found or specific criteria are met during the enrichment process.
  9. Waits for a Specified Duration: A Wait node is included, likely to introduce a delay between API calls or processing steps, which can be useful for respecting rate limits or allowing external systems to process requests.
  10. Updates Google Sheets: Finally, all the enriched and processed data is written back to a Google Sheet, providing a centralized and updated repository of company information.

Prerequisites/Requirements

To use this workflow, you will need:

  • n8n Instance: A running instance of n8n.
  • Google Sheets Account: With a spreadsheet containing initial company data and permissions for n8n to read and write.
  • ZoomInfo API Key: For accessing company data from ZoomInfo.
  • Serper API Key: For performing Google searches.
  • Oxylabs Account/Credentials: For web scraping capabilities.

Setup/Usage

  1. Import the workflow: Download the provided JSON and import it into your n8n instance.
  2. Configure Credentials:
    • Set up your Google Sheets credentials (OAuth2 recommended) for the "Google Sheets" node.
    • Configure HTTP Request nodes (not explicitly shown but implied by ZoomInfo, Serper, Oxylabs) with your respective API keys or authentication methods.
  3. Adjust Google Sheets Node: Update the "Google Sheets" node to point to your specific spreadsheet and sheet name where company data is located and where results should be written.
  4. Customize Data Extraction:
    • Review and adjust the "HTTP Request" nodes for ZoomInfo, Serper, and Oxylabs to ensure they are making the correct API calls and targeting the right data.
    • Modify the "HTML" node to define the specific CSS selectors or XPath expressions needed to extract the desired data from the scraped web pages.
    • Update the "Code" node to refine the parsing logic for the extracted HTML, if necessary.
  5. Configure Conditional Logic: Adjust the "If" node's conditions to match your specific business rules for data processing and routing.
  6. Set Wait Times: Modify the "Wait" node's duration if you need to adjust the delay between operations.
  7. Execute Workflow: Click "Execute Workflow" to run the process manually.

Related Templates

Generate AI website legal and accessibility compliance reports with OpenAI, Gmail and Google Drive

Automated Legal & Accessibility Website Compliance Checker Description Automate website compliance checks in minutes using AI-powered analysis. This workflow scans any website for essential legal and accessibility requirements, generates a professional compliance report, delivers it as a PDF, and stores it securely β€” helping teams identify risks early and stay audit-ready with zero manual effort. --- What This Workflow Does Transforms manual website compliance reviews into a single automated flow: 🌐 Capture Website Details – Accepts website URL, company name, and email via webhook. πŸ“₯ Fetch Website Content – Securely downloads and cleans website HTML for analysis. 🧠 AI Compliance Analysis – Uses AI to audit the site against key compliance standards. πŸ“Š Scoring & Insights – Calculates an overall compliance score and highlights gaps. πŸ“„ Generate Visual Report – Builds a detailed, easy-to-read HTML compliance report. πŸ–¨οΈ Convert to PDF – Converts the report into a downloadable, shareable PDF. πŸ“§ Email Delivery – Sends the compliance report directly to the provided email. ☁️ Secure Storage – Saves the PDF report to Google Drive for records and audits. --- Key Features πŸ€– AI-Powered Compliance Audits – Automatically checks privacy, cookies, accessibility, SSL, and more. πŸ“Š Compliance Scoring – Clear numerical scores and status indicators for each section. πŸ“„ Professional PDF Reports – Branded, structured reports suitable for clients or audits. βš™οΈ End-to-End Automation – From URL submission to email delivery without manual steps. πŸ“§ Instant Email Notifications – Reports delivered automatically to stakeholders. ☁️ Google Drive Backup – Centralized storage for compliance history and documentation. --- Compliance Checks Included βœ”οΈ Privacy Policy presence & indicators βœ”οΈ Cookie consent mechanisms βœ”οΈ Terms of Service availability βœ”οΈ Accessibility (WCAG-related indicators) βœ”οΈ Contact information visibility βœ”οΈ SSL / HTTPS verification βœ”οΈ Critical issues & improvement recommendations --- Perfect For 🏒 Startups & SaaS Companies – Quickly assess website compliance before launch. 🧾 Agencies & Consultants – Deliver automated compliance audits to clients. βš–οΈ Legal & Compliance Teams – Speed up preliminary compliance checks. πŸ’» Freelancers & Web Developers – Validate client websites post-deployment. πŸ“ˆ Operations Teams – Maintain ongoing compliance documentation effortlessly. --- What You’ll Need Required Integrations 🌐 Webhook – Receive website URL and user details. πŸ€– OpenAI – Analyze website HTML for compliance indicators. πŸ“„ HTMLCSS to PDF – Convert compliance report into a PDF. πŸ“§ Gmail – Send compliance report via email. ☁️ Google Drive – Store generated compliance reports. 🌍 HTTP Request – Fetch website HTML content (no authentication required). --- Optional Enhancements πŸ“Š Compliance Dashboard – Connect Google Drive or logs to Looker Studio. 🌍 Multi-Website Scans – Extend webhook to accept bulk URLs. πŸ•’ Scheduled Scans – Run periodic compliance checks automatically. πŸ“¨ Slack Alerts – Send compliance summaries to internal channels. πŸ“ Custom Branding – Adjust HTML styling, logos, and colors. --- Quick Start 1️⃣ Import the workflow JSON into your n8n workspace. 2️⃣ Activate the webhook and copy the endpoint URL. 3️⃣ Connect OpenAI, Gmail, Google Drive, and HTMLCSS to PDF credentials. 4️⃣ Send a POST request with website URL, company name, and email. 5️⃣ Review the emailed PDF compliance report. 6️⃣ Check Google Drive for stored audit copies. 7️⃣ Activate the workflow for production use. --- Expected Results ⚑ Minutes Instead of Hours – Instant compliance assessments. πŸ€– AI Accuracy – Consistent, structured compliance analysis. πŸ“ˆ Risk Visibility – Early detection of legal and accessibility gaps. πŸ“„ Audit-Ready Reports – Clean, shareable documentation. ☁️ Centralized Storage – Every scan archived automatically. --- Workflow Structure 🌐 Webhook Trigger ↓ πŸ“₯ Fetch Website HTML ↓ 🧹 Clean & Prepare Content ↓ 🧠 AI Compliance Analysis ↓ πŸ“Š Parse Results ↓ πŸ“„ Generate HTML Report ↓ πŸ–¨οΈ Convert to PDF ↓ πŸ“§ Email Report ↓ ☁️ Save to Google Drive --- Ready to Automate Website Compliance? Import this template and turn any website URL into a complete compliance report β€” automatically, consistently, and professionally. Perfect for audits, clients, and peace of mind. βœ… ---

Jitesh DugarBy Jitesh Dugar
31

WhatsApp group chat with your vector database β€” no Facebook Business required

Enable smart, real-time answers in your WhatsApp groups using a custom webhook, Pinecone vector database, and no Facebook Business setup. > 🟑 Note: This template uses a custom WhatsApp webhook. It does not use the official WhatsApp Business API. --- πŸ‘₯ Who is this for? This workflow is designed for individuals and teams who want to enable smart WhatsApp group automation β€” without going through Meta’s official WhatsApp Business API. Ideal for small businesses, internal teams, communities, and personal power users. --- ❓ What problem is this solving? Setting up WhatsApp bots with intelligent responses often requires approval from Meta and a verified business account. This workflow removes those barriers by using a self-hosted webhook to handle incoming messages and respond using a document-trained AI via Pinecone. --- βš™οΈ What this workflow does Connects a regular WhatsApp number to a custom webhook Adds the bot to any group chat (it stays silent unless mentioned) Indexes documents from Google Drive into Pinecone Responds with intelligent, context-aware answers from your custom knowledge base Auto-updates its knowledge every minute as the document changes --- πŸ› οΈ Setup Step 1: Connect Google Drive Set up your Google Drive credentials in n8n Step 2: Configure Pinecone Create an index in Pinecone Dimension: 1536 Select this index in both Pinecone nodes Click Test Workflow to ingest your document into Pinecone Step 3: Get Access to the WhatsApp Webhook Fill out this form to request access You’ll receive a WhatsApp confirmation for linking Step 4: Test WhatsApp Integration βœ… One-on-one test: Send a message from another number πŸ‘₯ Group test: Add the bot to a group; it will only respond when tagged --- 🧩 How to customize this workflow Modify the system prompt inside the AI agent node to control tone and behavior Update the connected Google Doc to match your specific domain (e.g. FAQs, SOPs, product manuals) Adjust the Pinecone sync frequency if you want updates more or less often --- πŸ“š Use cases Customer Support: Instant, intelligent replies in WhatsApp without live agents Team Knowledge Bot: Tag the bot for quick access to SOPs and internal docs Community Groups: Automate common questions while keeping noise low Personal AI Assistant: A WhatsApp chatbot trained on your notes and files --- πŸ“ Sticky Note Suggestion πŸ’¬ What this template does: > Enables an AI bot in your WhatsApp group that answers questions based on a Google Doc you provide. It uses a custom webhook, Google Drive, and Pinecone. πŸ”§ Requirements: > Google Drive account > Pinecone account with an index (dimension 1536) > Access to the custom WhatsApp webhook (see setup steps)

Cecilia MukimaBy Cecilia Mukima
1606

Create an AI Telegram bot using Google Drive, Qdrant, and OpenAI GPT-4.1

How it works This workflow creates an intelligent Telegram bot with a knowledge base powered by Qdrant vector database. The bot automatically processes documents uploaded to Google Drive, stores them as embeddings, and uses this knowledge to answer questions in Telegram. It consists of two independent flows: document processing (Google Drive β†’ Qdrant) and chat interaction (Telegram β†’ AI Agent β†’ Telegram). Step-by-step Document Processing Flow: New File Trigger: The workflow starts when the New File Trigger node detects a new file created in the specified Google Drive folder (polling every 15 minutes). Download File: The Download File (Google Drive) node downloads the detected file from Google Drive. Text Splitting: The Split Text into Chunks node splits the document text into chunks of 3000 characters with 300 character overlap for optimal embedding. Load Document Data: The Load Document Data node processes the binary file data and prepares it for vectorization. OpenAI Embeddings: The OpenAI Embeddings node generates vector embeddings for each text chunk. Insert into Qdrant: The Insert into Qdrant node stores the embeddings in the Qdrant vector database collection. Move to Processed Folder: After successful processing, the Move to Processed Folder (Google Drive) node moves the file to a "Qdrant Ready" folder to keep files organized. Telegram Chat Flow: Telegram Message Trigger: The Telegram Message Trigger node receives new messages from the Telegram bot. Filter Authorized User: The Filter Authorized User node checks if the message is from an authorized chat ID (26899549) to restrict bot access. AI Agent Processing: The AI Agent receives the user's message text and processes it using the fine-tuned GPT-4.1 model with access to the Qdrant knowledge base tool. Qdrant Knowledge Base: The Qdrant Knowledge Base node retrieves relevant information from the vector database to provide context for the AI agent's responses. Conversation Memory: The Conversation Memory node maintains conversation history per chat ID, allowing the bot to remember context. Send Response to Telegram: The Send Response to Telegram node sends the AI-generated response back to the user in Telegram. Set up steps Estimated set up time: 15 minutes Google Drive Setup: Add your Google Drive OAuth2 credentials to the New File Trigger, Download File, and Move to Processed Folder nodes. Create two folders in your Google Drive: one for incoming files and one for processed files. Copy the folder IDs from the URLs and update them in the New File Trigger (folderToWatch) and Move to Processed Folder (folderId) nodes. Qdrant Setup: Add your Qdrant API credentials to the Insert into Qdrant and Qdrant Knowledge Base nodes. Create a collection in your Qdrant instance (e.g., "Test-youtube-adept-ecom"). Update the collection name in both Qdrant nodes. OpenAI Setup: Add your OpenAI API credentials to the OpenAI Chat Model and OpenAI Embeddings nodes. (Optional) Replace the fine-tuned model ID in OpenAI Chat Model with your own model or use a standard model like gpt-4-turbo. Telegram Setup: Create a Telegram bot via @BotFather and obtain the bot token. Add your Telegram bot credentials to the Telegram Message Trigger and Send Response to Telegram nodes. Update the authorized chat ID in the Filter Authorized User node (replace 26899549 with your Telegram user ID). Customize System Prompt (Optional): Modify the system message in the AI Agent node to customize your bot's personality and behavior. The current prompt is configured for an n8n automation expert creating social media content. Activate the Workflow: Toggle "Active" in the top-right to enable both the Google Drive trigger and Telegram trigger. Upload a document to your Google Drive folder to test the document processing flow. Send a message to your Telegram bot to test the chat interaction flow.

KonstantinBy Konstantin
167