Guide

Auto-search and enrich leads in Google Sheets

Time to build: 3 min
Difficulty: Medium
Tools: Google Apps Script ▪ Google Sheets ▪ Lusha

This template lets you find and enrich leads directly in Google Sheets, with no extra automation tool. You set your ICP filters once, pull matching contacts from Lusha into the sheet, and then enrich the whole batch or only the rows you pick. Enrichment status and progress are tracked right in the sheet.

Why search and enrich leads in Google Sheets?

Building a prospect list usually means repeating the same steps: search, export a CSV, import it, enrich it, track what’s done, and start over. Every handoff slows things down and creates duplicates.

This template keeps the whole process in one sheet: search, review, enrich, and track. RevOps stays in control, SDRs get lead data they can use right away, and you only spend credits on the contacts you actually want.

What this workflow does

  • Pulls contacts that match your ICP filters into the sheet, in batches (for example, 40 at a time)
  • Enriches contacts with verified emails, phone numbers, LinkedIn URL, seniority, and department
  • Tracks progress in the sheet, including request ID, contact ID, page, and enrichment status
  • Adds an “Enrich Row” button, so you can enrich only selected contacts and save credits

How to set it up

01

Create your Google Sheet

  • Create a new sheet
  • Name it Sheet1 (or update the SHEET_NAME variable in the script)
02

Add the Apps Script

  • Go to Extensions → Apps Script
  • Replace any existing code with the provided script from the tutorial/template
  • Save
03

Add your Lusha API key

In the script, set:

API_KEY = 'YOUR API KEY HERE'
04

Customize your ICP filters

In the script’s payload for populateContacts(), update filters to match your ICP (examples include location + company size). This controls who gets pulled into the sheet.

05

Run Search → then Enrich

Back in the sheet, use the new menu: Lusha Actions

  • Search Contacts → populates the sheet with contacts from your filters
  • Enrich Contacts → enriches those contacts with deeper verified fields

Note: Search + Enrich run in batches (e.g., 40). Enrichment consumes credits when triggered.

06

Add the “Enrich Row” button

If you want on-demand enrichment for selected rows:

  • Insert → Drawing → add a button shape labeled “Enrich Row”
  • Assign script: onEnrichRowClick

Now you can enrich only the selected contacts instead of the whole batch.

What to do next

  • Add “ICP fit” columns (fit score, persona, priority) to qualify before enriching
  • Create a “Ready to import” view: filter for Enriched = Yes + required fields present
  • Prevent duplicates: add a check on email/LinkedIn before appending new contacts
  • Route to systems: once enriched, push rows into HubSpot, another CRM, or outreach tools via Zapier/Workato
  • Optimize credit usage: default to batch search, then enrich only the rows you actually want to action

The goal: Stop treating Google Sheets like a static list. Turn it into a controlled prospecting workflow where you can generate leads, enrich only what matters, and track progress, all with verified Lusha data.

FAQ

  • Add this Apps Script to your sheet, paste in your Lusha API key, and use the Lusha Actions menu to search for contacts and enrich them.

  • No. Everything runs in Google Apps Script, which is built into Google Sheets.

  • You don’t need to write code, but you will paste a script and edit a few values, like your API key and ICP filters.

  • Search first, review the list, and then enrich only the rows you want using the “Enrich Row” button. Credits are used only when you run enrichment.

  • Yes. Once the rows are enriched, you can send them to HubSpot, another CRM, or an outreach tool using Zapier or Workato.

Ready to run this?

One data connection. Works in Claude, ChatGPT, your CRM, or any agent you build.