{
  "name": "Generate sprint review summaries from transcripts with OpenAI and Google Sheets",
  "nodes": [
    {
      "id": "155c6cd6-3c71-4399-9f1a-3f6c52c3a384",
      "name": "Collect Sprint Review Input",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -320,
        -64
      ]
    },
    {
      "id": "7f8b7ce6-d1d9-4961-93b6-22edb0e3c31a",
      "name": "Parse Transcript",
      "type": "n8n-nodes-base.code",
      "position": [
        -16,
        -64
      ]
    },
    {
      "id": "86aa481e-f7aa-40f1-8f45-1d2ffea43d5a",
      "name": "Generate Summary",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        272,
        -64
      ]
    },
    {
      "id": "1fb90118-9077-4488-9ab1-efbfffc23736",
      "name": "Preview Summary",
      "type": "n8n-nodes-base.form",
      "position": [
        816,
        -144
      ]
    },
    {
      "id": "70b492a1-5674-4a79-9ae1-6a773b494ec9",
      "name": "OpenAI LLM",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        272,
        160
      ]
    },
    {
      "id": "adb94eee-700f-48af-b4c5-3298e87bfeb4",
      "name": "Save to Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        816,
        48
      ]
    },
    {
      "id": "d884f161-0977-46a2-8b0b-f59c9a97b942",
      "name": "Sticky: Overview1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -464,
        -336
      ],
      "parameters": {
        "width": 256,
        "height": 240,
        "content": "## Overview\nSprint Review Transcript → AI Markdown Summary → Google Sheets\nInputs: File (VTT/text), Sprint name, Domain.\nOutputs: Preview in UI + archived row in Sheet."
      }
    },
    {
      "id": "2886f243-599a-4328-a889-cf57d1b171b7",
      "name": "Sticky: Input Form1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -464,
        112
      ],
      "parameters": {
        "width": null,
        "height": null,
        "content": "## Input Form\nCollects transcript file + sprint + domain."
      }
    },
    {
      "id": "d201c8f4-cbf7-475e-80ce-329d020862eb",
      "name": "Sticky: Parser1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        -336
      ],
      "parameters": {
        "width": null,
        "height": 192,
        "content": "## Transcript Parser\nNormalizes to `[HH:MM:SS] Speaker: text`.\nSupports VTT and simple speaker/timestamp lines."
      }
    },
    {
      "id": "1f1c40ee-cd8f-4899-b0eb-9bef6e59e1e3",
      "name": "Sticky: AI Summary1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        256,
        -320
      ],
      "parameters": {
        "width": null,
        "height": null,
        "content": "## AI Summary\nCreates executive bullets, recap table, and action items in Markdown."
      }
    },
    {
      "id": "946883d1-348d-4f49-9caa-ffad446422d2",
      "name": "Sticky: Preview1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        784,
        -272
      ],
      "parameters": {
        "width": null,
        "height": 256,
        "content": "## Preview\nShows the generated Markdown with custom CSS."
      }
    },
    {
      "id": "147f0d86-0272-41a7-a447-9cb8d1a9c0f4",
      "name": "Sticky: Sheets1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        784,
        224
      ],
      "parameters": {
        "width": null,
        "height": null,
        "content": "## Archive to Sheets\nSaves summary + transcript + metadata (date/domain/sprint/file)."
      }
    },
    {
      "id": "e38cebcc-793b-48cb-a1ee-3ae85d8ac289",
      "name": "Sticky: LLM1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        192,
        288
      ],
      "parameters": {
        "width": null,
        "height": null,
        "content": "## LLM Backend\nOpenAI Chat Model used by AI Agent."
      }
    }
  ],
  "connections": {
    "OpenAI LLM": {
      "ai_languageModel": [
        [
          {
            "node": "Generate Summary",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Generate Summary": {
      "main": [
        [
          {
            "node": "Preview Summary",
            "type": "main",
            "index": 0
          },
          {
            "node": "Save to Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Transcript": {
      "main": [
        [
          {
            "node": "Generate Summary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Collect Sprint Review Input": {
      "main": [
        [
          {
            "node": "Parse Transcript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}