{"product_id":"n8n-compliance-expiry-reminders-google-sheets-gmail-openai","title":"n8n Compliance Expiry Reminders: Google Sheets + Gmail + OpenAI","description":"\u003ch3\u003eStay ahead of compliance document expirations—automatically\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow checks your Google Sheets compliance register every day, drafts urgency-based reminder emails with OpenAI, sends them via Gmail, and logs every reminder back into Google Sheets—so nothing slips past your deadlines.\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 daily at \u003cstrong\u003e08:00\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eReads your compliance register:\u003c\/strong\u003e Pulls document data from a Google Sheets spreadsheet (source sheet \u003cstrong\u003eSheet1\u003c\/strong\u003e).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCalculates expiration windows:\u003c\/strong\u003e Computes how many days remain until each document’s \u003cstrong\u003eExpiryDate\u003c\/strong\u003e, keeping key fields such as \u003cstrong\u003eDocumentName\u003c\/strong\u003e, \u003cstrong\u003eDocumentType\u003c\/strong\u003e, and recipient emails.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eFilters to what matters:\u003c\/strong\u003e Selects documents expiring in \u003cstrong\u003e30 days or less\u003c\/strong\u003e, including documents that are \u003cstrong\u003ealready expired\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGenerates a reminder draft with OpenAI:\u003c\/strong\u003e Uses an OpenAI chat model to produce a \u003cstrong\u003eJSON\u003c\/strong\u003e reminder draft including an \u003cem\u003eurgency tier\u003c\/em\u003e, whether to CC a manager, and the email body content.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSends HTML emails via Gmail:\u003c\/strong\u003e Sends a formatted \u003cstrong\u003eHTML\u003c\/strong\u003e email to the responsible party using \u003cstrong\u003eGmail\u003c\/strong\u003e, with a subject line derived from the urgency tier.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eLogs reminders back to Google Sheets:\u003c\/strong\u003e Appends a “reminder sent” record to \u003cstrong\u003eSheet2\u003c\/strong\u003e including date, document details, recipient, urgency, and days remaining.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eAutomate reminders for expiring certifications, licenses, or internal compliance documents.\u003c\/li\u003e\n  \u003cli\u003eReduce missed follow-ups by notifying the \u003cstrong\u003eResponsiblePartyEmail\u003c\/strong\u003e (and optionally CC’ing \u003cstrong\u003eManagerEmail\u003c\/strong\u003e).\u003c\/li\u003e\n  \u003cli\u003eGive SaaS ops and compliance teams a reliable daily escalation workflow without manual review.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eScheduler + logic:\u003c\/strong\u003e Uses \u003cstrong\u003eif\u003c\/strong\u003e and \u003cstrong\u003eset\u003c\/strong\u003e nodes to apply the 30-day window and prepare email data.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGoogle Sheets:\u003c\/strong\u003e Reads from \u003cstrong\u003eSheet1\u003c\/strong\u003e and appends logs to \u003cstrong\u003eSheet2\u003c\/strong\u003e via Google Sheets OAuth2.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGmail:\u003c\/strong\u003e Sends HTML emails using Gmail OAuth2.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eOpenAI:\u003c\/strong\u003e Uses an OpenAI chat model to generate a JSON reminder draft with urgency and CC guidance.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eNodes mentioned:\u003c\/strong\u003e \u003cem\u003esticky note\u003c\/em\u003e and \u003cstrong\u003en8n-nodes-langchainagent\u003c\/strong\u003e.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSetup note:\u003c\/strong\u003e Ensure your Google Sheet includes columns named \u003cstrong\u003eDocumentName\u003c\/strong\u003e, \u003cstrong\u003eDocumentType\u003c\/strong\u003e, \u003cstrong\u003eResponsiblePartyEmail\u003c\/strong\u003e, \u003cstrong\u003eManagerEmail\u003c\/strong\u003e, and \u003cstrong\u003eExpiryDate\u003c\/strong\u003e (parseable date format), and configure spreadsheet + sheet references and Gmail OAuth2 for the sending mailbox.\u003c\/p\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":45887425740979,"sku":"N8N-18586","price":73.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/v5woQyTTMza6srpBAhdCY_SKlUsBef.png?v=1787475826","url":"https:\/\/buyflowscripts.com\/products\/n8n-compliance-expiry-reminders-google-sheets-gmail-openai","provider":"N8N Commerce","version":"1.0","type":"link"}