{
  "name": "Route and escalate student advising requests with OpenAI, Gmail and Slack",
  "nodes": [
    {
      "id": "d1ec9629-98fc-4218-aad4-7cf5f7c599fe",
      "name": "Student Event Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -576,
        1360
      ]
    },
    {
      "id": "99dded73-4c28-490a-b85a-68138b50ac28",
      "name": "Workflow Configuration",
      "type": "n8n-nodes-base.set",
      "position": [
        -384,
        1360
      ]
    },
    {
      "id": "1b6f64ca-3a40-4a2d-a498-478e83c9ecb4",
      "name": "Student Status Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -192,
        1360
      ]
    },
    {
      "id": "0b3708ca-236b-4e7a-9422-055d50d4f4b5",
      "name": "OpenAI Model - Status Agent",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -256,
        1584
      ]
    },
    {
      "id": "45502496-f29c-4211-bb49-b761448d3473",
      "name": "Status Validation Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -64,
        1584
      ]
    },
    {
      "id": "f33b227d-16d1-49c8-8791-e739f9350810",
      "name": "Route by Student Status",
      "type": "n8n-nodes-base.switch",
      "position": [
        160,
        1360
      ]
    },
    {
      "id": "73a3325c-b2a9-4b70-ba6c-422987ee1273",
      "name": "Advising Agent Tool",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        512,
        1584
      ]
    },
    {
      "id": "2bcda812-41a5-4f3a-a5c3-79bbac9fc270",
      "name": "OpenAI Model - Advising Agent",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        464,
        1792
      ]
    },
    {
      "id": "6e7d2260-662a-405f-873f-9b914f30e991",
      "name": "Advising Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        656,
        1792
      ]
    },
    {
      "id": "3f3b714a-27c4-4abf-a42b-bf424d92d3b3",
      "name": "Notification Agent Tool",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        800,
        1584
      ]
    },
    {
      "id": "f551fd61-f030-4dff-bc0e-41981570e64b",
      "name": "OpenAI Model - Notification Agent",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        800,
        1792
      ]
    },
    {
      "id": "82adf348-9185-4b38-9ced-4a732abfe890",
      "name": "Notification Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        976,
        1808
      ]
    },
    {
      "id": "4abd8a2d-1a35-4692-a583-0eb62640121c",
      "name": "Escalation Agent Tool",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        1088,
        1584
      ]
    },
    {
      "id": "c5f22cf0-1ea8-40c9-87c5-6c98a6c79b77",
      "name": "OpenAI Model - Escalation Agent",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1136,
        1792
      ]
    },
    {
      "id": "bc7683ed-15e8-4b66-b422-25d55b56d41f",
      "name": "Escalation Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1312,
        1808
      ]
    },
    {
      "id": "d8acff29-6b82-4da7-98c3-8650c8189945",
      "name": "Academic Orchestration Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        800,
        1360
      ]
    },
    {
      "id": "09e731d5-2cfd-4954-98a0-7f7a21c35902",
      "name": "OpenAI Model - Orchestration Agent",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        448,
        1440
      ]
    },
    {
      "id": "9e0a6023-6f73-430a-bd94-ec4256ab09b7",
      "name": "Orchestration Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1376,
        1584
      ]
    },
    {
      "id": "35856db6-61cc-40aa-9e1f-45f44f18e7ad",
      "name": "Route by Action Type",
      "type": "n8n-nodes-base.switch",
      "position": [
        1552,
        1376
      ]
    },
    {
      "id": "5a627aec-ca13-4055-b6f4-1b040591fb9a",
      "name": "Send Student Notification Email",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        2064,
        1328
      ]
    },
    {
      "id": "555bc3cf-d65a-45ba-8436-13da0b4498a7",
      "name": "Send Advisor Slack Alert",
      "type": "n8n-nodes-base.slack",
      "position": [
        2064,
        1808
      ]
    },
    {
      "id": "dd6a8a5f-f8a4-4243-b1b8-b5f87ced86a1",
      "name": "Send Faculty Escalation Email",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        2080,
        1600
      ]
    },
    {
      "id": "c3779aa9-1d09-4386-9934-e38e81ea37fc",
      "name": "Check if Escalation Required",
      "type": "n8n-nodes-base.if",
      "position": [
        1888,
        1536
      ]
    },
    {
      "id": "9ff93934-3124-4f01-b41c-cc3e80e02d1a",
      "name": "Merge Notification Paths",
      "type": "n8n-nodes-base.merge",
      "position": [
        2320,
        1360
      ]
    },
    {
      "id": "db20c21e-a9e0-4cbc-b23d-f263305f9a55",
      "name": "Log Workflow Completion",
      "type": "n8n-nodes-base.code",
      "position": [
        2480,
        1360
      ]
    },
    {
      "id": "7e00ffb2-0f73-4350-8c43-ee950137a477",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        432,
        800
      ],
      "parameters": {
        "width": 400,
        "height": 336,
        "content": "## Prerequisites\n- OpenAI API key\n- Gmail account with OAuth2\n- Slack workspace with bot token\n## Use Cases\n- Automated academic query triage for universities\n## Customization\n- Add new sub-agents for"
      }
    },
    {
      "id": "90d1104c-63d5-4560-b42b-62f17336c0b8",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        32,
        816
      ],
      "parameters": {
        "width": 352,
        "height": 320,
        "content": "## Setup Steps\n1. Import workflow and configure Student Event Webhook URL.\n2. Add OpenAI API credentials to all OpenAI Model nodes.\n3. Configure Gmail credentials for student and faculty email nodes.\n"
      }
    },
    {
      "id": "3a4385ab-3250-4c10-a4b2-f9b129dc9891",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -608,
        864
      ],
      "parameters": {
        "width": 592,
        "height": 272,
        "content": "## How It Works\nThis workflow automates student academic advising by deploying a multi-agent AI system that triages student queries, routes them intelligently, and escalates when human intervention is"
      }
    },
    {
      "id": "adb50523-0782-4324-9d9d-95399bf5c417",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -608,
        1200
      ],
      "parameters": {
        "width": 672,
        "height": 752,
        "content": "## Student Status Agent\n**What** – Classifies student status using OpenAI.\n**Why** – Ensures downstream agents have validated context before acting."
      }
    },
    {
      "id": "99e7ec15-2265-4396-b432-467e297f32ee",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        80,
        1200
      ],
      "parameters": {
        "width": 304,
        "height": 736,
        "content": "## Route by Student Status\n**What** – Directs flow based on status classification.\n**Why** – Prevents irrelevant agents from processing unmatched queries."
      }
    },
    {
      "id": "549828d4-e590-48c1-8a00-5b5e1e49427c",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        416,
        1200
      ],
      "parameters": {
        "width": 1072,
        "height": 848,
        "content": "## Academic Orchestration Agent\n**What** – Delegates to Advising, Notification, or Escalation sub-agents.\n**Why** – Centralises decision logic for modular, maintainable routing."
      }
    },
    {
      "id": "e8623f89-1daf-484b-b4f8-667ff7109033",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1504,
        1200
      ],
      "parameters": {
        "width": 288,
        "height": 848,
        "content": "## Route by Action Type & Escalation Check\n**What** – Determines output channel and escalation need.\n**Why** – Ensures urgent cases reach faculty without delay."
      }
    },
    {
      "id": "8e90f822-2de2-412a-b2b3-7c6a72da2553",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1824,
        1184
      ],
      "parameters": {
        "width": 768,
        "height": 832,
        "content": "## Notifications\n**What** – Sends email to student/faculty or Slack alert to advisor.\n**Why** – Delivers outcomes through the most appropriate channel."
      }
    }
  ],
  "connections": {
    "Advising Agent Tool": {
      "ai_tool": [
        [
          {
            "node": "Academic Orchestration Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Route by Action Type": {
      "main": [
        [
          {
            "node": "Send Student Notification Email",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send Advisor Slack Alert",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Check if Escalation Required",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Student Status Agent": {
      "main": [
        [
          {
            "node": "Route by Student Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Escalation Agent Tool": {
      "ai_tool": [
        [
          {
            "node": "Academic Orchestration Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Student Event Webhook": {
      "main": [
        [
          {
            "node": "Workflow Configuration",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Advising Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Advising Agent Tool",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Workflow Configuration": {
      "main": [
        [
          {
            "node": "Student Status Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Notification Agent Tool": {
      "ai_tool": [
        [
          {
            "node": "Academic Orchestration Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Route by Student Status": {
      "main": [
        [
          {
            "node": "Academic Orchestration Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Escalation Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Escalation Agent Tool",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Merge Notification Paths": {
      "main": [
        [
          {
            "node": "Log Workflow Completion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Advisor Slack Alert": {
      "main": [
        [
          {
            "node": "Merge Notification Paths",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Notification Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Notification Agent Tool",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Model - Status Agent": {
      "ai_languageModel": [
        [
          {
            "node": "Student Status Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Orchestration Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Academic Orchestration Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Academic Orchestration Agent": {
      "main": [
        [
          {
            "node": "Route by Action Type",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check if Escalation Required": {
      "main": [
        [
          {
            "node": "Send Faculty Escalation Email",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Merge Notification Paths",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "OpenAI Model - Advising Agent": {
      "ai_languageModel": [
        [
          {
            "node": "Advising Agent Tool",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Send Faculty Escalation Email": {
      "main": [
        [
          {
            "node": "Merge Notification Paths",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Model - Escalation Agent": {
      "ai_languageModel": [
        [
          {
            "node": "Escalation Agent Tool",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Send Student Notification Email": {
      "main": [
        [
          {
            "node": "Merge Notification Paths",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Status Validation Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Student Status Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Model - Notification Agent": {
      "ai_languageModel": [
        [
          {
            "node": "Notification Agent Tool",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Model - Orchestration Agent": {
      "ai_languageModel": [
        [
          {
            "node": "Academic Orchestration Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}