🔓 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

Perplexity to Google Sheets, Dream 100 prospects ready

Lisa Granqvist Partner Workflow Automation Expert

Prospecting research gets messy fast. You open 20 tabs, copy names into a doc, lose half the sources, then still aren’t sure you’re targeting the right companies.

This Perplexity Sheets automation hits marketers building outbound lists hardest, but founders validating a niche and consultants hunting “right fit” accounts feel it too. You give it a plain-English ICP brief and it gives you a usable Dream 100 list in a Google Sheet.

Below you’ll see how the workflow works, what you’ll need, what outcomes to expect, and the gotchas that usually trip people up.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Perplexity to Google Sheets, Dream 100 prospects ready

The Problem: Dream 100 research turns into chaos

Creating a Dream 100 list sounds simple until you actually do it. You start with an ICP in your head, then you try to turn that into real companies and decision-makers, and suddenly it’s 2 hours later with a half-finished spreadsheet and a bunch of “maybe” prospects. The worst part is the mental load. You keep re-checking the same criteria, second-guessing what “ideal” means, and reformatting everything so it’s shareable. A list that should help you focus ends up feeling like busywork.

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

  • You waste about 5 minutes per prospect just finding a credible source, copying details, and cleaning the formatting.
  • As you refine your ICP, your earlier rows become outdated, so you redo research you already “finished.”
  • Everyone ends up with their own version of the list in Notion, Sheets, or a CRM import file, which makes collaboration painful.
  • Manual research encourages shortcuts, so you settle for low-quality prospects that look relevant but won’t convert.

The Solution: Turn an ICP brief into a Dream 100 sheet

This workflow turns your ideal customer description into a structured prospecting pipeline that ends in a clean Google Sheet. It starts with a chat-style intake (in n8n chat, and optionally Slack) where you describe your business and your “dream customer” in normal English. If your prompt is missing details, the agent asks clarifying questions and remembers what you already told it, so you don’t repeat yourself. Once the criteria are solid, the workflow generates targeted research prompts, sends them to Perplexity to search the web, then uses an LLM to format the results into consistent rows. Finally, it upserts those records into a Google Sheets template, so you can share it, filter it, and reuse the structure for the next niche.

The workflow kicks off from a chat intake message. The agent refines your criteria using session memory, then Perplexity gathers prospects from the web. After that, Google Sheets becomes the single source of truth with the latest Dream 100 entries.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you want a Dream 100 list of B2B SaaS companies in a specific niche. Manually, 100 prospects at roughly 5 minutes each is about 8 hours, and that’s before cleanup and deduping. With this workflow, you spend about 10 minutes describing your ICP and answering a couple of follow-ups, then wait while Perplexity research and formatting runs (often around 20 minutes). You’re done with the first pass in under an hour, and the output is already in Google Sheets.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets to store and share the Dream 100.
  • Perplexity for web research and prospect discovery.
  • OpenRouter API key (get it from your OpenRouter dashboard)

Skill level: Intermediate. You’ll connect a few accounts, paste API keys, and copy a Google Sheets template.

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

How It Works

Chat intake starts the run. You send a short description of your business and the kind of company you want on your Dream 100 list. This can happen through the built-in chat trigger, and there are optional Slack nodes if you want to run it from Slack.

The agent checks if your brief is “good enough.” A switch routes valid prompts forward, and session memory keeps context across the conversation so the agent can ask for missing details without starting over.

Perplexity researches, then the LLM formats. The workflow generates a set of search prompts, calls Perplexity as the research tool, then uses the chat model to turn messy text into consistent fields you can actually sort and use.

Google Sheets becomes the output. The workflow checks the template’s first and last rows, decides whether the sheet is empty or complete, then upserts records so your Dream 100 stays tidy instead of turning into duplicates and half-rows.

You can easily modify the prospect fields to match your outreach process based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Chat Trigger

This workflow begins when a user sends a chat message into the system.

  1. Add and open Chat Intake Trigger.
  2. Keep Options → Response Mode set to responseNodes (already configured).
  3. Connect Chat Intake Trigger to Capture Chat Input as shown in the flow.

Step 2: Capture and Route the Incoming Message

These nodes store the user message and route it into the research flow.

  1. In Capture Chat Input, set the assignment User Chat Message to {{ $json.chatInput }}.
  2. Open Route Valid Prompt and keep both rules that check non-empty values: {{ $json['Retrigger Chat'] }} and {{ $json['User Chat Message'] }}.
  3. Ensure Route Valid Prompt outputs into Research Orchestrator (both output routes connect to the same node).
  4. In Repeat Prompt Builder, keep Retrigger Chat set to the full prompt string that requests the next batch of 10 prospects.

Step 3: Set Up the AI Research Orchestrator

The agent coordinates the chat model, research tools, and data writes.

  1. Open Research Orchestrator and set Text to {{ $json['User Chat Message'] }} {{ $json['Retrigger Chat'] }}.
  2. Verify Research Orchestrator uses the built-in system message that defines Dream 100 criteria (already configured).
  3. Open OpenRouter Dialogue Model and connect it as the language model for Research Orchestrator via the existing AI language model connection.
    Credential Required: Connect your openRouterApi credentials.
  4. Open Session Memory Buffer to keep conversation context; no credentials needed. This memory connects to Research Orchestrator and should remain linked.
  5. Open Perplexity Research Tool and keep Model set to sonar-deep-research.
    Credential Required: Connect your perplexityApi credentials.
    Note: This tool is used by Research Orchestrator, so credentials are added here but consumed by the agent.
  6. Open Upsert Sheet Records and keep Operation set to appendOrUpdate with Matching Columns set to Prospect ID.
    Credential Required: Connect your googleSheetsOAuth2Api credentials.
    Note: This tool is invoked by Research Orchestrator, so ensure it stays connected as an AI tool.

Step 4: Connect Google Sheets for Prospect Tracking

The workflow checks the sheet for completion and appends or updates rows.

  1. In Fetch First Row, set Document to your sheet ID (replace [YOUR_ID]) and Sheet to Sheet1 (gid=0).
  2. Keep the filter in Fetch First Row set to Prospect ID = 1.
    Credential Required: Connect your googleSheetsOAuth2Api credentials.
  3. In Fetch Last Row, set the same Document and Sheet values and keep the filter Prospect ID = 100.
    Credential Required: Connect your googleSheetsOAuth2Api credentials.
  4. In Store First Name, set Prospect 1 to {{ $json['Prospect Name'] }}.
  5. In Store Last Name, set Prospect 100 to {{ $json['Prospect Name'] }}.
  6. Verify the execution flow: Research OrchestratorFetch First RowStore First NameFetch Last RowStore Last NameCheck Sheet Empty.

Step 5: Configure Conditional Logic and Chat Responses

These nodes handle empty or partially completed sheets and continue research cycles.

  1. In Check Sheet Empty, keep both conditions checking for empty values: {{ $('Store First Name').item.json['Prospect 1'] }} and {{ $('Store Last Name').item.json['Prospect 100'] }}.
  2. In Request More Details, set Message to {{ $('Research Orchestrator').item.json.output }} and keep Wait User Reply set to false.
  3. In Check Sheet Completion, keep the logic that checks Prospect 1 exists and Prospect 100 is empty.
  4. Ensure Check Sheet Completion routes to Repeat Prompt Builder (for continuing research) and to Send Completion Note when the sheet is complete.
  5. In Send Completion Note, update the Message field from = to a real completion message before production use.

⚠️ Common Pitfall: If Send Completion Note keeps the message value =, the chat response will be blank. Replace it with a real confirmation string.

Step 6: Configure Slack Utility Nodes (Optional)

These utility nodes can be used to request more details or notify completion in Slack.

  1. Open Utility: Slack Message Trigger and select the Channel ID you want to listen to.
  2. Open Utility: Slack Request Details and configure the message payload you want to send.
  3. Open Utility: Slack Completion Notice and configure the completion message content.

Credential Required: Connect your Slack credentials for Utility: Slack Message Trigger, Utility: Slack Request Details, and Utility: Slack Completion Notice if you plan to use these nodes.

Step 7: Test and Activate Your Workflow

Validate the end-to-end flow before enabling it in production.

  1. Click Execute Workflow and send a sample chat message through Chat Intake Trigger.
  2. Confirm that Capture Chat Input populates User Chat Message and that Route Valid Prompt sends data to Research Orchestrator.
  3. Verify Fetch First Row and Fetch Last Row read from your sheet, and that Upsert Sheet Records writes or updates rows.
  4. Check that Request More Details or Send Completion Note posts a chat response based on sheet status.
  5. When everything works, toggle the workflow to Active to run it in production.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Sheets credentials can expire or need specific permissions. If things break, check the Google connection in n8n’s Credentials and confirm the spreadsheet is shared with the right Google account 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 Perplexity Sheets automation?

About 30 minutes if your APIs and Google account are ready.

Do I need coding skills to automate Dream 100 prospect research?

No. You’ll mostly connect accounts, paste API keys, and copy the Google Sheets template.

Is n8n free to use for this Perplexity Sheets automation 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 Perplexity and OpenRouter usage, which depends on how many runs you do and how long your prompts are.

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 Perplexity Sheets automation workflow for a different niche or region?

Yes, and it’s the main reason this workflow is useful. You change the criteria in the chat intake, and the agent will generate different research prompts automatically. If you want stricter control, tweak the “Repeat Prompt Builder” and “Capture Chat Input” fields to force required items like region, company size, or tech stack. Many teams also adjust the Google Sheets columns to include an owner, status, and a first-touch message draft.

Why is my Google Sheets connection failing in this workflow?

Most of the time it’s expired credentials or the wrong Google account connected in n8n. Reconnect Google Sheets in the Credentials section, then confirm the template sheet exists in that same Drive. Also check sharing settings if you copied a template from someone else. If failures happen only on bigger runs, it can be temporary API throttling, so rerun after a short pause.

How many prospects can this Perplexity Sheets automation handle?

A Dream 100 is the common target, and that’s well within reach on most setups.

Is this Perplexity Sheets automation better than using Zapier or Make?

Often, yes, because the “agent + memory + branching” logic is the whole point here, and n8n handles that kind of flow without turning it into an expensive pile of steps. You also get a real self-host option, which is handy if you plan to run research frequently or want more control over data handling. Zapier or Make can work if you only want a lightweight “send prompt, get response, write to sheet” setup, but you’ll usually lose the clarifying questions and the sheet-state checks that keep the output clean. Frankly, those details matter once you rerun the workflow a few times. Talk to an automation expert if you want help choosing the simplest option for your process.

A Dream 100 list should create momentum, not another research project. Set this up once, rerun it whenever your ICP shifts, and keep your team working from one clean sheet.

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