{"product_id":"notion-churn-classifier-to-email-monthly-saas-reports-n8n","title":"Notion Churn Classifier to Email Monthly SaaS Reports (n8n)","description":"\u003ch3\u003eAuto-classify SaaS churn from Notion and email monthly reports—fully automated in n8n\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow watches for cancellation events in \u003cstrong\u003eNotion\u003c\/strong\u003e, cross-checks each customer against \u003cstrong\u003eGoogle Sheets dunning history\u003c\/strong\u003e to determine whether churn is \u003cem\u003einvoluntary\u003c\/em\u003e or \u003cem\u003evoluntary\u003c\/em\u003e, logs the result, and then sends a \u003cstrong\u003emonthly Gmail email\u003c\/strong\u003e featuring a Gemini-generated executive summary.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eNear-real-time churn classification:\u003c\/strong\u003e Triggers every minute when a new cancellation event is detected in a specified Notion database.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eNormalize cancellation data:\u003c\/strong\u003e Extracts customer ID, cancellation date, and plan revenue from the cancellation payload.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eLook up dunning history:\u003c\/strong\u003e Uses Google Sheets to find matching dunning records for the customer.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eDetect involuntary churn logic:\u003c\/strong\u003e Determines involuntary churn when a valid dunning start date occurred \u003cem\u003ebefore\u003c\/em\u003e the cancellation and falls within a \u003cstrong\u003e60-day window\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eWrite to a churn log:\u003c\/strong\u003e Appends each classification (plan, dates, revenue, notes) to a Google Sheets churn log.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eMonthly rollup + reporting:\u003c\/strong\u003e On schedule, fetches all rows from the churn log, aggregates prior month metrics (involuntary\/voluntary counts and lost revenue), and asks \u003cstrong\u003eGoogle Gemini\u003c\/strong\u003e for a short JSON-formatted executive summary.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eEmail the report:\u003c\/strong\u003e Sends a formatted \u003cstrong\u003eHTML report\u003c\/strong\u003e via \u003cstrong\u003eGmail\u003c\/strong\u003e.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eSaaS operators who want churn reporting that distinguishes involuntary churn from voluntary churn.\u003c\/li\u003e\n  \u003cli\u003eAutomation engineers building an end-to-end n8n workflow for churn analytics using Notion + Google Sheets.\u003c\/li\u003e\n  \u003cli\u003eTeams that need monthly stakeholder emails with consistent churn metrics and a concise Gemini-written summary.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eTrigger:\u003c\/strong\u003e Notion (detects new cancellation records; runs every minute).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCore logic:\u003c\/strong\u003e \u003ccode\u003eif\u003c\/code\u003e, \u003ccode\u003eset\u003c\/code\u003e, and \u003ccode\u003ecode\u003c\/code\u003e nodes to compute the 60-day involuntary churn window.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eData storage \u0026amp; lookup:\u003c\/strong\u003e Google Sheets (dunning history lookup + churn log append + monthly aggregation).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eAI summary:\u003c\/strong\u003e Google Gemini (generates a short JSON-formatted executive summary).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eEmail delivery:\u003c\/strong\u003e Gmail (sends HTML report).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eNotes:\u003c\/strong\u003e Sticky Note node for in-workflow documentation.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eSetup\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eConnect \u003cstrong\u003eNotion\u003c\/strong\u003e credentials and choose the cancellation database for the trigger.\u003c\/li\u003e\n  \u003cli\u003eConnect \u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e credentials and update the sheet\/document IDs for both the dunning history lookup and the churn classification log.\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":46154035298483,"sku":"N8N-20280","price":74.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/jCby_ZGP13d95Yf5gEzTQ_aF5Zcb49.png?v=1790932891","url":"https:\/\/buyflowscripts.com\/products\/notion-churn-classifier-to-email-monthly-saas-reports-n8n","provider":"N8N Commerce","version":"1.0","type":"link"}