This workflow corresponds to n8n.io template #13156 — we link there as the canonical source.
This workflow follows the Agent → Emailsend recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "8K4qbGSD0dpowuB3O3ETM",
"name": "AI-Driven Academic Orchestration and Student Progress Validation System",
"tags": [],
"nodes": [
{
"id": "be40b252-35cc-431f-993f-8bb9b5e65199",
"name": "Student Data Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-1248,
96
],
"parameters": {
"path": "student-progress-data",
"options": {},
"httpMethod": "POST",
"responseMode": "lastNode"
},
"typeVersion": 2.1
},
{
"id": "2102f233-8820-4c34-85d5-b20b364d469b",
"name": "Workflow Configuration",
"type": "n8n-nodes-base.set",
"position": [
-1024,
96
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "id-1",
"name": "learningApiUrl",
"type": "string",
"value": "<__PLACEHOLDER_VALUE__Student Learning Management System API URL__>"
},
{
"id": "id-2",
"name": "orchestrationApiUrl",
"type": "string",
"value": "<__PLACEHOLDER_VALUE__Academic Orchestration API URL__>"
},
{
"id": "id-3",
"name": "instructorEmail",
"type": "string",
"value": "<__PLACEHOLDER_VALUE__Instructor notification email address__>"
},
{
"id": "id-4",
"name": "complianceEmail",
"type": "string",
"value": "<__PLACEHOLDER_VALUE__Compliance officer email address__>"
},
{
"id": "id-5",
"name": "ferpaComplianceThreshold",
"type": "number",
"value": 0.95
},
{
"id": "id-6",
"name": "accreditationStandard",
"type": "string",
"value": "SACSCOC"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "d30a5096-b5fd-47de-930e-79ed19a7615b",
"name": "Claude Model - Student Progress",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
-368,
320
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "claude-sonnet-4-5-20250929"
},
"options": {}
},
"credentials": {
"anthropicApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "fcc8fcda-424d-43bc-b575-6be59b7bc2ac",
"name": "Student Progress Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-216,
320
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"type\": \"object\",\n \"properties\": {\n \"validationStatus\": {\n \"type\": \"string\",\n \"enum\": [\"VALID\", \"INVALID\", \"REQUIRES_REVIEW\"],\n \"description\": \"Overall validation status of student progress data\"\n },\n \"enrollmentValid\": {\n \"type\": \"boolean\",\n \"description\": \"Whether enrollment data is valid and complete\"\n },\n \"assessmentValid\": {\n \"type\": \"boolean\",\n \"description\": \"Whether assessment data meets institutional standards\"\n },\n \"learningSignalsValid\": {\n \"type\": \"boolean\",\n \"description\": \"Whether learning signals are within acceptable parameters\"\n },\n \"ferpaCompliant\": {\n \"type\": \"boolean\",\n \"description\": \"Whether data handling meets FERPA requirements\"\n },\n \"accreditationCompliant\": {\n \"type\": \"boolean\",\n \"description\": \"Whether data meets accreditation standards\"\n },\n \"validationIssues\": {\n \"type\": \"array\",\n \"items\": {\"type\": \"string\"},\n \"description\": \"List of specific validation issues found\"\n },\n \"complianceScore\": {\n \"type\": \"number\",\n \"description\": \"Overall compliance score from 0 to 1\"\n },\n \"reasoning\": {\n \"type\": \"string\",\n \"description\": \"Detailed explanation of validation decision\"\n }\n },\n \"required\": [\"validationStatus\", \"enrollmentValid\", \"assessmentValid\", \"learningSignalsValid\", \"ferpaCompliant\", \"accreditationCompliant\", \"complianceScore\", \"reasoning\"]\n}"
},
"typeVersion": 1.3
},
{
"id": "ef6fd2ea-8387-4f11-8f74-50d1fb6a21d8",
"name": "Student Progress Validation Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-352,
96
],
"parameters": {
"text": "=Student Data: {{ JSON.stringify($json) }}",
"options": {
"systemMessage": "You are a Student Progress Validation Agent responsible for validating structured enrollment, assessment, and learning signals data for academic institutions.\n\nYour role is to:\n1. Validate enrollment data completeness and accuracy (student ID, course enrollment, enrollment dates, enrollment status)\n2. Validate assessment data integrity (assessment types, scores, dates, instructor verification)\n3. Validate learning signals (engagement metrics, attendance, participation, progress indicators)\n4. Ensure FERPA compliance (data privacy, consent verification, access controls, data minimization)\n5. Ensure accreditation compliance (institutional standards, documentation requirements, audit trails)\n6. Identify data quality issues, missing fields, inconsistencies, or anomalies\n7. Calculate overall compliance score based on validation criteria\n8. Provide detailed reasoning for validation decisions\n\nCRITICAL CONSTRAINTS:\n- You MUST NOT grade or evaluate academic content quality\n- You MUST NOT make subjective judgments about student performance\n- You ONLY validate data structure, completeness, and compliance\n- You MUST flag any FERPA violations immediately\n- You MUST ensure all required accreditation documentation is present\n- You MUST maintain strict data privacy and confidentiality\n\nValidation Criteria:\n- Enrollment Valid: Student ID exists, course enrollment is active, dates are logical\n- Assessment Valid: Assessment type is recognized, scores are within valid ranges, dates are present\n- Learning Signals Valid: Metrics are within expected parameters, no anomalous patterns\n- FERPA Compliant: Consent documented, access controls verified, data minimization applied\n- Accreditation Compliant: Required documentation present, audit trail complete, standards met\n\nReturn structured validation results with specific issues identified and compliance score calculated."
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 3.1
},
{
"id": "eec6e3fb-1487-4f27-a2f0-3439a1810b99",
"name": "Fetch Student Learning History",
"type": "n8n-nodes-base.httpRequest",
"position": [
-800,
96
],
"parameters": {
"url": "={{ $('Workflow Configuration').first().json.learningApiUrl }}/students/{{ $json.studentId }}/history",
"options": {},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
},
{
"name": "Authorization",
"value": "Bearer <__PLACEHOLDER_VALUE__Learning API authentication token__>"
}
]
}
},
"typeVersion": 4.3
},
{
"id": "bd33e062-6b56-4531-b959-f28b3118130a",
"name": "Merge Student Data",
"type": "n8n-nodes-base.code",
"position": [
-576,
96
],
"parameters": {
"jsCode": "// Merge webhook student data with learning history from API\nconst webhookData = $input.first().json;\nconst learningHistory = $input.last().json;\n\n// Combine all student data for validation\nconst mergedData = {\n studentId: webhookData.studentId,\n enrollmentData: webhookData.enrollmentData || {},\n assessmentData: webhookData.assessmentData || {},\n learningSignals: webhookData.learningSignals || {},\n learningHistory: learningHistory || {},\n submittedAt: webhookData.submittedAt || new Date().toISOString(),\n institutionalPolicies: webhookData.institutionalPolicies || {}\n};\n\nreturn [{ json: mergedData }];"
},
"typeVersion": 2
},
{
"id": "9e85a7cf-8fb2-445b-bfa7-6d86b98fac6f",
"name": "Route by Validation Status",
"type": "n8n-nodes-base.switch",
"position": [
0,
80
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "Valid",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.output.validationStatus }}",
"rightValue": "VALID"
}
]
},
"renameOutput": true
},
{
"outputKey": "Invalid or Review",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"operator": {
"type": "array",
"operation": "contains"
},
"leftValue": "={{ $json.output.validationStatus }}",
"rightValue": [
"INVALID",
"REQUIRES_REVIEW"
]
}
]
},
"renameOutput": true
}
]
},
"options": {
"fallbackOutput": "extra",
"renameFallbackOutput": "Fallback"
}
},
"typeVersion": 3.4
},
{
"id": "f85f2149-d5f3-4194-a17b-af03741696b2",
"name": "Claude Model - Orchestration",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
240,
544
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "claude-sonnet-4-5-20250929"
},
"options": {}
},
"credentials": {
"anthropicApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "71244585-74d4-43d0-aa29-b97123cf1a13",
"name": "Orchestration Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
432,
560
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"type\": \"object\",\n \"properties\": {\n \"actionType\": {\n \"type\": \"string\",\n \"enum\": [\"CONTENT_DELIVERY\", \"INSTRUCTOR_NOTIFICATION\", \"EXAM_SCHEDULING\", \"EXCEPTION_ESCALATION\", \"COMPLIANCE_LOG\"],\n \"description\": \"Type of orchestration action to execute\"\n },\n \"priority\": {\n \"type\": \"string\",\n \"enum\": [\"LOW\", \"MEDIUM\", \"HIGH\", \"CRITICAL\"],\n \"description\": \"Priority level of the action\"\n },\n \"contentDeliveryPlan\": {\n \"type\": \"object\",\n \"properties\": {\n \"courseId\": {\"type\": \"string\"},\n \"moduleId\": {\"type\": \"string\"},\n \"deliveryMethod\": {\"type\": \"string\"},\n \"scheduledDate\": {\"type\": \"string\"}\n }\n },\n \"instructorNotification\": {\n \"type\": \"object\",\n \"properties\": {\n \"subject\": {\"type\": \"string\"},\n \"message\": {\"type\": \"string\"},\n \"studentId\": {\"type\": \"string\"},\n \"urgency\": {\"type\": \"string\"}\n }\n },\n \"examScheduling\": {\n \"type\": \"object\",\n \"properties\": {\n \"examId\": {\"type\": \"string\"},\n \"studentId\": {\"type\": \"string\"},\n \"proposedDate\": {\"type\": \"string\"},\n \"accommodations\": {\"type\": \"array\", \"items\": {\"type\": \"string\"}}\n }\n },\n \"exceptionEscalation\": {\n \"type\": \"object\",\n \"properties\": {\n \"issueType\": {\"type\": \"string\"},\n \"severity\": {\"type\": \"string\"},\n \"description\": {\"type\": \"string\"},\n \"recommendedAction\": {\"type\": \"string\"}\n }\n },\n \"complianceRequirements\": {\n \"type\": \"array\",\n \"items\": {\"type\": \"string\"},\n \"description\": \"List of compliance requirements to verify\"\n },\n \"reasoning\": {\n \"type\": \"string\",\n \"description\": \"Detailed explanation of orchestration decision\"\n }\n },\n \"required\": [\"actionType\", \"priority\", \"reasoning\"]\n}"
},
"typeVersion": 1.3
},
{
"id": "121d8d1a-e384-458f-8fb6-1365cfdb161d",
"name": "Academic Orchestration Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
224,
320
],
"parameters": {
"text": "=Validated Student Data: {{ JSON.stringify($json) }}",
"options": {
"systemMessage": "You are an Academic Orchestration Agent responsible for coordinating content delivery, instructor notifications, exam scheduling, and exception escalation for academic institutions.\n\nYour role is to:\n1. Analyze validated student progress data and determine appropriate orchestration actions\n2. Coordinate content delivery based on student progress and learning signals\n3. Generate instructor notifications for student issues, progress milestones, or intervention needs\n4. Schedule exams and assessments based on student readiness and institutional policies\n5. Escalate exceptions that require human review or administrative intervention\n6. Ensure all actions comply with accreditation standards, FERPA regulations, and institutional policies\n7. Maintain comprehensive audit trails for compliance verification\n8. Prioritize actions based on urgency and student impact\n\nCRITICAL CONSTRAINTS:\n- You MUST NOT grade or evaluate academic content autonomously\n- You MUST NOT make final decisions on student academic standing\n- You ONLY coordinate and recommend actions based on validated data\n- You MUST ensure FERPA compliance in all communications (no unauthorized disclosure)\n- You MUST verify accreditation requirements are met before scheduling assessments\n- You MUST escalate any compliance violations immediately\n- You MUST maintain student privacy and data confidentiality\n\nOrchestration Decision Criteria:\n- Content Delivery: Based on learning signals, progress indicators, and course sequencing\n- Instructor Notification: Triggered by student issues, milestones, or intervention needs\n- Exam Scheduling: Based on student readiness, prerequisite completion, and policy compliance\n- Exception Escalation: For compliance violations, data anomalies, or policy conflicts\n- Compliance Logging: All actions must be logged with timestamps and justification\n\nReturn structured orchestration plan with specific actions, priorities, and compliance verification."
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 3.1
},
{
"id": "715eeb60-f0f6-4690-95f6-7318f88e54fe",
"name": "Execute Orchestration Actions",
"type": "n8n-nodes-base.httpRequest",
"position": [
576,
320
],
"parameters": {
"url": "={{ $('Workflow Configuration').first().json.orchestrationApiUrl }}/actions/execute",
"method": "POST",
"options": {},
"jsonBody": "={{ $json.output }}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
},
{
"name": "Authorization",
"value": "Bearer <__PLACEHOLDER_VALUE__Orchestration API authentication token__>"
}
]
}
},
"typeVersion": 4.3
},
{
"id": "c10265c8-70b6-4cbf-ad90-60c29ed6d31c",
"name": "Route by Action Type",
"type": "n8n-nodes-base.switch",
"position": [
800,
288
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "Instructor Notification",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.output.actionType }}",
"rightValue": "INSTRUCTOR_NOTIFICATION"
}
]
},
"renameOutput": true
},
{
"outputKey": "Exception Escalation",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.output.actionType }}",
"rightValue": "EXCEPTION_ESCALATION"
}
]
},
"renameOutput": true
},
{
"outputKey": "Compliance Log",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"operator": {
"type": "array",
"operation": "contains"
},
"leftValue": "={{ $json.output.actionType }}",
"rightValue": [
"CONTENT_DELIVERY",
"EXAM_SCHEDULING",
"COMPLIANCE_LOG"
]
}
]
},
"renameOutput": true
}
]
},
"options": {
"fallbackOutput": "extra",
"renameFallbackOutput": "Fallback"
}
},
"typeVersion": 3.4
},
{
"id": "9b6664c3-1ae9-4671-acd0-5b0c9ad2ed17",
"name": "Send Instructor Notification",
"type": "n8n-nodes-base.emailSend",
"position": [
1024,
528
],
"parameters": {
"html": "=<html>\n<body>\n<h2>Student Progress Notification</h2>\n<p><strong>Student ID:</strong> {{ $json.output.instructorNotification.studentId }}</p>\n<p><strong>Priority:</strong> {{ $json.output.priority }}</p>\n<p><strong>Urgency:</strong> {{ $json.output.instructorNotification.urgency }}</p>\n<hr>\n<p>{{ $json.output.instructorNotification.message }}</p>\n<hr>\n<p><strong>Compliance Requirements:</strong></p>\n<ul>\n{{ $json.output.complianceRequirements ? $json.output.complianceRequirements.map(req => `<li>${req}</li>`).join(\"\") : \"<li>None specified</li>\" }}\n</ul>\n<p><strong>Reasoning:</strong> {{ $json.output.reasoning }}</p>\n<p><em>This notification was generated automatically by the Academic Orchestration System in compliance with FERPA and institutional policies.</em></p>\n</body>\n</html>",
"options": {},
"subject": "=Student Progress Alert: {{ $json.output.instructorNotification.subject }}",
"toEmail": "={{ $('Workflow Configuration').first().json.instructorEmail }}",
"fromEmail": "={{ $('Workflow Configuration').first().json.complianceEmail }}"
},
"typeVersion": 2.1
},
{
"id": "211b9571-6fe7-4088-bf57-d6cd72bd762f",
"name": "Send Exception Escalation",
"type": "n8n-nodes-base.emailSend",
"position": [
1024,
336
],
"parameters": {
"html": "=<html>\n<body>\n<h2 style=\"color: red;\">CRITICAL EXCEPTION ESCALATION</h2>\n<p><strong>Issue Type:</strong> {{ $json.output.exceptionEscalation.issueType }}</p>\n<p><strong>Severity:</strong> {{ $json.output.exceptionEscalation.severity }}</p>\n<p><strong>Priority:</strong> {{ $json.output.priority }}</p>\n<hr>\n<h3>Description</h3>\n<p>{{ $json.output.exceptionEscalation.description }}</p>\n<h3>Recommended Action</h3>\n<p>{{ $json.output.exceptionEscalation.recommendedAction }}</p>\n<hr>\n<p><strong>Compliance Requirements:</strong></p>\n<ul>\n{{ $json.output.complianceRequirements ? $json.output.complianceRequirements.map(req => `<li>${req}</li>`).join(\"\") : \"<li>None specified</li>\" }}\n</ul>\n<p><strong>AI Reasoning:</strong> {{ $json.output.reasoning }}</p>\n<p><em>This escalation was generated automatically by the Academic Orchestration System. Immediate human review is required.</em></p>\n</body>\n</html>",
"options": {},
"subject": "=CRITICAL: Exception Escalation Required - {{ $json.output.exceptionEscalation.issueType }}",
"toEmail": "={{ $('Workflow Configuration').first().json.complianceEmail }}",
"fromEmail": "={{ $('Workflow Configuration').first().json.complianceEmail }}"
},
"typeVersion": 2.1
},
{
"id": "490747e2-1ccc-44b3-a617-1c378920ff87",
"name": "Log Compliance Audit Trail",
"type": "n8n-nodes-base.code",
"position": [
1024,
96
],
"parameters": {
"jsCode": "// Log comprehensive compliance audit trail\nconst timestamp = new Date().toISOString();\nconst inputData = $input.first().json;\n\n// Determine log type based on source\nlet logType = 'UNKNOWN';\nlet logData = {};\n\nif (inputData.output && inputData.output.validationStatus) {\n // Validation log\n logType = 'VALIDATION';\n logData = {\n validationStatus: inputData.output.validationStatus,\n enrollmentValid: inputData.output.enrollmentValid,\n assessmentValid: inputData.output.assessmentValid,\n learningSignalsValid: inputData.output.learningSignalsValid,\n ferpaCompliant: inputData.output.ferpaCompliant,\n accreditationCompliant: inputData.output.accreditationCompliant,\n complianceScore: inputData.output.complianceScore,\n validationIssues: inputData.output.validationIssues || [],\n reasoning: inputData.output.reasoning\n };\n} else if (inputData.output && inputData.output.actionType) {\n // Orchestration action log\n logType = 'ORCHESTRATION';\n logData = {\n actionType: inputData.output.actionType,\n priority: inputData.output.priority,\n complianceRequirements: inputData.output.complianceRequirements || [],\n reasoning: inputData.output.reasoning,\n actionDetails: inputData.output\n };\n}\n\n// Create comprehensive audit log entry\nconst auditLog = {\n timestamp: timestamp,\n logType: logType,\n studentId: inputData.studentId || 'UNKNOWN',\n workflowExecutionId: $execution.id,\n logData: logData,\n complianceFrameworks: {\n ferpa: true,\n accreditation: $('Workflow Configuration').first().json.accreditationStandard || 'UNKNOWN'\n },\n auditTrailComplete: true\n};\n\nconsole.log('Compliance Audit Log:', JSON.stringify(auditLog, null, 2));\n\nreturn [{ json: auditLog }];"
},
"typeVersion": 2
},
{
"id": "abd01640-9c5d-4cca-ace6-7027760ece26",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-16,
-416
],
"parameters": {
"color": 6,
"width": 640,
"height": 304,
"content": "## Prerequisites\nClaude/OpenAI API credentials for AI agents, learning management system API access\n## Use Cases\nUniversities identifying students requiring academic support, online learning platforms detecting engagement drops\n## Customization\nAdjust validation thresholds for institutional academic standards\n## Benefits\nReduces student identification lag by 75%, eliminates manual progress tracking"
},
"typeVersion": 1
},
{
"id": "fc7a3412-3aab-46f2-927c-426a2aec0a57",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-560,
-448
],
"parameters": {
"width": 448,
"height": 352,
"content": "## Setup Steps\n1. Configure Student Data Webhook trigger endpoint\n2. Connect Workflow Configuration node with academic performance parameters\n3. Set up Fetch Student Learning History node with LMS API credentials\n4. Configure Merge Student Data node for data consolidation\n5. Connect Student Progress Validation Agent with Claude/OpenAI API credentials\n6. Set up AI processing nodes \n7. Configure Route by Validation Status node with performance thresholds\n8. Connect Academic Orchestration Agent with AI API credentials for intervention planning\n9. Set up orchestration processing "
},
"typeVersion": 1
},
{
"id": "a1f74c7a-50ac-4d8f-b5f0-dcd2fb9e551c",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1344,
-400
],
"parameters": {
"width": 752,
"height": 288,
"content": "## How It Works\nThis workflow automates student progress monitoring and academic intervention orchestration through intelligent AI-driven analysis. Designed for educational institutions, learning management systems, and academic advisors, it solves the critical challenge of identifying at-risk students while coordinating timely interventions across faculty and support services.\nThe system receives student data via webhook, fetches historical learning records, and merges these sources for comprehensive progress analysis. It employs a dual-agent AI framework for student progress validation and academic orchestration, detecting performance gaps, engagement issues, and intervention opportunities. The workflow intelligently routes findings based on validation status, triggering orchestration actions for students requiring support while logging compliant progress for successful learners. By executing multi-channel interventions through HTTP APIs and email notifications, it ensures educators and students receive timely guidance while maintaining complete audit trails for academic accountability and accreditation compliance."
},
"typeVersion": 1
},
{
"id": "a2c05d08-8593-4ded-9ba1-bcb0d2444afe",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
176,
-80
],
"parameters": {
"color": 7,
"width": 1056,
"height": 912,
"content": "## Validation-Driven Intervention Routing\n**What:** Routes students based on validation outcomes through orchestration workflows with multi-channel notifications and comprehensive audit logging\n**Why:** Ensures at-risk students receive timely interventions while maintaining complete documentation for academic review and compliance verification"
},
"typeVersion": 1
},
{
"id": "d4462cfe-1991-4bab-b91a-f360918b8632",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-416,
-64
],
"parameters": {
"color": 7,
"width": 576,
"height": 608,
"content": "\n## Dual-Agent Academic Assessment\n**What:** Processes student data through AI agents for progress validation and orchestration planning with specialized output parsing\n**Why:** Separates performance evaluation from intervention strategy to ensure objective assessment followed by appropriate support planning"
},
"typeVersion": 1
},
{
"id": "00f7c8be-ef34-4eb7-960c-cac3ac7012e4",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1328,
-64
],
"parameters": {
"color": 7,
"width": 896,
"height": 592,
"content": "## Comprehensive Progress Aggregation\n**What:** Fetches and merges incoming student data with historical learning records for unified academic progress analysis\n**Why:** Ensures accurate intervention decisions by combining current performance with historical patterns revealing persistent struggles versus temporary setbacks"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"availableInMCP": false,
"executionOrder": "v1"
},
"versionId": "e3ded4da-2597-4844-8eae-39e4fbc3a5d6",
"connections": {
"Merge Student Data": {
"main": [
[
{
"node": "Student Progress Validation Agent",
"type": "main",
"index": 0
}
]
]
},
"Route by Action Type": {
"main": [
[
{
"node": "Send Instructor Notification",
"type": "main",
"index": 0
}
],
[
{
"node": "Send Exception Escalation",
"type": "main",
"index": 0
}
],
[
{
"node": "Log Compliance Audit Trail",
"type": "main",
"index": 0
}
]
]
},
"Student Data Webhook": {
"main": [
[
{
"node": "Workflow Configuration",
"type": "main",
"index": 0
}
]
]
},
"Workflow Configuration": {
"main": [
[
{
"node": "Fetch Student Learning History",
"type": "main",
"index": 0
}
]
]
},
"Route by Validation Status": {
"main": [
[
{
"node": "Academic Orchestration Agent",
"type": "main",
"index": 0
}
],
[
{
"node": "Log Compliance Audit Trail",
"type": "main",
"index": 0
}
]
]
},
"Orchestration Output Parser": {
"ai_outputParser": [
[
{
"node": "Academic Orchestration Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Academic Orchestration Agent": {
"main": [
[
{
"node": "Execute Orchestration Actions",
"type": "main",
"index": 0
}
]
]
},
"Claude Model - Orchestration": {
"ai_languageModel": [
[
{
"node": "Academic Orchestration Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Execute Orchestration Actions": {
"main": [
[
{
"node": "Route by Action Type",
"type": "main",
"index": 0
}
]
]
},
"Fetch Student Learning History": {
"main": [
[
{
"node": "Merge Student Data",
"type": "main",
"index": 0
}
]
]
},
"Student Progress Output Parser": {
"ai_outputParser": [
[
{
"node": "Student Progress Validation Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Claude Model - Student Progress": {
"ai_languageModel": [
[
{
"node": "Student Progress Validation Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Student Progress Validation Agent": {
"main": [
[
{
"node": "Route by Validation Status",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
anthropicApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow automates student progress monitoring and academic intervention orchestration through intelligent AI-driven analysis. Designed for educational institutions, learning management systems, and academic advisors, it solves the critical challenge of identifying at-risk…
Source: https://n8n.io/workflows/13156/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow automates comprehensive data validation and regulatory compliance reporting through intelligent AI-driven analysis. Designed for compliance officers, data governance teams, and regulator
⏺ 🚀 How it works
Fully automates your service order pipeline from incoming booking to supplier confirmation — with built-in SLA enforcement and automatic escalation if a supplier goes silent. 📥 Receives orders via web
Tired of grinding out YouTube content? This n8n workflow turns AI into your personal video factory—creating engaging, faceless shorts on autopilot. Perfect for creators, marketers, or side-hustlers lo
Faceless YouTube Generator. Uses httpRequest, limit, googleDrive, googleSheets. Webhook trigger; 49 nodes.