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

Go to Workflow
1 views
Built by Tejasv Makkar Tejasv Makkar
Created on June 05, 2026

Description

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


Nodes Used (2)

Code
n8n-nodes-base.code
Send Email
n8n-nodes-base.emailSend