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 March 15, 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