Hourly
Fill in company details from their websites
Each company in your sheet gets its industry, B2B or B2C, and a one-line summary from its own website.
- Runs
- Hourly
- Apps
- Google Sheets
- AI
- Yes, uses the built-in AI allowance
- Access
- read+write (only the sheets you pick when connecting)
Send this to your assistant
Create a ClickRuntime automation: every hour, for rows in my Companies sheet with an empty Industry column, read the company's website and fill in industry, B2B or B2C, and a one-line summary.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A business development manager has a Google Sheet of three hundred company names and websites from a trade show. To qualify them she needs the industry, the market they serve and a one-line description, which means opening each site, reading the homepage and typing a summary. It takes four minutes per company, so the list sits half-finished and the follow-ups go out to the wrong audience, or not at all.
Every hour, ClickRuntime reads the sheet, picks rows whose output columns are blank, fetches each company's website and asks ClickRuntime's built-in AI to fill in the industry, market and a short summary from what the site says. The results are written back to the same row, a few companies each run.
Sales teams, investors, recruiters and market researchers use it to turn a plain list of names into an organized, filterable dataset.
What you get out of it
A list you can filter and segment
Once every row has an industry and a market, you can sort the sheet by segment and send relevant messages. A tailored note to retailers converts better than one note sent to everybody.
Hours of reading are saved
Four minutes per company across three hundred rows is twenty hours of reading and typing. Doing it in the background means your time goes to reaching out to the companies that fit.
Summaries come from the company's own words
The details are taken from the website, not from guesses based on the company name. A description in the firm's own terms makes your first email sound informed. Reading the same page by hand would take far longer.
Rows with data are never overwritten
Only blank rows are filled, so anything you typed or fixed by hand is left alone. You can correct a result and rest assured the next run will not replace it.
The sheet grows without extra effort
Add new companies to the bottom, and the next run enriches them. A list that used to need a research sprint becomes something you keep adding to during the week.
How it works
What happens, step by step
Every hour ClickRuntime reads your Google Sheet of companies.
It picks the rows where the industry, business model or summary is still blank.
It visits each company's website and AI fills in the industry, whether it sells to businesses or consumers, and a one-line summary.
The answers are written back into the same row of the sheet.
Before it runs live
- Connect your Google Sheets account and pick the spreadsheets it may use
What you get
Build your own
Need it to work differently?
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
- Run it at a different time, more or less often, or only on weekdays
- 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 steps into one automation
Under the hood
The code that runs this automation
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from bs4 import BeautifulSoup
from clickruntime import on_trigger, credentials, http, ai
SHEET_ID = "your-spreadsheet-id"
SCHEMA = {"type": "object", "properties": {"industry": {"type": "string"}, "model": {"type": "string", "enum": ["B2B", "B2C"]},
"summary": {"type": "string"}}, "required": ["industry", "model", "summary"]}
@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="Companies!A2:E").execute().get("values", [])
updates = []
for i, row in enumerate(rows, start=2):
name, website, industry = (row + ["", "", ""])[:3]
if industry or not website:
continue
page = BeautifulSoup(http.get(website, timeout=15).text, "lxml").get_text(" ", strip=True)[:3000]
d = ai.generate(f"From this website text for {name}, give the industry, B2B or B2C, and a one-line summary.\n{page}",
json_schema=SCHEMA, max_output_tokens=120).json
updates.append({"range": f"Companies!C{i}:E{i}", "values": [[d["industry"], d["model"], d["summary"]]]})
if len(updates) == 20:
break # keep each run short
if updates:
sheets.values().batchUpdate(spreadsheetId=SHEET_ID, body={"valueInputOption": "RAW", "data": updates}).execute()
return {"enriched": len(updates)}FAQ
Common questions
What if a website cannot be read?
How accurate are the industry labels?
Can it find other details like company size or location?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Draft posts from your content sheet
Each morning the next idea in your sheet becomes a draft, saved back in the row.
See how it worksDraft personal outreach emails from a list
Every contact in your sheet gets a short personalised email written into the row, ready for you to send.
See how it worksLabel a list of keywords by intent
Every keyword or text row gets an intent and a topic label filled in.
See how it worksKeep exploring
Set up “Fill in company details from their websites” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.