Skip to content

Every 15 minutes

Fill in company research for every row in a sheet

Add a company name to your sheet and the empty columns fill in with what they do, their size, recent news and their LinkedIn page.

Runs
Every 15 minutes
Apps
Google Sheets, SerpApi
AI
Yes, uses the built-in AI allowance
Access
Sheets read+write (only the sheets you pick when connecting); SerpApi key

Send this to your assistant

Create a ClickRuntime automation: every 15 minutes, for each company in my Prospects sheet without research, search Google and fill in what they do, company size, recent news and LinkedIn URL.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A two-person sales team at a B2B software company builds prospect lists in Google Sheets: a company name per row, pasted from an event attendee list or a referral. Before anyone reaches out, they want to know what the company does, roughly how big it is and whether anything has happened recently worth mentioning. Doing that by hand takes five to ten minutes per row, so lists of a hundred names sit half-researched.

This automation does the first pass. Every 15 minutes it looks for rows with a company name but no research, searches Google for each one through SerpApi, and AI pulls the useful facts out of the results into the right columns. Reps open the sheet to find rows ready to work.

What you get out of it

  • More time talking to prospects

    Research that took an afternoon is done while reps do other work. The hours saved go into calls and emails, which is where deals actually move.

  • Openers that show you did your homework

    A recent news item gives a natural reason to get in touch. Mentioning a new office or a product launch lands better than a generic introduction.

  • Consistent research across the list

    Every row gets the same fields filled in the same way. That makes it easy to sort by size or filter by industry before deciding who to contact first.

  • Works where the list already lives

    There is no new tool to learn. Paste names into the sheet the team already uses and the research appears beside them.

How it works

What happens, step by step

  1. Every 15 minutes, ClickRuntime reads your Prospects sheet and finds rows that have a company name but empty research columns.

  2. For each of those companies, it runs a Google search through SerpApi.

  3. AI reads the results and pulls out what the company does, its approximate size, a recent news item and its LinkedIn page.

  4. Those facts are written into the row's columns, so the row is never researched twice.

Before it runs live

  • Connect your Google Sheets account and pick the spreadsheets it may use
  • Connect SerpApi

What you get

RunsEvery 15 minutes
Fill in company research for every row in a sheettoday, 9:00Succeeded
Google Sheets · ProspectsAcme Robotics | Warehouse picking robots | 51-200 employees | Opened a Chicago office in September | linkedin.com/company/acme-robotics

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Act only on the items that match your own rules, and skip the rest
  • Change what the AI looks for, or how it writes the result
  • Add another app, for example also send it to Slack
  • Combine it with other Google Sheets and SerpApi steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
research_prospects_and_companies_from_a_sheet.pyexample
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, credentials, http, ai, report_fetched

SHEET_ID = "your-spreadsheet-id"
FIELDS = ["what_they_do", "size", "recent_news", "linkedin_url"]

@on_trigger
def run(event):
    sheets = build("sheets", "v4", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False).spreadsheets()
    rows = sheets.values().get(spreadsheetId=SHEET_ID, range="Prospects!A2:E").execute().get("values", [])
    todo = [(i + 2, r[0]) for i, r in enumerate(rows) if r and r[0] and len(r) < 2][:10]
    report_fetched(len(todo))
    if not todo:
        return {"researched": 0}
    schema = {"type": "object", "properties": {f: {"type": "string"} for f in FIELDS}, "required": FIELDS}
    for row, company in todo:
        res = http.get("https://serpapi.com/search", params={"engine": "google", "q": company, "api_key": credentials.secret("SERPAPI_API_KEY")}).json()
        snippets = "\n".join(f"- {r['title']}: {r.get('snippet', '')} ({r['link']})" for r in res.get("organic_results", [])[:8])
        facts = ai.generate(f"Company: {company}\nResults:\n{snippets}\nFill each field briefly; use '' if unknown.", json_schema=schema, max_output_tokens=250).json
        sheets.values().update(spreadsheetId=SHEET_ID, range=f"Prospects!B{row}:E{row}", valueInputOption="RAW",
                               body={"values": [[facts[f] for f in FIELDS]]}).execute()
    return {"researched": len(todo)}

FAQ

Common questions

How accurate is the company size?
It is an estimate taken from what search results say, such as an employee range on LinkedIn or a company profile. Treat it as a guide for prioritising, not an exact figure.
What if two companies share a name?
Add a website or city in a column next to the name and the search uses it. That usually picks out the right company.
Can I add my own research columns?
Yes. Tell it which extra facts you want, such as headquarters city or main product, and give each a column.
What permissions does it need?
Sheets read+write (only the sheets you pick when connecting); SerpApi key. Nothing else in your accounts is used.
Does it need AI?
Yes. It uses ClickRuntime's built-in AI, so you don't need an OpenAI or Anthropic key. Every plan includes a monthly AI allowance.
How many runs does it use?
One run each time it checks. Checks that find nothing new and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Fill in company research for every row in a sheet” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.