Reads each company in your sheet from its own web page and records what it sells and who to, with the page it read.

UsesClaudeGoogle SheetsJina AISerper

Fill in what each company sells, and who to

ScheduleRun every day.Run every day.
ValuesSet sheetUrl to blank.Set sheetUrl to blank.
ValuesSet companiesTab to Companies.Set companiesTab to Companies.
ValuesSet researchTab to Company research.Set researchTab to Company research.
ValuesSet maxCompaniesPerRun to 10.Set maxCompaniesPerRun to 10.
Dates & TimesGet today's date and save it as checkedOn.Get today's date and save it as checkedOn.
ListsStart an empty list and save it as alreadyResearched.Start an empty list and save it as alreadyResearched.
Decisions & LoopsIf a step below fails, save the error as researchTabErrorIf a step below fails, save the error as researchTabError
Try
Google SheetsGoogle SheetsRead the rows of sheetUrl. Save it as done.Read the rows of sheetUrl. Save it as done.
Decisions & LoopsFor each doneRow in done.rows:For each doneRow in done.rows:
Text Trim doneRow.Company and save it as doneName. Trim doneRow.Company and save it as doneName.
Decisions & Loops If doneName isn't empty and doneName is not null If doneName isn't empty and doneName is not null
Yes
ListsAdd doneName to the end of alreadyResearched and save it as alreadyResearched.Add doneName to the end of alreadyResearched and save it as alreadyResearched.
No
No steps
On error
ValuesShow in the output: Could not read the 'Company research' tab, so this run treated it as empty. If that tab does not exist yet, create it..Show in the output: Could not read the 'Company research' tab, so this run treated it as empty. If that tab does not exist yet, create it..
Google SheetsGoogle SheetsRead the rows of sheetUrl. Save it as source.Read the rows of sheetUrl. Save it as source.
ValuesSet researched to 0.Set researched to 0.
Decisions & LoopsFor each row in source.rows:For each row in source.rows:
Decisions & LoopsIf researched multiplied by 1 is greater than or equal to maxCompaniesPerRunโ€ฆIf researched multiplied by 1 is greater than or equal to maxCompaniesPerRunโ€ฆ
Yes
Decisions & LoopsStop repeating.Stop repeating.
No
No steps
TextTrim row.Company and save it as company.Trim row.Company and save it as company.
Decisions & LoopsIf company is empty or company is nullIf company is empty or company is null
Yes
Decisions & LoopsSkip to the next item.Skip to the next item.
No
No steps
Decisions & LoopsIf alreadyResearched contains companyIf alreadyResearched contains company
Yes
Decisions & LoopsSkip to the next item.Skip to the next item.
No
No steps
ValuesAdd 1 to researched.Add 1 to researched.
Decisions & LoopsIf a step below fails, save the error as companyErrorIf a step below fails, save the error as companyError
Try
TextTrim row.Website and save it as siteFromSheet.Trim row.Website and save it as siteFromSheet.
ValuesSet pageUrl to blank.Set pageUrl to blank.
Decisions & LoopsIf siteFromSheet in lowercase starts with https://If siteFromSheet in lowercase starts with https://
Yes
ValuesChange pageUrl to siteFromSheet.Change pageUrl to siteFromSheet.
No
No steps
Decisions & LoopsIf pageUrl is emptyIf pageUrl is empty
Yes
SerperSerperSearch Google for '@company official website'. Save it as found.Search Google for '@company official website'. Save it as found.
Decisions & LoopsFor each result in found.results:For each result in found.results:
Decisions & Loops If pageUrl is empty If pageUrl is empty
Yes
TextTrim result.link and save it as link.Trim result.link and save it as link.
Decisions & LoopsIf link in lowercase starts with https://If link in lowercase starts with https://
Yes
ValuesChange pageUrl to link.Change pageUrl to link.
No
No steps
No
No steps
No
No steps
Decisions & LoopsIf pageUrl is emptyIf pageUrl is empty
Yes
Google SheetsGoogle SheetsAdd a row to researchTab in sheetUrl.Add a row to researchTab in sheetUrl.
No
Jina AIJina AIRead the page at pageUrl with Jina. Save it as page.Read the page at pageUrl with Jina. Save it as page.
TextTrim page.content and save it as pageText.Trim page.content and save it as pageText.
Decisions & LoopsIf the length of pageText is less than 200If the length of pageText is less than 200
Yes
Google SheetsGoogle SheetsAdd a row to researchTab in sheetUrl.Add a row to researchTab in sheetUrl.
No
ValuesSet pageSection to PAGE TEXT - this is the only material you may use:Set pageSection to PAGE TEXT - this is the only material you may use: pageText truncated to 12000 characters.
ValuesSet askSection to COMPANY: companySet askSection to COMPANY: company PAGE ADDRESS: pageUrl.
ValuesSet prompt to You are recording what one company's own web page says about itself. You have the text of a single page and nothing else.Set prompt to You are recording what one company's own web page says about itself. You have the text of a single page and nothing else. Answer with EXACTLY five values separated by ||| and nothing else - no labels, no numbering, no preamble. 1. Whether the page describes selling to businesses, to consumers, or to both. Reply with exactly one of: B2B, B2C, Both. 2. A short phrase copied from the page that shows why - the words the page itself uses about who it sells to. 3. The industry the page describes the company as working in, in the page's own terms. 4. Who the page says the company is for - the kind of customer it names. 5. What the page says the company offers those customers. Rules you must follow: - Use only the page text below. Do not use anything you know about this company from anywhere else, and do not infer a value from the company's name or its web address. - If the page does not say something, write exactly NOT STATED for that value. A blank is a correct answer; a plausible guess is not. - Report what the page says, not a judgement about it. Do not describe the company as successful, reputable, established, large or small. askSection pageSection.
ClaudeClaudeAsk Claude: prompt. Save it as reply.Ask Claude: prompt. Save it as reply. Maximum response length: 600
TextTrim reply.response_text and save it as answer.Trim reply.response_text and save it as answer.
TextSplit answer by ||| and save it as parts.Split answer by ||| and save it as parts.
Decisions & LoopsIf the length of parts is less than 5If the length of parts is less than 5
Yes
Google SheetsGoogle SheetsAdd a row to researchTab in sheetUrl.Add a row to researchTab in sheetUrl.
No
TextTrim parts[0] and save it as sellsTo.Trim parts[0] and save it as sellsTo.
Decisions & LoopsIf sellsTo is null or sellsTo in lowercase is not statedIf sellsTo is null or sellsTo in lowercase is not stated
Yes
ValuesChange sellsTo to blank.Change sellsTo to blank.
No
No steps
TextTrim parts[1] and save it as evidence.Trim parts[1] and save it as evidence.
Decisions & LoopsIf evidence is null or evidence in lowercase is not statedIf evidence is null or evidence in lowercase is not stated
Yes
ValuesChange evidence to blank.Change evidence to blank.
No
No steps
TextTrim parts[2] and save it as industry.Trim parts[2] and save it as industry.
Decisions & LoopsIf industry is null or industry in lowercase is not statedIf industry is null or industry in lowercase is not stated
Yes
ValuesChange industry to blank.Change industry to blank.
No
No steps
TextTrim parts[3] and save it as serves.Trim parts[3] and save it as serves.
Decisions & LoopsIf serves is null or serves in lowercase is not statedIf serves is null or serves in lowercase is not stated
Yes
ValuesChange serves to blank.Change serves to blank.
No
No steps
TextTrim parts[4] and save it as offers.Trim parts[4] and save it as offers.
Decisions & LoopsIf offers is null or offers in lowercase is not statedIf offers is null or offers in lowercase is not stated
Yes
ValuesChange offers to blank.Change offers to blank.
No
No steps
Google SheetsGoogle SheetsAdd a row to researchTab in sheetUrl.Add a row to researchTab in sheetUrl.
On error
ValuesShow in the output: Could not research company this time; it will be tried again on the next run.Show in the output: Could not research company this time; it will be tried again on the next run.