{
  "name": "Create a dead man’s switch for solo founders with Google Sheets and Gmail",
  "nodes": [
    {
      "id": "trigger-schedule",
      "name": "Daily Check (9 AM)",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        0,
        0
      ]
    },
    {
      "id": "read-checkins",
      "name": "Read Check-in Log",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        224,
        0
      ]
    },
    {
      "id": "calc-hours",
      "name": "Calculate Hours Since Last Check-in",
      "type": "n8n-nodes-base.code",
      "position": [
        448,
        0
      ]
    },
    {
      "id": "check-status",
      "name": "Status OK?",
      "type": "n8n-nodes-base.if",
      "position": [
        672,
        0
      ]
    },
    {
      "id": "no-action",
      "name": "All Good - No Action",
      "type": "n8n-nodes-base.set",
      "position": [
        880,
        -128
      ]
    },
    {
      "id": "check-critical",
      "name": "Is Critical?",
      "type": "n8n-nodes-base.if",
      "position": [
        880,
        128
      ]
    },
    {
      "id": "send-reminder",
      "name": "Send Reminder to Founder",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1104,
        240
      ]
    },
    {
      "id": "send-emergency-1",
      "name": "Alert Emergency Contact 1",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1104,
        0
      ]
    },
    {
      "id": "send-emergency-2",
      "name": "Alert Emergency Contact 2",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1328,
        0
      ]
    },
    {
      "id": "log-alert",
      "name": "Log Alert to Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1552,
        0
      ]
    },
    {
      "id": "checkin-webhook",
      "name": "Check-in Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        0,
        352
      ]
    },
    {
      "id": "record-checkin",
      "name": "Record Check-in",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        224,
        352
      ]
    },
    {
      "id": "checkin-confirm",
      "name": "Confirm Check-in",
      "type": "n8n-nodes-base.set",
      "position": [
        448,
        352
      ]
    },
    {
      "id": "sticky-overview",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -608,
        -384
      ],
      "parameters": {
        "width": 420,
        "height": 760,
        "content": "## Dead Man's Switch for Solo Founders\nA personal safety net for solo founders, freelancers, and one-person businesses. If you stop checking in, your emergency contacts get alerted automatically.\n\n###"
      }
    },
    {
      "id": "sticky-monitoring",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -16,
        -384
      ],
      "parameters": {
        "width": 560,
        "height": 200,
        "content": "### Daily Monitoring\nRuns every day at 9 AM. Reads all check-in rows from Google Sheets, then calculates how many hours have passed since the last check-in. Compares against your configured threshold "
      }
    },
    {
      "id": "sticky-routing",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        656,
        -512
      ],
      "parameters": {
        "width": 300,
        "height": 344,
        "content": "### Status Routing\nIf status is **OK**, no action is taken. Otherwise, it checks whether the situation is **CRITICAL** (past 2x threshold) or just a **WARNING** (past 1x threshold) and routes accordin"
      }
    },
    {
      "id": "sticky-escalation",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1168,
        -496
      ],
      "parameters": {
        "width": 580,
        "height": 276,
        "content": "### Alert Escalation\n**CRITICAL path** — Emails both emergency contacts sequentially, then logs the alert to the AlertLog sheet tab for a full audit trail.\n\n**WARNING path** — Sends a reminder email o"
      }
    },
    {
      "id": "sticky-checkin",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        16,
        544
      ],
      "parameters": {
        "width": 560,
        "height": 168,
        "content": "### Check-in Endpoint\nA simple webhook URL you bookmark and visit to check in. Records the timestamp to Google Sheets and returns a confirmation message. This is how you reset your dead man's switch t"
      }
    }
  ],
  "connections": {
    "Status OK?": {
      "main": [
        [
          {
            "node": "All Good - No Action",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Is Critical?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Critical?": {
      "main": [
        [
          {
            "node": "Alert Emergency Contact 1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send Reminder to Founder",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Record Check-in": {
      "main": [
        [
          {
            "node": "Confirm Check-in",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check-in Webhook": {
      "main": [
        [
          {
            "node": "Record Check-in",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Read Check-in Log": {
      "main": [
        [
          {
            "node": "Calculate Hours Since Last Check-in",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Daily Check (9 AM)": {
      "main": [
        [
          {
            "node": "Read Check-in Log",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Alert Emergency Contact 1": {
      "main": [
        [
          {
            "node": "Alert Emergency Contact 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Alert Emergency Contact 2": {
      "main": [
        [
          {
            "node": "Log Alert to Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculate Hours Since Last Check-in": {
      "main": [
        [
          {
            "node": "Status OK?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}