Reads every page you list, pulls out the details you asked for with AI, and adds one row per page to your sheet.

UsesGoogle SheetsJina AIOpenAI

Turn a list of web pages into spreadsheet rows

ValuesSet pageUrls to blank.Set pageUrls to blank.
ValuesSet fieldsToExtract to blank.Set fieldsToExtract to blank.
ValuesSet spreadsheetUrl to blank.Set spreadsheetUrl to blank.
ValuesSet sheetName to Sheet1.Set sheetName to Sheet1.
ValuesSet maxPageCharacters to 12000.Set maxPageCharacters to 12000.
ValuesSet columnSeparator to |||.Set columnSeparator to |||.
TextSplit pageUrls by , and save it as pages.Split pageUrls by , and save it as pages.
ValuesSet rowsWritten to 0.Set rowsWritten to 0.
ValuesSet pagesWithoutRows to an empty list.Set pagesWithoutRows to an empty list.
Decisions & LoopsFor each listedPage in pages:For each listedPage in pages:
TextTrim listedPage and save it as webPage.Trim listedPage and save it as webPage.
Decisions & LoopsIf webPage doesn't start with httpIf webPage doesn't start with http
Yes
ListsAdd webPage to the end of pagesWithoutRows and save it as pagesWithoutRows.Add webPage to the end of pagesWithoutRows and save it as pagesWithoutRows.
ValuesShow in the output: Skipped '@webPage' - each page in the 'pageUrls' step has to be a full web address starting with http.Show in the output: Skipped '@webPage' - each page in the 'pageUrls' step has to be a full web address starting with http.
Decisions & LoopsSkip to the next item.Skip to the next item.
No
No steps
Decisions & LoopsIf a step below fails, save the error as pageErrorIf a step below fails, save the error as pageError
Try
Jina AIJina AIRead the page at webPage with Jina. Save it as page.Read the page at webPage with Jina. Save it as page.
TextTrim page.content and save it as pageText.Trim page.content and save it as pageText.
Decisions & LoopsIf pageText isn't emptyIf pageText isn't empty
Yes
ValuesSet prompt to You are reading one web page and filling in one row of a spreadsheet.Set prompt to You are reading one web page and filling in one row of a spreadsheet. Pull out these details, in this exact order: fieldsToExtract Reply with ONE line and nothing else. Separate the values with columnSeparator in the order listed above. Do not repeat the field names, do not add headings, bullets, numbering or any commentary, and do not wrap values in quotes. Write n/a for anything the page does not say. Page address: webPage Page content: pageText truncated to maxPageCharacters characters.
OpenAIOpenAIAsk OpenAI: prompt. Save it as extraction.Ask OpenAI: prompt. Save it as extraction.
TextTrim extraction.response_text and save it as answerLine.Trim extraction.response_text and save it as answerLine.
ListsCreate a list of [webPage] and save it as row.Create a list of [webPage] and save it as row.
Decisions & LoopsFor each extractedValue in answerLine split by columnSeparator:For each extractedValue in answerLine split by columnSeparator:
Lists Add extractedValue to the end of row and save it as row. Add extractedValue to the end of row and save it as row.
Google SheetsGoogle SheetsAdd a row to sheetName in spreadsheetUrl.Add a row to sheetName in spreadsheetUrl.
ValuesAdd 1 to rowsWritten.Add 1 to rowsWritten.
No
ListsAdd webPage to the end of pagesWithoutRows and save it as pagesWithoutRows.Add webPage to the end of pagesWithoutRows and save it as pagesWithoutRows.
ValuesShow in the output: Read '@webPage' but it had no readable text, so no row was written for it.Show in the output: Read '@webPage' but it had no readable text, so no row was written for it.
On error
ListsAdd webPage to the end of pagesWithoutRows and save it as pagesWithoutRows.Add webPage to the end of pagesWithoutRows and save it as pagesWithoutRows.
ValuesShow in the output: Could not read '@webPage': pageError as text.Show in the output: Could not read '@webPage': pageError as text.
ValuesShow in the output: Finished. Wrote rowsWritten as text row(s) to '@sheetName'.Show in the output: Finished. Wrote rowsWritten as text row(s) to '@sheetName'.
Decisions & LoopsIf pagesWithoutRows isn't emptyIf pagesWithoutRows isn't empty
Yes
ValuesShow in the output: No row was written for: pagesWithoutRows joined by , .Show in the output: No row was written for: pagesWithoutRows joined by , .
No
No steps