{"product_id":"n8n-workflow-google-sheets-openai-cold-email-drafts","title":"n8n Workflow: Google Sheets → OpenAI Cold Email Drafts","description":"\u003ch3\u003eGoogle Sheets → OpenAI cold email drafts with automatic suppression \u0026amp; cooldown\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow reads leads from your Google Sheets, skips emails already suppressed or recently contacted, uses OpenAI to draft compliant short cold emails, and creates Gmail drafts for review—while logging everything back to Google Sheets and your n8n Data Tables.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRuns manually or on schedule:\u003c\/strong\u003e It can be triggered manually, or it runs every Monday at \u003cstrong\u003e08:00\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eLoads outreach rules and history:\u003c\/strong\u003e It pulls outreach settings and loads your \u003cstrong\u003eSent Log\u003c\/strong\u003e from an \u003cstrong\u003en8n Data Table\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eReads leads from Google Sheets:\u003c\/strong\u003e It fetches lead rows from the \u003cstrong\u003e“Leads”\u003c\/strong\u003e tab and normalizes fields (e.g., trimming text and lowercasing emails).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSuppression + validation:\u003c\/strong\u003e Any lead whose email appears in the \u003cstrong\u003en8n Data Table “Suppression List”\u003c\/strong\u003e is skipped. It also filters out invalid emails, leads without a research note, duplicates within the same run, and any lead drafted within the configured \u003cstrong\u003ecooldown\u003c\/strong\u003e window.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGenerates subject + email body with OpenAI:\u003c\/strong\u003e For each remaining lead, it sends lead details plus your sender information to \u003cstrong\u003eOpenAI\u003c\/strong\u003e to produce a subject and body following strict length\/content rules.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCreates Gmail drafts + logs results:\u003c\/strong\u003e It validates the AI output, creates a \u003cstrong\u003eGmail draft\u003c\/strong\u003e addressed to the lead, upserts the email and timestamp into the \u003cstrong\u003eSent Log\u003c\/strong\u003e Data Table, and appends draft details (including \u003cstrong\u003eGmail draft ID\u003c\/strong\u003e) to the \u003cstrong\u003e“Draft Log”\u003c\/strong\u003e tab.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eSaaS teams who maintain a prospect list in Google Sheets and want consistent OpenAI-powered cold outreach.\u003c\/li\u003e\n  \u003cli\u003eAutomation engineers building repeatable sequences with suppression lists and cooldown controls to reduce duplicate contact.\u003c\/li\u003e\n  \u003cli\u003eOperators who prefer \u003cstrong\u003eGmail drafts\u003c\/strong\u003e for human review before sending.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003en8n nodes\/integrations:\u003c\/strong\u003e set, code, gmail, limit, data table, sticky note\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eAuth credentials:\u003c\/strong\u003e Google Sheets, Gmail, and OpenAI (Chat), using an available OpenAI chat model\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRequired Data Tables:\u003c\/strong\u003e “Suppression List” (email) and “Sent Log” (email, lastDraftedAt)\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":45978927366323,"sku":"N8N-19328","price":64.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/1h2ML4AJ3ewN-udMR_f3K_5RNJS4kW.png?v=1788859459","url":"https:\/\/buyflowscripts.com\/products\/n8n-workflow-google-sheets-openai-cold-email-drafts","provider":"N8N Commerce","version":"1.0","type":"link"}