Looks up each company on your list in a business database and appends its size, industry, founding year and head office as columns.

UsesDatagmaGoogle Sheets

Fill in the facts about the companies on your list

Every day, each company on your list that has not been looked up before is checked against Datagma's business database, and what its record holds is appended to a facts tab in the same Google Sheet: name on record, industry, headcount, size band, founding year, head office, website and LinkedIn page, plus how confident the match is.

No AI is involved and nothing comes from a web page. If the database has no match, the row says 'No match' and every fact column is left empty, because an invented founding year is worse than a blank once it reaches your CRM. Where your list gives a domain, the lookup uses that instead of the name. Your list is never written to or reordered. Each run reads the facts tab first and skips every company already on it, so no company is looked up twice, and if that tab cannot be read the run stops without writing anything.

Your sheet needs a list tab with a 'Company' heading and an optional 'Domain' column, plus a facts tab headed with the columns above.

ScheduleRun every day.Run every day.
ValuesSet sheetUrl to blank.Set sheetUrl to blank.
ValuesSet companyTab to Companies.Set companyTab to Companies.
ValuesSet factsTab to Company facts.Set factsTab to Company facts.
ValuesSet maxRowsRead to 200.Set maxRowsRead to 200.
ValuesSet maxLookups to 25.Set maxLookups to 25.
TextTrim sheetUrl and save it as sheetAddress.Trim sheetUrl and save it as sheetAddress.
TextTrim companyTab and save it as sourceTab.Trim companyTab and save it as sourceTab.
TextTrim factsTab and save it as resultsTab.Trim factsTab and save it as resultsTab.
Dates & TimesGet today's date and save it as checkedOn.Get today's date and save it as checkedOn.
ValuesSet alreadyDone to an empty list.Set alreadyDone to an empty list.
ValuesSet logWasRead to false.Set logWasRead to false.
Decisions & LoopsIf a step below fails, save the error as logErrorIf a step below fails, save the error as logError
Try
Google SheetsGoogle SheetsRead column 2 of resultsTab in sheetAddress. Save it as logColumn.Read column 2 of resultsTab in sheetAddress. Save it as logColumn.
ListsCount the items in logColumn.values and save it as logCount.Count the items in logColumn.values and save it as logCount.
ValuesShow in the output: Rows already on the facts tab: logCount as text.Show in the output: Rows already on the facts tab: logCount as text.
ValuesChange alreadyDone to logColumn.values.Change alreadyDone to logColumn.values.
ValuesChange logWasRead to true.Change logWasRead to true.
On error
ValuesShow in the output: Could not read the facts tab: logError as text.Show in the output: Could not read the facts tab: logError as text.
Decisions & LoopsIf logWasRead is noIf logWasRead is no
Yes
Decisions & LoopsStop and report a problem: The facts tab could not be read, so this run cannot tell which companies it has already looked up and nothing has been written. Add a tab with the name in the 'factsTab' step whose first row reads: Checked on, Company, Looked up as, Match, Name on record, Industry, Employees, Company size, Founded, Headquarters, Website, LinkedIn, Confidence.Stop and report a problem: The facts tab could not be read, so this run cannot tell which companies it has already looked up and nothing has been written. Add a tab with the name in the 'factsTab' step whose first row reads: Checked on, Company, Looked up as, Match, Name on record, Industry, Employees, Company size, Founded, Headquarters, Website, LinkedIn, Confidence.
No
No steps
Google SheetsGoogle SheetsRead the rows of sheetAddress. Save it as sheet.Read the rows of sheetAddress. Save it as sheet.
ValuesSet lookedUp to 0.Set lookedUp to 0.
ValuesSet skippedNoName to 0.Set skippedNoName to 0.
ValuesSet skippedAlready to 0.Set skippedAlready to 0.
ValuesSet failedCount to 0.Set failedCount to 0.
Decisions & LoopsFor each row in sheet.rows:For each row in sheet.rows:
Decisions & LoopsIf lookedUp is greater than or equal to maxLookups multiplied by 1If lookedUp is greater than or equal to maxLookups multiplied by 1
Yes
Decisions & LoopsStop repeating.Stop repeating.
No
No steps
TextTrim row.Company and save it as companyName.Trim row.Company and save it as companyName.
Decisions & LoopsIf companyName is empty or companyName is nullIf companyName is empty or companyName is null
Yes
ValuesAdd 1 to skippedNoName.Add 1 to skippedNoName.
Decisions & LoopsSkip to the next item.Skip to the next item.
No
No steps
Decisions & LoopsIf alreadyDone contains companyNameIf alreadyDone contains companyName
Yes
ValuesAdd 1 to skippedAlready.Add 1 to skippedAlready.
Decisions & LoopsSkip to the next item.Skip to the next item.
No
No steps
TextTrim row.Domain and save it as companyDomain.Trim row.Domain and save it as companyDomain.
ValuesSet lookupValue to companyName.Set lookupValue to companyName.
Decisions & LoopsIf companyDomain isn't empty and companyDomain is not nullIf companyDomain isn't empty and companyDomain is not null
Yes
ValuesChange lookupValue to companyDomain.Change lookupValue to companyDomain.
No
No steps
Decisions & LoopsIf a step below fails, save the error as lookupErrorIf a step below fails, save the error as lookupError
Try
DatagmaDatagmaEnrich lookupValue with Datagma. Save it as enriched.Enrich lookupValue with Datagma. Save it as enriched.
ValuesSet wasFound to enriched.found is true.Set wasFound to enriched.found is true.
ValuesSet companyFacts to enriched.company.Set companyFacts to enriched.company.
ValuesSet foundText to No match.Set foundText to No match.
TextTrim companyFacts.name and save it as factName.Trim companyFacts.name and save it as factName.
Decisions & LoopsIf factName is nullIf factName is null
Yes
ValuesChange factName to blank.Change factName to blank.
No
No steps
TextTrim companyFacts.industry and save it as factIndustry.Trim companyFacts.industry and save it as factIndustry.
Decisions & LoopsIf factIndustry is nullIf factIndustry is null
Yes
ValuesChange factIndustry to blank.Change factIndustry to blank.
No
No steps
TextTrim companyFacts.employee_count and save it as factEmployees.Trim companyFacts.employee_count and save it as factEmployees.
Decisions & LoopsIf factEmployees is nullIf factEmployees is null
Yes
ValuesChange factEmployees to blank.Change factEmployees to blank.
No
No steps
TextTrim companyFacts.company_size and save it as factSize.Trim companyFacts.company_size and save it as factSize.
Decisions & LoopsIf factSize is nullIf factSize is null
Yes
ValuesChange factSize to blank.Change factSize to blank.
No
No steps
TextTrim companyFacts.founded and save it as factFounded.Trim companyFacts.founded and save it as factFounded.
Decisions & LoopsIf factFounded is nullIf factFounded is null
Yes
ValuesChange factFounded to blank.Change factFounded to blank.
No
No steps
TextTrim companyFacts.headquarters and save it as factHeadquarters.Trim companyFacts.headquarters and save it as factHeadquarters.
Decisions & LoopsIf factHeadquarters is nullIf factHeadquarters is null
Yes
ValuesChange factHeadquarters to blank.Change factHeadquarters to blank.
No
No steps
TextTrim companyFacts.website and save it as factWebsite.Trim companyFacts.website and save it as factWebsite.
Decisions & LoopsIf factWebsite is nullIf factWebsite is null
Yes
ValuesChange factWebsite to blank.Change factWebsite to blank.
No
No steps
TextTrim companyFacts.linkedin_url and save it as factLinkedin.Trim companyFacts.linkedin_url and save it as factLinkedin.
Decisions & LoopsIf factLinkedin is nullIf factLinkedin is null
Yes
ValuesChange factLinkedin to blank.Change factLinkedin to blank.
No
No steps
ValuesSet factConfidence to blank.Set factConfidence to blank.
Decisions & LoopsIf wasFound is yesIf wasFound is yes
Yes
ValuesChange foundText to Matched.Change foundText to Matched.
TextTrim enriched.confidence and save it as factConfidence.Trim enriched.confidence and save it as factConfidence.
Decisions & LoopsIf factConfidence is nullIf factConfidence is null
Yes
ValuesChange factConfidence to blank.Change factConfidence to blank.
No
No steps
No
ValuesChange factName to blank.Change factName to blank.
ValuesChange factIndustry to blank.Change factIndustry to blank.
ValuesChange factEmployees to blank.Change factEmployees to blank.
ValuesChange factSize to blank.Change factSize to blank.
ValuesChange factFounded to blank.Change factFounded to blank.
ValuesChange factHeadquarters to blank.Change factHeadquarters to blank.
ValuesChange factWebsite to blank.Change factWebsite to blank.
ValuesChange factLinkedin to blank.Change factLinkedin to blank.
Google SheetsGoogle SheetsAdd a row to factsTab in sheetAddress.Add a row to factsTab in sheetAddress.
ValuesAdd 1 to lookedUp.Add 1 to lookedUp.
On error
ValuesAdd 1 to failedCount.Add 1 to failedCount.
ValuesShow in the output: Could not look up companyName: lookupError as text.Show in the output: Could not look up companyName: lookupError as text.
ValuesSet summary to Companies looked up: lookedUp as text.Set summary to Companies looked up: lookedUp as text.
ValuesChange summary to summary. Already on the facts tab: skippedAlready as text.Change summary to summary. Already on the facts tab: skippedAlready as text.
ValuesChange summary to summary. Skipped, the row has no company: skippedNoName as text.Change summary to summary. Skipped, the row has no company: skippedNoName as text.
ValuesChange summary to summary. Lookups that failed: failedCount as text.Change summary to summary. Lookups that failed: failedCount as text.
ValuesShow in the output: summary.Show in the output: summary.