{"product_id":"n8n-workflow-google-sheets-leads-openai-review-ready-email-drafts","title":"n8n Workflow: Google Sheets Leads → OpenAI Review-Ready Email Drafts","description":"\u003ch3\u003eTurn Google Sheets leads into OpenAI-ready, reviewable email drafts—automatically\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow pulls leads from your \u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e, validates eligibility, gathers evidence from provided notes or optional social sources, then uses \u003cstrong\u003eOpenAI\u003c\/strong\u003e to generate \u003cstrong\u003estrict JSON subject\/body email drafts\u003c\/strong\u003e and upserts them into a \u003cem\u003eDrafts review\u003c\/em\u003e sheet—keyed by \u003cstrong\u003elead_id\u003c\/strong\u003e.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRuns manually\u003c\/strong\u003e and reads configuration (mode: \u003cem\u003edemo\/provided\/social\u003c\/em\u003e, seller details, OpenAI model, and Google Sheets document\/tab names).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eLoads leads\u003c\/strong\u003e either from synthetic demo data or from the \u003cstrong\u003eLeads\u003c\/strong\u003e tab, and reads existing rows from the \u003cstrong\u003eDrafts\u003c\/strong\u003e tab to avoid overwriting completed drafts.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eValidates each lead\u003c\/strong\u003e: required fields, \u003cem\u003estatus = new\u003c\/em\u003e, \u003cem\u003econtact_allowed = TRUE\u003c\/em\u003e, valid LinkedIn\/X identifiers, and no duplicate \u003cem\u003elead_id\u003c\/em\u003e—then processes only up to the configured maximum eligible leads.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCollects evidence\u003c\/strong\u003e:\n    \u003cul\u003e\n      \u003cli\u003e\n\u003cem\u003eDemo\/Provided mode\u003c\/em\u003e: uses \u003cstrong\u003esource_notes\/source_url\u003c\/strong\u003e supplied in the sheet or demo inputs.\u003c\/li\u003e\n      \u003cli\u003e\n\u003cem\u003eSocial mode\u003c\/em\u003e: fetches recent \u003cstrong\u003eLinkedIn\u003c\/strong\u003e posts via \u003cstrong\u003eApify\u003c\/strong\u003e and recent \u003cstrong\u003eX\u003c\/strong\u003e posts via the \u003cstrong\u003eX API\u003c\/strong\u003e.\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGenerates drafts\u003c\/strong\u003e:\n    \u003cul\u003e\n      \u003cli\u003e\n\u003cem\u003eDemo mode\u003c\/em\u003e: creates a synthetic draft.\u003c\/li\u003e\n      \u003cli\u003e\n\u003cem\u003eOther modes\u003c\/em\u003e: calls \u003cstrong\u003eOpenAI Chat Completions\u003c\/strong\u003e and requests strict JSON output (subject, body, and evidence IDs).\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eValidates the draft schema\u003c\/strong\u003e (including citations\/evidence IDs) and \u003cstrong\u003eupserts\u003c\/strong\u003e a review row into the \u003cstrong\u003eDrafts\u003c\/strong\u003e tab.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eSales\/SaaS teams who want scalable personalization from a Google Sheets lead list.\u003c\/li\u003e\n  \u003cli\u003eAutomation engineers building a \u003cstrong\u003ereview-before-send\u003c\/strong\u003e email drafting pipeline.\u003c\/li\u003e\n  \u003cli\u003eOperators testing outreach quality using demo\/provided\/social evidence modes.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e (Leads tab, Drafts tab upsert keyed by \u003cem\u003elead_id\u003c\/em\u003e)\u003c\/li\u003e\n  \u003cli\u003en8n nodes: \u003cstrong\u003eif\u003c\/strong\u003e, \u003cstrong\u003eset\u003c\/strong\u003e, \u003cstrong\u003ecode\u003c\/strong\u003e, \u003cstrong\u003esticky note\u003c\/strong\u003e, \u003cstrong\u003ehttp request\u003c\/strong\u003e, \u003cstrong\u003egoogle sheets\u003c\/strong\u003e\n\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eOpenAI Chat Completions\u003c\/strong\u003e with strict JSON schema output\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eApify\u003c\/strong\u003e for LinkedIn evidence; \u003cstrong\u003eX API\u003c\/strong\u003e for X evidence\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cp\u003e\u003cstrong\u003eSetup:\u003c\/strong\u003e Import the workflow and run the default demo to validate the flow end-to-end.\u003c\/p\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":46217917268147,"sku":"N8N-20834","price":39.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/8d8w-EyADGVPf962h13GF_R7dh861P.png?v=1791882921","url":"https:\/\/buyflowscripts.com\/products\/n8n-workflow-google-sheets-leads-openai-review-ready-email-drafts","provider":"N8N Commerce","version":"1.0","type":"link"}