{
  "name": "Clear integration of GPT-4 with key tools for enhanced functionality",
  "nodes": [
    {
      "id": "e9b4a85d-c140-4129-b54f-1d28658a63c1",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -272,
        -256
      ],
      "parameters": {
        "width": 376,
        "height": 824,
        "content": "## 📄 AI Proposal Generator\n\nAutomatically generate professional, personalized proposals from discovery call intake forms.\n\n### How it works\n1. **Prospect submits** Typeform with project details\n2. **W"
      }
    },
    {
      "id": "f2581930-af38-4470-a7ae-8123cd0bf1fd",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        144,
        -256
      ],
      "parameters": {
        "width": 628,
        "height": 832,
        "content": "## 1. Capture & Extract\n\nThis section handles the intake process:\n\n**Config** → Stores your company info, PandaDoc template IDs, Slack webhook, and case studies\n\n**Typeform Trigger** → Fires when pros"
      }
    },
    {
      "id": "05e4268d-3563-433a-89c5-bec383eb66e0",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        816,
        -256
      ],
      "parameters": {
        "width": 856,
        "height": 832,
        "content": "## 2. Validate & Route to AI\n\nEnsures data quality before AI processing:\n\n**Check Required Fields** → Validates email and company name exist (routes to error if missing)\n\n**Route: Quick Quote or Stand"
      }
    },
    {
      "id": "a680aedd-1386-4e66-81c2-37f49f532aab",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1712,
        -256
      ],
      "parameters": {
        "width": 824,
        "height": 832,
        "content": "## 3. Parse, Timeline & Merge\n\nProcesses AI output and adds project schedule:\n\n**Parse AI Proposal Response** → Extracts JSON from GPT response, handles markdown cleanup, merges with form data\n\n**AI: "
      }
    },
    {
      "id": "c89b55bb-156c-4744-bc67-0780a426686a",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2560,
        -256
      ],
      "parameters": {
        "width": 700,
        "height": 752,
        "content": "## 4. Create PandaDoc\n\nAssembles the final proposal document:\n\n**Check: AI Parse Successful?** → Routes to error notification if GPT response couldn't be parsed\n\n**Create PandaDoc Document** → Sends a"
      }
    },
    {
      "id": "0e979740-f949-4041-b675-8c95d239628c",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3280,
        -256
      ],
      "parameters": {
        "width": 380,
        "height": 752,
        "content": "## 5. Send Notifications\n\nKeeps you informed of every submission:\n\n**Notify: Proposal Ready** → Rich Slack message with client name, value, template type, expiry date, and direct PandaDoc link\n\n**Noti"
      }
    },
    {
      "id": "6bffdc22-e3d6-46ca-bce4-731936108b81",
      "name": "⚙️ Config",
      "type": "n8n-nodes-base.set",
      "position": [
        176,
        48
      ]
    },
    {
      "id": "62036532-bec5-47ab-8bb5-328e6b8ff47c",
      "name": "📥 Typeform Trigger",
      "type": "n8n-nodes-base.typeformTrigger",
      "position": [
        384,
        48
      ]
    },
    {
      "id": "c2a3b89a-aeb2-4aaa-82ff-9e0d8a009959",
      "name": "🔄 Extract & Transform Data",
      "type": "n8n-nodes-base.code",
      "position": [
        592,
        48
      ]
    },
    {
      "id": "584e5d2e-f38e-479b-853f-49cedfccf7ca",
      "name": "✅ Check Required Fields",
      "type": "n8n-nodes-base.if",
      "position": [
        896,
        48
      ]
    },
    {
      "id": "adc5b18f-b488-45d6-beca-39e2cee0b7b1",
      "name": "🔀 Route: Quick Quote or Standard?",
      "type": "n8n-nodes-base.if",
      "position": [
        1104,
        32
      ]
    },
    {
      "id": "cfb596d7-b361-4034-b4dd-a8c35d062037",
      "name": "🤖 AI: Generate Quick Quote",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1328,
        16
      ]
    },
    {
      "id": "06292822-f5ab-4535-b51d-d679e2ceb70b",
      "name": "🤖 AI: Generate Standard Proposal",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1328,
        224
      ]
    },
    {
      "id": "dce6e920-f7e8-4e3b-9771-20df29e58ccb",
      "name": "📋 Parse AI Proposal Response",
      "type": "n8n-nodes-base.code",
      "position": [
        1744,
        128
      ]
    },
    {
      "id": "c02eb059-c2a6-4c32-b6c8-717d14b92fa1",
      "name": "🤖 AI: Generate Project Milestones",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1936,
        0
      ]
    },
    {
      "id": "711ec080-9ae2-442b-b984-2e238481db7e",
      "name": "📋 Parse Milestone Response",
      "type": "n8n-nodes-base.code",
      "position": [
        2272,
        0
      ]
    },
    {
      "id": "e3841932-fe5b-422f-9cb5-c99f96aa1d9d",
      "name": "🔗 Combine Proposal + Milestones",
      "type": "n8n-nodes-base.merge",
      "position": [
        1968,
        240
      ]
    },
    {
      "id": "dc40c4b6-3362-4708-9285-0ca50b4f8f31",
      "name": "✅ Check: AI Parse Successful?",
      "type": "n8n-nodes-base.if",
      "position": [
        2688,
        240
      ]
    },
    {
      "id": "d5ab459d-2d7a-4ae0-9086-607c58690cd3",
      "name": "📄 Create PandaDoc Document",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2912,
        224
      ]
    },
    {
      "id": "2e9b50b3-85e0-4589-a4ea-06215dfe89c6",
      "name": "✅ Check: Document Created?",
      "type": "n8n-nodes-base.if",
      "position": [
        3104,
        224
      ]
    },
    {
      "id": "26eba8d4-81e9-4994-916f-545d9301d232",
      "name": "💬 Notify: Proposal Ready",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3424,
        96
      ]
    },
    {
      "id": "04b2ac5e-9ad6-46f4-8d03-e03b1808a329",
      "name": "🚨 Notify: PandaDoc Failed",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3424,
        288
      ]
    },
    {
      "id": "1f79534f-5d09-4b86-bcdc-0dedb03b77c8",
      "name": "🚨 Notify: GPT Parse Failed",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1040,
        768
      ]
    },
    {
      "id": "67f4d00b-f241-4b14-975c-d02ed6eb1ecb",
      "name": "🚨 Notify: Missing Required Fields",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1312,
        768
      ]
    },
    {
      "id": "1d379c06-c99a-4313-a863-57917963c66a",
      "name": "Sticky Note Error",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        624
      ],
      "parameters": {
        "width": 1156,
        "height": 360,
        "content": "## ⚠️ Error Handling\n\nCaptures issues at every stage:\n\n**Notify: GPT Parse Failed** → AI response wasn't valid JSON\n\n**Notify: Missing Required Fields** → Form submitted without email or company name\n"
      }
    }
  ],
  "connections": {
    "📥 Typeform Trigger": {
      "main": [
        [
          {
            "node": "🔄 Extract & Transform Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "✅ Check Required Fields": {
      "main": [
        [
          {
            "node": "🔀 Route: Quick Quote or Standard?",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "🚨 Notify: Missing Required Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "✅ Check: Document Created?": {
      "main": [
        [
          {
            "node": "💬 Notify: Proposal Ready",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "🚨 Notify: PandaDoc Failed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "📄 Create PandaDoc Document": {
      "main": [
        [
          {
            "node": "✅ Check: Document Created?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "📋 Parse Milestone Response": {
      "main": [
        [
          {
            "node": "🔗 Combine Proposal + Milestones",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "🔄 Extract & Transform Data": {
      "main": [
        [
          {
            "node": "✅ Check Required Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "🤖 AI: Generate Quick Quote": {
      "main": [
        [
          {
            "node": "📋 Parse AI Proposal Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "✅ Check: AI Parse Successful?": {
      "main": [
        [
          {
            "node": "📄 Create PandaDoc Document",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "🚨 Notify: GPT Parse Failed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "📋 Parse AI Proposal Response": {
      "main": [
        [
          {
            "node": "🤖 AI: Generate Project Milestones",
            "type": "main",
            "index": 0
          },
          {
            "node": "🔗 Combine Proposal + Milestones",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "🔗 Combine Proposal + Milestones": {
      "main": [
        [
          {
            "node": "✅ Check: AI Parse Successful?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "🤖 AI: Generate Standard Proposal": {
      "main": [
        [
          {
            "node": "📋 Parse AI Proposal Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "🔀 Route: Quick Quote or Standard?": {
      "main": [
        [
          {
            "node": "🤖 AI: Generate Quick Quote",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "🤖 AI: Generate Standard Proposal",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "🤖 AI: Generate Project Milestones": {
      "main": [
        [
          {
            "node": "📋 Parse Milestone Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}