Track student attendance from CSV, email parents, and build an HTML dashboard
Go to WorkflowDescription
π Overview
Automatically monitors daily student attendance from CSV files, identifies absent students, sends parent email alerts via SMTP, calculates risk scores, and generates an interactive HTML dashboard β all on a weekday schedule with no manual work needed.
βοΈ How it works
Schedule trigger β runs MondayβFriday at 17:30
Data ingestion β reads student_attendance.csv and filters to today's records only
Absence check β splits students into Absent / Present branches
Contact merge β matches absent students with parent data from student_contacts.csv
Alert logic β calculates risk level, attendance %, consecutive streak, and trend (Improving / Stable / Worsening)
Parent email β sends a colour-coded HTML alert via SMTP for each absent student
Dashboard builder β generates dashboard.html with 5 tabs: Today, Weekly, Monthly, Full History, and At-Risk
Report update β appends records to attendance_report.csv for historical tracking
π Setup steps
Upload student_attendance.csv to the n8n files folder
Upload student_contacts.csv to the n8n files folder
Create an empty attendance_report.csv in the n8n files folder
Add smtp_user in Settings β Variables
Configure SMTP credentials in the Send Email node
Adjust the cron schedule if needed (default: 17:30 MonβFri)
π§ Required CSV formats
student_attendance.csv
| StudentID | Date | Status | Class | Subject | Teacher |
|-----------|------|--------|-------|---------|---------|
| S101 | 12-01-2026 | Absent | Grade 6 | Math | Mr Singh |
student_contacts.csv
| StudentID | ParentName | Email | Phone |
|-----------|------------|-------|-------|
| S101 | Anita Kumar | [email protected] | +919999999999 |
π Dashboard Preview