🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Brave Search + Google Sheets for clean prospect lists

Lisa Granqvist Partner Workflow Automation Expert

You know the feeling. You search, open 12 tabs, copy a name, guess the website, paste it into a sheet, then realize half the “official sites” are directories.

This Brave Sheets prospects automation hits SDRs first, but agency owners building lists for clients and marketers running outbound campaigns feel the drag too. Instead of spending a morning cleaning messy search results, you get a tidy prospect list with business names and real websites ready for outreach.

Below is how the workflow works, what you need to run it, and what “clean” really looks like when the list lands in Google Sheets.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Brave Search + Google Sheets for clean prospect lists

The Problem: Prospecting turns into tab chaos

Finding prospects sounds simple until you try to do it consistently. One search turns into ten. You collect business names from results pages, then hunt for the real website (not Yelp, not a Facebook page, not a listing site). After that comes the cleanup: duplicates, weird formatting, missing URLs, and “companies” that aren’t actually a fit. The worst part is the mental load. You’re constantly context switching, and by the time the sheet is usable, you’re already tired of the outreach you still have to do.

It adds up fast. Here’s where it breaks down in real life:

  • You spend about 2 hours building a list of 30 prospects, and another hour cleaning it.
  • Directory results sneak in, so your outreach goes to the wrong URLs or dead pages.
  • “Relevance” becomes a guess, which means you either over-filter and miss good leads, or under-filter and waste time later.
  • The same research gets repeated by different people because the process lives in tabs, not in a repeatable workflow.

The Solution: An AI prospecting agent that outputs a clean list

This workflow runs as an AI-powered “prospect discovery” tool inside n8n. You feed it four things: a business type, a location, how many prospects you want, and optional keywords. From there, an AI agent (powered by Google Gemini in the workflow) uses Brave Search plus a couple of supporting search and validation tools to find candidate businesses, confirm they’re relevant, and return a structured list with business_name and website_url. Instead of a pile of copied snippets, you get clean JSON that can be written straight into Google Sheets or passed into a larger outbound system. Frankly, it’s the part of prospecting you shouldn’t be doing by hand anymore.

The workflow starts when another n8n workflow calls it (or you run it manually with an Execute Workflow Trigger) and passes the inputs. The agent searches broadly first, then does quick spot-checking with local lookup and lightweight page scanning when it’s unsure. Finally, it outputs a neat list you can save and use immediately.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you need 40 prospects for “artisan bakery” in “Portland, Oregon,” plus the keyword “gluten-free.” Manually, you might spend about 5 minutes per prospect between searching, opening results, finding the real site, and pasting into Sheets. That’s roughly 3 hours, and you still have cleanup. With this workflow, you submit the inputs once (about 5 minutes), let the agent run its searches and quick validations (often 10–20 minutes), and you get a structured list you can drop into Google Sheets right away.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Brave Search for broad prospect discovery queries.
  • Google Gemini to drive the agent and search tool.
  • Jina AI for fast webpage keyword validation.
  • Google Sheets to store clean prospect rows.
  • Google Gemini API key (get it from Google AI Studio or your Google Cloud project).

Skill level: Intermediate. You’ll be connecting credentials and adjusting a system prompt, but you won’t be writing code.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

You trigger it with a target profile. Another n8n workflow calls this one (or you run it directly) and passes business type, location, desired count, and any extra keywords.

The agent searches in a few different ways. It uses Brave Web Search for breadth, then Gemini Search for more context-aware discovery when basic results aren’t enough.

Quick validation happens only when needed. Brave Local Search can confirm local presence or help locate an official site, and Jina can scan page content for keywords to avoid obvious mismatches.

A clean list comes out the other end. The workflow outputs a structured array of prospects (business name + website URL) that you can write into Google Sheets, store in Drive, or feed into an outreach workflow.

You can easily modify the matching strictness and the output fields to fit your sales process. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the MCP Trigger

This workflow starts from an MCP trigger and can be invoked by other workflows via a separate trigger. Set up both entry points so the prospecting system can be called externally or as a sub-workflow.

  1. Add the MCP Prospect Trigger node and set Path to 5de5d0b6-7f58-47df-8d2c-4096f61212c8.
  2. Connect Run Prospect Tool as an AI tool on MCP Prospect Trigger (this tool is used when the trigger receives a business-type prompt).
  3. Add the Discovery Workflow Trigger node to accept workflow inputs: business_type, location_query, desired_num_prospects, and additional_keywords.
  4. Ensure the execution flow follows Discovery Workflow TriggerProspect Analysis Agent.

Step 2: Connect Primary AI & Search Credentials

Prospect discovery relies on Gemini and external search tools. Connect all required credentials so the agent can run searches and content extraction.

  1. Open Gemini Chat Engine and select the model models/gemini-2.5-flash-preview-05-20.
  2. Credential Required: Connect your googlePalmApi credentials in Gemini Chat Engine (this is the language model for Prospect Analysis Agent).
  3. Credential Required: Connect your geminiSearchApi credentials in Gemini Prospect Search (used as a tool by Prospect Analysis Agent).
  4. Credential Required: Connect your mcpClientHttpApi credentials in both Brave Web Lookup and Brave Local Lookup (AI tools for Prospect Analysis Agent).
  5. Credential Required: Connect your jinaAiApi credentials in Jina Page Extractor (AI tool for Prospect Analysis Agent).

Step 3: Set Up the Prospect Analysis Agent

The core logic runs in Prospect Analysis Agent, which uses the input fields to generate a structured JSON list of prospects.

  1. In Prospect Analysis Agent, set Text to:
    =Based on the provided business type, location, desired number of prospects, and any additional keywords, identify a list of potential business prospects including their names and website URLs. business_type: {{ $('Discovery Workflow Trigger').item.json.business_type || 'Not specified' }} location_query: {{ $('Discovery Workflow Trigger').item.json.location_query || 'Not specified' }} desired_num_prospects: {{ Number($('Discovery Workflow Trigger').item.json.desired_num_prospects) || 1 }} additional_keywords: {{ $('Discovery Workflow Trigger').item.json.additional_keywords || 'None' }}
  2. Confirm Prompt Type is set to Define and keep the detailed system message intact for structured JSON output.
  3. Verify that Gemini Chat Engine is connected as the language model for Prospect Analysis Agent.

Step 4: Configure AI Tools & Memory

These tool nodes provide search, validation, and scraping capabilities for the agent. They are connected as AI tools to Prospect Analysis Agent.

  1. In Window Memory Buffer, set Session ID Type to Custom Key and Session Key to ={{ $execution.id }}.
  2. In Brave Web Lookup, keep Tool Name as brave_web_search and set Tool Parameters to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Tool_Parameters', `Generate a JSON object with the parameters for the 'brave_web_search' tool. The tool expects a JSON object with the following keys: - "query": (string, **required**) The search terms designed to find multiple examples of a business type in a given area. Examples: "list of crane hire companies in Newcastle NSW", "artisan bakeries Sydney CBD reviews", "marketing agencies California specializing in tech startups". - "count": (number, optional) Number of results. For prospect discovery, a higher count (e.g., 10-20) might be useful to cast a wider net. - "offset": (number, optional) For pagination if analyzing multiple pages of results. Example: {"query": "top rated plumbing services in Bristol UK", "count": 15}`, 'json') }}.
  3. In Brave Local Lookup, keep Tool Name as brave_local_search and set Tool Parameters to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Tool_Parameters', `Generate a JSON object with the parameters for the 'brave_local_search' tool. The tool expects a JSON object with the following keys: - "query": (string, **required**) The search terms, typically a specific business name and its suspected city/area, to get a quick local listing check. Example: "ABC Cranes Newcastle", "The Corner Bakery Springfield". - "count": (number, optional) Usually 1 or a small number (e.g., 3) is sufficient, as you're checking a specific entity. Example: {"query": "Summit Logistics, Dallas TX", "count": 1}`, 'json') }}.
  4. In Jina Page Extractor, set URL to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('URL', `Provide the full URL of a potential prospect's homepage or 'About Us' page. Use this only if you need to quickly verify from the website's text if the business matches the desired type before finalizing it as a prospect. Example: 'https://potentialprospect.com/about'.`, 'string') }}.
  5. In Gemini Prospect Search, set Model to gemini-2.5-flash-preview-05-20, Query to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Query', `Formulate a search query aimed at discovering multiple businesses of a certain type within a geographical area or industry. Examples: "Find crane hire companies operating in Newcastle, Australia", "List software development agencies in London focusing on fintech", "What are some popular artisan bakeries in San Francisco's Mission District?".`, 'string') }}, Organization to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Organization_Context', `(Optional) Provide an industry or general business type as context if not already clear in the main query. Example: 'logistics companies', 'eco-friendly retail'. Less about a specific business name here, more about the category.`, 'string') }}, and Restrict URLs to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Restrict_Search_to_URLs', `(Optional and use sparingly for discovery) Provide a comma-separated list of specific website URLs ONLY if you are trying to find businesses listed on a known, relevant directory (e.g., 'yellowpages.com.au', 'clutch.co'). Generally, for broad discovery, leave blank.`, 'string') }}.

Tip: These AI tools are wired to Prospect Analysis Agent. Ensure each tool node is connected on the agent’s AI tool ports so the agent can invoke them during discovery.

Step 5: Configure the Run Prospect Tool (Sub-Workflow Caller)

Run Prospect Tool calls a specialized prospecting workflow based on user input. This is used by MCP Prospect Trigger when requests are received.

  1. In Run Prospect Tool, select the target workflow in Workflow ID (currently empty).
  2. Keep the Description as the provided text beginning with =This tool calls the specialized "Prospect Discovery" AI agent....
  3. Under Workflow Inputs, map fields to these expressions:
    business_type: ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('business_type', `Specify the category or type of business to search for. This should be derived from the user's 'Ideal Referral' input when it describes a general business category. Examples: "crane hire company", "artisan bakery", "SaaS provider for HR", "boutique marketing agency".`, 'string') }}
    location_query: ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('location_query', `Provide a description of the target geographical area for the prospect search. This should be inferred from the user's own business location (e.g., if the user is in Newcastle, search for prospects in Newcastle or surrounding areas, unless otherwise specified). Examples: "Newcastle NSW Australia", "downtown San Francisco", "Midlands UK", "businesses operating primarily online globally".`, 'string') }}
    additional_keywords: ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('additional_keywords', `(Optional) Include any other relevant terms or specializations mentioned by the user for their ideal referral, or that you infer might refine the search for the business type. Examples: "specializing in commercial projects", "eco-friendly products", "B2B focus", "serves small businesses". Leave empty if no specific refinements are needed beyond type and location.`, 'string') }}
    desired_num_prospects: ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('desired_num_prospects', `Set the target number of unique prospect examples to find. A small number (e.g., 2 or 3) is usually sufficient at this stage, as the goal is to get a few good examples that can then be used to craft a more targeted referral ask or for further specific research.`, 'string') }}

⚠️ Common Pitfall: If Workflow ID in Run Prospect Tool is left blank, the MCP trigger will fail to call the prospecting workflow.

Step 6: Test and Activate Your Workflow

Validate both trigger paths to confirm the agent returns a structured JSON array of prospects.

  1. Click Execute Workflow on Discovery Workflow Trigger and provide sample inputs for business_type, location_query, desired_num_prospects, and additional_keywords.
  2. Verify that Prospect Analysis Agent returns a JSON array with business_name, website_url, and contact details as specified in its system message.
  3. Send a test request to MCP Prospect Trigger to confirm Run Prospect Tool routes the request to the prospect discovery workflow.
  4. When results look correct, toggle the workflow to Active to enable production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Gemini credentials can expire or be scoped incorrectly. If things break, check the credential setup in n8n and your Google Cloud/AI Studio key status first.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.

Frequently Asked Questions

How long does it take to set up this Brave Sheets prospects automation?

About an hour if you already have your API keys.

Do I need coding skills to automate prospect list building?

No. You’ll connect credentials and tweak the agent prompt, but the logic is already built.

Is n8n free to use for this Brave Sheets prospects workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Google Gemini and any other tool usage (usually a few cents per run for modest lists).

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I customize this Brave Sheets prospects workflow for a different niche or stricter matching?

Yes, and you should. The quickest win is editing the system prompt inside the Prospect Analysis Agent to change how strict it is about keywords, location signals, and what counts as an “official website.” You can also swap the search mix (more Brave, more Gemini Search) and change the output fields to include things like phone number, category tags, or a short “why this is a fit” note.

Why is my Brave Search connection failing in this workflow?

Usually it’s credentials or permissions in the MCP/Brave tool setup, not the workflow logic. Re-check the Brave Search credentials in n8n, confirm the tool has access to run searches, and try a single simple query to confirm the service is responding. If it works sometimes and fails in bulk, you may be hitting rate limits, so reduce batch size and add a small delay between searches.

How many prospects can this Brave Sheets prospects automation handle?

A typical run is 10–100 prospects per request, and you can loop it for more. On n8n Cloud, the main limit is monthly executions; on self-hosted, it mostly comes down to your server and how fast the external search tools respond. In practice, most teams run this a few times a week for fresh lists rather than trying to scrape thousands in one go.

Is this Brave Sheets prospects automation better than using Zapier or Make?

Often, yes. This workflow leans on an agent that can choose between multiple tools (Brave search, Gemini search, selective page scanning) and apply conditional logic, which is where Zapier/Make can start to feel cramped or expensive. n8n also gives you self-hosting, so you’re not paying more just because you want to run bigger batches. That said, if you only want “search once, paste one row,” Zapier or Make can be faster to set up. Talk to an automation expert if you want help picking the right approach for your outbound volume.

Clean prospect lists are the starting line for revenue, not the whole race. Set this up once, and your team stops paying the “tab tax” every time you need new leads.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal