Skip to main content

Track student attendance from CSV, email parents, and build an HTML dashboard

Workflow preview

Track student attendance from CSV, email parents, and build an HTML dashboard preview
Open on n8n.io

Overview

πŸš€ 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

  1. Schedule trigger β€” runs Monday–Friday at 17:30
  2. Data ingestion β€” reads student_attendance.csv and filters to today's records only
  3. Absence check β€” splits students into Absent / Present branches
  4. Contact merge β€” matches absent students with parent data from student_contacts.csv
  5. Alert logic β€” calculates risk level, attendance %, consecutive streak, and trend (Improving / Stable / Worsening)
  6. Parent email β€” sends a colour-coded HTML alert via SMTP for each absent student
  7. Dashboard builder β€” generates dashboard.html with 5 tabs: Today, Weekly, Monthly, Full History, and At-Risk
  8. Report update β€” appends records to attendance_report.csv for historical tracking

πŸ›  Setup steps

  1. Upload student_attendance.csv to the n8n files folder
  2. Upload student_contacts.csv to the n8n files folder
  3. Create an empty attendance_report.csv in the n8n files folder
  4. Add smtp_user in Settings β†’ Variables
  5. Configure SMTP credentials in the Send Email node
  6. 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

Dashboard Preview 1

 Dashboard Preview 2