{"product_id":"n8n-workflow-slack-alerts-for-stale-heartbeats-google-sheets","title":"n8n Workflow: Slack Alerts for Stale Heartbeats (Google Sheets)","description":"\u003ch3\u003eSlack alerts for stale workflow heartbeats—automatically, every 15 minutes\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow checks heartbeat timestamps stored in \u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e and sends a \u003cstrong\u003eSlack\u003c\/strong\u003e alert whenever a monitored workflow has missing\/invalid last-success data or is overdue based on its configured maximum age.\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 every 15 minutes\u003c\/strong\u003e using an n8n schedule trigger.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eReads heartbeat data\u003c\/strong\u003e from a Google Sheets tab named \u003ccode\u003eheartbeats\u003c\/code\u003e, with columns:\n    \u003cul\u003e\n      \u003cli\u003e\u003ccode\u003eworkflow\u003c\/code\u003e\u003c\/li\u003e\n      \u003cli\u003e\u003ccode\u003elast_success\u003c\/code\u003e\u003c\/li\u003e\n      \u003cli\u003e\u003ccode\u003emax_age_minutes\u003c\/code\u003e\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCalculates heartbeat age\u003c\/strong\u003e for each row and flags workflows when:\n    \u003cul\u003e\n      \u003cli\u003e\n\u003ccode\u003elast_success\u003c\/code\u003e is missing or invalid, or\u003c\/li\u003e\n      \u003cli\u003ethe timestamp is older than \u003ccode\u003emax_age_minutes\u003c\/code\u003e.\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eBuilds a detailed Slack message\u003c\/strong\u003e for every stale workflow, including the last success age, the expected success interval, and the reason for the alert.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSends alerts to the selected Slack channel\u003c\/strong\u003e via the Slack node.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eMonitor critical n8n automations and get notified if a workflow hasn’t succeeded within an expected window.\u003c\/li\u003e\n  \u003cli\u003eDetect failures early when \u003ccode\u003elast_success\u003c\/code\u003e is missing\/invalid in your \u003ccode\u003eheartbeats\u003c\/code\u003e sheet.\u003c\/li\u003e\n  \u003cli\u003eGive SaaS operations teams quick visibility in Slack when scheduled processes fall behind.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSchedule trigger:\u003c\/strong\u003e executes every 15 minutes.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGoogle Sheets:\u003c\/strong\u003e reads the \u003ccode\u003eheartbeats\u003c\/code\u003e table (sheet\/tab name must be \u003ccode\u003eheartbeats\u003c\/code\u003e).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCode:\u003c\/strong\u003e computes heartbeat age and decides whether each workflow is stale.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSlack:\u003c\/strong\u003e posts alerts to your chosen channel.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSticky note:\u003c\/strong\u003e included for workflow guidance\/documentation.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eSetup (high level)\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eCreate the Google Sheet tab \u003ccode\u003eheartbeats\u003c\/code\u003e with \u003ccode\u003eworkflow\u003c\/code\u003e, \u003ccode\u003elast_success\u003c\/code\u003e, and \u003ccode\u003emax_age_minutes\u003c\/code\u003e.\u003c\/li\u003e\n  \u003cli\u003eAdd Google Sheets credentials in n8n and set your \u003ccode\u003eYOUR_SHEET_ID\u003c\/code\u003e in the Google Sheets node.\u003c\/li\u003e\n  \u003cli\u003eAdd Slack credentials, select the channel, and ensure each monitored workflow updates its row after real work succeeds by writing the current ISO timestamp to \u003ccode\u003elast_success\u003c\/code\u003e and the expected interval to \u003ccode\u003emax_age_minutes\u003c\/code\u003e.\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":45758768906419,"sku":"N8N-17760","price":20.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/4GyT55iV_GuZzlApOzOcs_erJ9DowV.png?v=1785835199","url":"https:\/\/buyflowscripts.com\/products\/n8n-workflow-slack-alerts-for-stale-heartbeats-google-sheets","provider":"N8N Commerce","version":"1.0","type":"link"}