{
  "name": "Summarize meeting transcripts with GPT-4 & sentiment analysis for Gmail",
  "nodes": [
    {
      "id": "72bc448c-16e2-43f5-a3c3-5332183a91a7",
      "name": "Google Drive Trigger",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "position": [
        416,
        -32
      ]
    },
    {
      "id": "6d7063b9-8ff3-4a3a-83a0-b97e4ea64311",
      "name": "Extract from File",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        1088,
        -128
      ]
    },
    {
      "id": "6794155c-c90a-4876-828f-dfdda5c9ab22",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        640,
        -32
      ]
    },
    {
      "id": "59d342dc-011a-420f-ba22-330fda11c4fd",
      "name": "Extract from File1",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        1088,
        64
      ]
    },
    {
      "id": "0b9f534e-b534-4f81-b760-2b95bd9be3f4",
      "name": "Download file",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        864,
        -128
      ]
    },
    {
      "id": "1686d72f-6448-496b-b8fb-a98f7a559dc3",
      "name": "Download file1",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        864,
        64
      ]
    },
    {
      "id": "6f459193-17b1-4313-a251-b56febdaa721",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        1312,
        -32
      ]
    },
    {
      "id": "84894f45-b8a8-4837-98f4-5eefe64a720f",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1536,
        -32
      ]
    },
    {
      "id": "2e1d64e1-a23e-432b-b2f2-54b4491bf3be",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1608,
        192
      ]
    },
    {
      "id": "b37e84e6-4015-40b7-bcfe-745f1332f156",
      "name": "Send a message",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2336,
        -32
      ]
    },
    {
      "id": "496624bb-9827-4fb3-9bc2-355265216e15",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -16,
        -432
      ],
      "parameters": {
        "width": 384,
        "height": 832,
        "content": "## 🧩 AI Meeting Summary & Email Automation\n\nAutomatically turn meeting files (PDF or TXT) uploaded to Google Drive into structured summaries with decisions, notes, and action items — then email them b"
      }
    },
    {
      "id": "309556b1-a5ca-498c-a5ad-9d9024e13147",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        360,
        -496
      ],
      "parameters": {
        "width": 432,
        "height": 624,
        "content": "## Google Drive Trigger + File Routing\n\n**Watch New Files (Meeting Notes Folder)**  \nStarts the workflow whenever a new file appears in your Drive folder.\n\n**Check File Type (PDF or Text)**  \nRoutes f"
      }
    },
    {
      "id": "9b04ab30-9935-4db6-b2fb-029567ed167e",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1472,
        -448
      ],
      "parameters": {
        "width": 352,
        "height": 416,
        "content": "## AI Summarization\n\nThis step is where the AI does all the heavy lifting.  \nIt takes the extracted meeting text and uses **OpenAI GPT-4o-mini** to:\n\n- Read through the entire meeting transcript  \n- I"
      }
    },
    {
      "id": "a4d2bdfa-8b93-423b-a70d-06386279e994",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1840,
        112
      ],
      "parameters": {
        "width": null,
        "height": 384,
        "content": "##  Validate & Structure Output\n\n**Normalize AI Output (Code Node)**  \n- Parses JSON safely  \n- Groups tasks by sentiment (`positive`, `neutral`, `negative`)  \n- Builds a `totals` object for quick sta"
      }
    },
    {
      "id": "b5ed5b24-bcac-4514-8ab1-64b52785034a",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2048,
        -368
      ],
      "parameters": {
        "width": 256,
        "height": 320,
        "content": "## Generate HTML Summary\n\n**Generate HTML Report (Code Node)**  \nConverts the normalized JSON into a professional email-ready layout.\n\nIncludes:\n- 📝 Summary  \n- 💡 Key Decisions  \n- 🗒️ Notes  \n- ✅ / ⚪ "
      }
    },
    {
      "id": "49eb2ca5-6fb7-4659-adf6-bbbaac5c5bce",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2560,
        -128
      ],
      "parameters": {
        "width": 320,
        "height": 352,
        "content": "##  Send AI-Generated Report\n\n**Send AI Meeting Summary Email (Gmail)**  \n- **Email Type:** HTML  \n- **Message:** `{{$json.email_html}}`  \n- **Subject Example:**  \n  `AI Summary – {{$json.meeting_sent"
      }
    },
    {
      "id": "83c30f5d-e519-4628-a42b-d278a0a3679c",
      "name": "Data Validation",
      "type": "n8n-nodes-base.code",
      "position": [
        1888,
        -32
      ]
    },
    {
      "id": "4214d550-f3f0-40e0-87dc-3aab71ad931b",
      "name": "Data Preparation",
      "type": "n8n-nodes-base.code",
      "position": [
        2112,
        -32
      ]
    }
  ],
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Download file",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Download file1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent": {
      "main": [
        [
          {
            "node": "Data Validation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download file": {
      "main": [
        [
          {
            "node": "Extract from File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download file1": {
      "main": [
        [
          {
            "node": "Extract from File1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Data Validation": {
      "main": [
        [
          {
            "node": "Data Preparation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Data Preparation": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract from File": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Extract from File1": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Google Drive Trigger": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}