{
  "name": "Analyze and modernize university curricula with GPT-4o and employment data",
  "nodes": [
    {
      "id": "7512ca31-ad79-4cb9-a72a-a6e2f7a4cfe5",
      "name": "Start Curriculum Analysis",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        224,
        448
      ]
    },
    {
      "id": "ba910b47-95b3-4ea8-b209-3dda841d32bd",
      "name": "Load Graduate Employment Data",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        448,
        256
      ]
    },
    {
      "id": "02f245ed-d54a-451c-9ab0-205f4ad59c1e",
      "name": "Load Enrollment Patterns",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        448,
        448
      ]
    },
    {
      "id": "50d3a959-716c-4193-8315-3d205397f533",
      "name": "Extract Course Syllabi",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        448,
        640
      ]
    },
    {
      "id": "93874c7c-ab51-44da-bcfa-1c91d0216bc2",
      "name": "Combine Data Sources",
      "type": "n8n-nodes-base.merge",
      "position": [
        672,
        432
      ]
    },
    {
      "id": "6cf950c3-9669-4e4f-804a-e11eca9dcb29",
      "name": "Load Curriculum Documents",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "position": [
        1024,
        672
      ]
    },
    {
      "id": "cfcec00a-9db6-411d-9161-114ff1c5562d",
      "name": "Split Curriculum Text",
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "position": [
        1104,
        880
      ]
    },
    {
      "id": "b047663d-f7ad-4c95-be50-abec3c476638",
      "name": "Generate Embeddings",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        896,
        672
      ]
    },
    {
      "id": "304f6132-bc2e-4298-9114-66621eb36c37",
      "name": "Curriculum Knowledge Base",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreInMemory",
      "position": [
        928,
        448
      ]
    },
    {
      "id": "9ee35cfb-a41e-41d3-9b84-0ff3e5f3697c",
      "name": "Semantic Retrieval Tool",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreInMemory",
      "position": [
        1536,
        880
      ]
    },
    {
      "id": "eb77f874-ed93-4fae-be36-19eafa444650",
      "name": "Query Embeddings",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        1616,
        1088
      ]
    },
    {
      "id": "8ed94751-a6e9-4bc3-859c-63f01fa31cb1",
      "name": "Employment Data Query Tool",
      "type": "n8n-nodes-base.dataTableTool",
      "position": [
        2320,
        896
      ]
    },
    {
      "id": "14fb6f5d-0124-4128-9392-66c941818252",
      "name": "Cognitive Load Calculator",
      "type": "@n8n/n8n-nodes-langchain.toolCode",
      "position": [
        1824,
        880
      ]
    },
    {
      "id": "9f6b412e-b274-4e5a-93a5-54ec08ff0253",
      "name": "Learning Outcome Alignment Agent",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        1584,
        672
      ]
    },
    {
      "id": "99a1dc0f-5039-4114-9355-fd41f4126544",
      "name": "Alignment Agent Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1392,
        880
      ]
    },
    {
      "id": "b5037bd1-cbfc-4d02-8a56-41f359ddfa8f",
      "name": "Alignment Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        2000,
        880
      ]
    },
    {
      "id": "4fdfcdf7-24f0-4776-9a35-3ddbf16f495f",
      "name": "Industry Demand Forecast Agent",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        2096,
        672
      ]
    },
    {
      "id": "b6957f56-6dd0-45b5-8847-7104399f1742",
      "name": "Forecast Agent Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        2160,
        880
      ]
    },
    {
      "id": "643de987-e304-4769-a177-066a1df7c5e9",
      "name": "Forecast Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        2464,
        880
      ]
    },
    {
      "id": "e6303ebb-6eed-404c-a3f7-8c54d73200b9",
      "name": "Curriculum Modernization Supervisor",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1728,
        448
      ]
    },
    {
      "id": "fc8afcfb-aced-448c-895e-b4d1cab66335",
      "name": "Supervisor Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1456,
        672
      ]
    },
    {
      "id": "b75fd5d5-b4ab-4ad1-a533-245723ddc37a",
      "name": "Supervisor Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        2384,
        672
      ]
    },
    {
      "id": "81534b53-2249-4e64-adf3-b99cf4e2ee29",
      "name": "Store Analysis Results",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        2864,
        448
      ]
    },
    {
      "id": "3c7c2527-d3ba-434c-8cc8-8de70af49f01",
      "name": "Prepare Results for Storage",
      "type": "n8n-nodes-base.set",
      "position": [
        2656,
        448
      ]
    },
    {
      "id": "97500390-c02a-4df3-955f-e9c699409406",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1408,
        -192
      ],
      "parameters": {
        "width": 496,
        "height": 336,
        "content": "## Prerequisites\n- Vector store (e.g., Pinecone, Qdrant, or Supabase)\n- Graduate employment & enrolment data (CSV or DB)\n- Course syllabi in PDF format\n## Use Cases\n- Annual curriculum review aligned "
      }
    },
    {
      "id": "18645a24-73a9-4de2-b707-7cd4ffa9d105",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        896,
        -128
      ],
      "parameters": {
        "width": 448,
        "height": 256,
        "content": "## Setup Steps\n1. Add OpenAI or compatible LLM API credentials to all Chat Model and Embedding nodes.\n2. Connect graduate employment and enrolment data sources.\n3. Set up vector store credentials for "
      }
    },
    {
      "id": "303711cb-5051-423a-b06d-6add4ecca104",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        272,
        -192
      ],
      "parameters": {
        "width": 576,
        "height": 304,
        "content": "## How It Works\nThis workflow automates higher education curriculum analysis and modernisation using a multi-agent AI system. Designed for academic administrators, curriculum designers, and institutio"
      }
    },
    {
      "id": "fddadca1-6e04-4b34-b90f-c10e987b5c98",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2096,
        160
      ],
      "parameters": {
        "width": 480,
        "height": 912,
        "content": "## Forecast Agent\n**What** — Queries employment data to forecast industry skill demand.\n**Why** — Grounds curriculum recommendations in real labour market signals."
      }
    },
    {
      "id": "5dcb0780-736f-4b9e-845c-49ee5b0c80d8",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1376,
        160
      ],
      "parameters": {
        "width": 704,
        "height": 1072,
        "content": "## Alignment Agent\n**What** — Analyses learning outcomes against curriculum content using semantic retrieval.\n**Why** — Identifies gaps between stated outcomes and actual course coverage."
      }
    },
    {
      "id": "ed7f629b-e425-417b-b496-651109712ca0",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        208,
        144
      ],
      "parameters": {
        "width": 1152,
        "height": 864,
        "content": "## Combine & Embed\n**What** — Merges data sources, splits curriculum text, and generates semantic embeddings.\n**Why** — Creates a searchable knowledge base for accurate alignment analysis.\n"
      }
    },
    {
      "id": "b675bcf4-f1c7-4847-8eb7-ba73cf84e794",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2592,
        160
      ],
      "parameters": {
        "width": 448,
        "height": 832,
        "content": "## Store Results\n**What** — Prepares and stores final modernisation analysis.\n**Why** — Produces structured outputs ready for institutional review and action."
      }
    }
  ],
  "connections": {
    "Query Embeddings": {
      "ai_embedding": [
        [
          {
            "node": "Semantic Retrieval Tool",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Supervisor Model": {
      "ai_languageModel": [
        [
          {
            "node": "Curriculum Modernization Supervisor",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Generate Embeddings": {
      "ai_embedding": [
        [
          {
            "node": "Curriculum Knowledge Base",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Combine Data Sources": {
      "main": [
        [
          {
            "node": "Curriculum Knowledge Base",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Forecast Agent Model": {
      "ai_languageModel": [
        [
          {
            "node": "Industry Demand Forecast Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Alignment Agent Model": {
      "ai_languageModel": [
        [
          {
            "node": "Learning Outcome Alignment Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Split Curriculum Text": {
      "ai_textSplitter": [
        [
          {
            "node": "Load Curriculum Documents",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "Extract Course Syllabi": {
      "main": [
        [
          {
            "node": "Combine Data Sources",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Forecast Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Industry Demand Forecast Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Alignment Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Learning Outcome Alignment Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Semantic Retrieval Tool": {
      "ai_tool": [
        [
          {
            "node": "Learning Outcome Alignment Agent",
            "type": "ai_tool",
            "index": 0
          },
          {
            "node": "Industry Demand Forecast Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Load Enrollment Patterns": {
      "main": [
        [
          {
            "node": "Combine Data Sources",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Supervisor Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Curriculum Modernization Supervisor",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Cognitive Load Calculator": {
      "ai_tool": [
        [
          {
            "node": "Learning Outcome Alignment Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Curriculum Knowledge Base": {
      "main": [
        [
          {
            "node": "Curriculum Modernization Supervisor",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Load Curriculum Documents": {
      "ai_document": [
        [
          {
            "node": "Curriculum Knowledge Base",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "Start Curriculum Analysis": {
      "main": [
        [
          {
            "node": "Load Graduate Employment Data",
            "type": "main",
            "index": 0
          },
          {
            "node": "Load Enrollment Patterns",
            "type": "main",
            "index": 0
          },
          {
            "node": "Extract Course Syllabi",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Employment Data Query Tool": {
      "ai_tool": [
        [
          {
            "node": "Industry Demand Forecast Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Results for Storage": {
      "main": [
        [
          {
            "node": "Store Analysis Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Load Graduate Employment Data": {
      "main": [
        [
          {
            "node": "Combine Data Sources",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Industry Demand Forecast Agent": {
      "ai_tool": [
        [
          {
            "node": "Curriculum Modernization Supervisor",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Learning Outcome Alignment Agent": {
      "ai_tool": [
        [
          {
            "node": "Curriculum Modernization Supervisor",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Curriculum Modernization Supervisor": {
      "main": [
        [
          {
            "node": "Prepare Results for Storage",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}