{
  "name": "Automated lead-to-client pipeline with Google Sheets email notifications & time tracking",
  "nodes": [
    {
      "id": "c0760f3c-0feb-43bb-9b52-cc9307e0b98f",
      "name": "Webhook: Lead Stage Changed",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -896,
        -80
      ]
    },
    {
      "id": "a91971ec-9414-4d0d-98d9-273761071c30",
      "name": "Prepare Email Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        -672,
        -80
      ]
    },
    {
      "id": "00ef748d-22e8-4436-a0e7-7ef1ed9017fe",
      "name": "Gmail: Send Stage-Change Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -224,
        -176
      ]
    },
    {
      "id": "baa49e6a-3c2e-4c42-ae96-9b2f0e5a0db3",
      "name": "IF: Stage == Won",
      "type": "n8n-nodes-base.if",
      "position": [
        -224,
        16
      ]
    },
    {
      "id": "855b796a-8588-4f43-8b39-48406c37c67d",
      "name": "Format Start Timestamp",
      "type": "n8n-nodes-base.dateTime",
      "position": [
        0,
        16
      ]
    },
    {
      "id": "25f0b4f3-0305-4ce6-83f8-e37fc90d51ca",
      "name": "GS: Clients Append (On Won)",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        224,
        16
      ]
    },
    {
      "id": "100c9018-23b7-4724-93ef-373566ae9c42",
      "name": "Webhook: Lead Qualified?",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -896,
        -624
      ]
    },
    {
      "id": "e5fe57ce-c457-4f03-9c96-7ac385b2a42f",
      "name": "IF: Is Qualified",
      "type": "n8n-nodes-base.if",
      "position": [
        -672,
        -624
      ]
    },
    {
      "id": "04851d87-b2c6-4383-9687-382f3bee1e7b",
      "name": "Gmail: Send Cal.com Invite",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -448,
        -624
      ]
    },
    {
      "id": "99f6f896-ac20-454b-a480-88a71aabe0b0",
      "name": "GS: Leads Update Stage to Meeting Booked",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -672,
        -368
      ]
    },
    {
      "id": "b2acf148-b6bc-49d3-8e76-fe890459c1dc",
      "name": "Webhook: Client Status Changed",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -880,
        304
      ]
    },
    {
      "id": "01223e18-22c3-4622-ba66-0425aad4bcd6",
      "name": "IF: Delivered?",
      "type": "n8n-nodes-base.if",
      "position": [
        -656,
        304
      ]
    },
    {
      "id": "438ffb35-490f-49d1-9031-c32447b59992",
      "name": "GS: Clients Lookup by Email",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -432,
        304
      ]
    },
    {
      "id": "1579d825-5a67-4e52-b7d5-f4dc493cf790",
      "name": "Format End Timestamp",
      "type": "n8n-nodes-base.dateTime",
      "position": [
        -208,
        304
      ]
    },
    {
      "id": "1aec66f5-ce82-4375-9202-a3ba2a5ad118",
      "name": "GS: Clients Update End & Duration",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        240,
        304
      ]
    },
    {
      "id": "1f2a3e16-70c7-402f-ace7-782f9de34fd3",
      "name": "Code",
      "type": "n8n-nodes-base.code",
      "position": [
        16,
        304
      ]
    },
    {
      "id": "12c036dc-4e13-4bfd-95d2-48da0e8337b6",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        -448,
        -80
      ]
    },
    {
      "id": "ec815439-bfb1-4edb-8a70-9db1c167a868",
      "name": "Webhook: Meeting Booked",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -896,
        -368
      ]
    },
    {
      "id": "26784981-b9f6-44ca-8329-62072dd4fd0f",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1232,
        -848
      ],
      "parameters": {
        "width": 1968,
        "height": 1408,
        "content": "# Google Sheets Automated CRM"
      }
    },
    {
      "id": "815c2626-dd90-4976-92d7-ce93bad40e1e",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2080,
        -848
      ],
      "parameters": {
        "width": 816,
        "height": 4128,
        "content": "# The App Script Needed (Use this for your Google Worksheet App Script)\n\n/**\n * ScaleFlow CRM — Google Apps Script bridge to n8n\n * Spreadsheet: \"ScaleFlow CRM\"\n * Tabs: \"Leads\", \"Clients\"\n *\n * WHAT "
      }
    },
    {
      "id": "7b60fbcd-c39a-4313-967a-e7b8310286c1",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -944,
        -688
      ],
      "parameters": {
        "width": 848,
        "height": 240,
        "content": "# Lead Qualification"
      }
    },
    {
      "id": "bff994fa-80d2-4ccd-8964-72fc8a694cc3",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -944,
        -448
      ],
      "parameters": {
        "width": 848,
        "height": 256,
        "content": "# Changing Stage to Meeting Booked\n"
      }
    },
    {
      "id": "ea32e27d-3fc6-4bed-a61d-57ec7aa24fc0",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -944,
        -192
      ],
      "parameters": {
        "width": 1440,
        "height": 384,
        "content": "# Proposal Follow-Up / Client Won Flow\n"
      }
    },
    {
      "id": "5eb61a5b-b07c-42a7-9ff4-d178985e04b2",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -944,
        192
      ],
      "parameters": {
        "width": 1440,
        "height": 304,
        "content": "# Project Fulfillment Duration\n"
      }
    }
  ],
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Gmail: Send Stage-Change Email",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "IF: Stage == Won",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code": {
      "main": [
        [
          {
            "node": "GS: Clients Update End & Duration",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF: Delivered?": {
      "main": [
        [
          {
            "node": "GS: Clients Lookup by Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF: Is Qualified": {
      "main": [
        [
          {
            "node": "Gmail: Send Cal.com Invite",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF: Stage == Won": {
      "main": [
        [
          {
            "node": "Format Start Timestamp",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "Format End Timestamp": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Email Fields": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Start Timestamp": {
      "main": [
        [
          {
            "node": "GS: Clients Append (On Won)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook: Meeting Booked": {
      "main": [
        [
          {
            "node": "GS: Leads Update Stage to Meeting Booked",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook: Lead Qualified?": {
      "main": [
        [
          {
            "node": "IF: Is Qualified",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GS: Clients Lookup by Email": {
      "main": [
        [
          {
            "node": "Format End Timestamp",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook: Lead Stage Changed": {
      "main": [
        [
          {
            "node": "Prepare Email Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook: Client Status Changed": {
      "main": [
        [
          {
            "node": "IF: Delivered?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}