{"product_id":"enrich-leads-in-google-sheets-with-n8n-gpt-4o-mini","title":"Enrich Leads in Google Sheets with n8n + GPT-4o-mini","description":"\u003ch3\u003eEnrich your Google Sheets leads automatically with n8n + GPT-4o-mini\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow checks your Google Sheets leads every 30 minutes, finds missing emails by scraping each company’s website, and writes the discovered contact email back into your sheet—using HTML mailto links first and GPT-4o-mini as a fallback.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRuns on a schedule:\u003c\/strong\u003e executes every \u003cstrong\u003e30 minutes\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eTargets only incomplete leads:\u003c\/strong\u003e reads all rows from your Google Sheets spreadsheet and filters for leads with an \u003cstrong\u003eempty email\u003c\/strong\u003e that are \u003cstrong\u003enot already marked as solo_linkedin\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eProcesses in manageable batches:\u003c\/strong\u003e limits processing to \u003cstrong\u003e20 leads per run\u003c\/strong\u003e and normalizes required fields (including building a full website URL).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eScrapes the homepage:\u003c\/strong\u003e downloads the company homepage HTML and extracts an email from a \u003cstrong\u003emailto:\u003c\/strong\u003e link when available.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eUses OpenAI when mailto isn’t found:\u003c\/strong\u003e if no mailto email exists on the homepage, it sends the homepage text to \u003cstrong\u003eOpenAI\u003c\/strong\u003e to extract a \u003cstrong\u003eliterally published contact email\u003c\/strong\u003e and updates Google Sheets when returned.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eChecks contact\/about pages:\u003c\/strong\u003e when the homepage doesn’t yield an email (or if no contact email is found), the workflow detects a \u003cstrong\u003econtact\/about\u003c\/strong\u003e page link, downloads that page, and uses OpenAI again to extract an email.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003ePrevents reprocessing:\u003c\/strong\u003e if no email is found after checking the contact page (or no contact page exists), it updates the lead with \u003cstrong\u003eestado = solo_linkedin\u003c\/strong\u003e so it won’t be retried.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eSales and SaaS teams enriching prospect lists in \u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e without manual searching.\u003c\/li\u003e\n  \u003cli\u003eAutomation engineers maintaining lead hygiene by filling missing contact emails at scale.\u003c\/li\u003e\n  \u003cli\u003eOperators who want higher deliverability by collecting publicly available contact addresses.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eIntegrations:\u003c\/strong\u003e \u003cstrong\u003eGoogle Sheets OAuth2\u003c\/strong\u003e for reading\/writing rows.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eAI:\u003c\/strong\u003e \u003cstrong\u003eOpenAI API\u003c\/strong\u003e using \u003cstrong\u003eGPT-4o-mini\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003en8n logic:\u003c\/strong\u003e uses nodes such as \u003cstrong\u003eif\u003c\/strong\u003e, \u003cstrong\u003eset\u003c\/strong\u003e, \u003cstrong\u003elimit\u003c\/strong\u003e, \u003cstrong\u003efilter\u003c\/strong\u003e, \u003cstrong\u003eOpenAI\u003c\/strong\u003e, and \u003cstrong\u003esticky note\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRequired columns:\u003c\/strong\u003e at least \u003cem\u003eplace_id\u003c\/em\u003e, \u003cem\u003eemail\u003c\/em\u003e, \u003cem\u003eestado\u003c\/em\u003e, \u003cem\u003enombre\u003c\/em\u003e, \u003cem\u003eweb\u003c\/em\u003e, and \u003cem\u003eproyecto\u003c\/em\u003e.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cp\u003e\u003cstrong\u003eSetup tip:\u003c\/strong\u003e confirm your sheet tab name (example: \u003cem\u003eleads_maestro_consolidado\u003c\/em\u003e) and set the correct \u003cem\u003eYOUR_GOOGLE_SHEET_ID\u003c\/em\u003e.\u003c\/p\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":45895372669107,"sku":"N8N-18656","price":43.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/vIq5g1Xc4XUsdi2kngctt_Lf0wjotP.png?v=1787649026","url":"https:\/\/buyflowscripts.com\/products\/enrich-leads-in-google-sheets-with-n8n-gpt-4o-mini","provider":"N8N Commerce","version":"1.0","type":"link"}