Downloads
Download the n8n workflow (JSON)
parent-weekly-update-n8n-claude.json · n8n workflow · 19 steps · starts with Every Saturday 5 PM · uses Google Sheets, Anthropic, Slack, WhatsApp · 28 KB
Import into n8n: Create Workflow, then the menu, then Import from File.
How to import it into n8n
- In n8n, create a new workflow.
- Open the ⋯ menu at the top right and choose Import from File, then pick the downloaded .json. (Or open the file, copy everything and paste it on the canvas.)
- Open each node with a warning and connect your own account: the file carries no passwords or keys.
- Run it once with Test workflow, check the result, then switch it to Active.
What this workflow does
Every Saturday at 5 PM it reads your Students, Attendance and Tests sheets, and a Code node works out each child's week: classes attended, this week's test marks against the batch average, and fees due. Claude turns those numbers into four short lines in the parent's language, with one specific note from the teacher. Easy weeks go straight to the parent's WhatsApp. Tough weeks (low attendance, a low score, overdue fees) go to the teacher on Slack first. The sheet records who got this week's update, and the owner gets a summary.
Who it is for
Coaching classes, tuition centres, schools, music and sports academies: anyone with dozens or hundreds of parents who want to know how their child is doing, every week.
What you need
- An n8n account (Cloud or self-hosted)
- A Google Sheet your teachers already use for attendance and test marks
- An Anthropic API key for Claude
- A WhatsApp Business Cloud API number with one approved utility template
- Slack for teacher reviews and the owner summary
- Parents' consent to receive WhatsApp updates
The workflow, step by step
Step 1 · Saturday 5 PM, the week is pulled
Every Saturday 5 PM starts the run. Set week dates sets Monday to today and a week label like 2026-W47. Get students, Get attendance and Get test scores read the three tabs once each.
Step 2 · Each child's numbers, in code
Build each child's week skips students who opted out, counts classes attended, lists this week's tests with the batch average, finds the previous test and the fees due. It flags attendance under 75%, a test under 40% and fees overdue by more than 15 days, and puts flagged children at the end. Not sent this week? skips anyone whose Last update week is already this week. Loop over parents handles one parent at a time.
Step 3 · Claude writes a kind, honest note
Write the parent note gives Claude the numbers and the parent's language. Rules: only these numbers, no comparisons with other children, one practical teacher line. Note format returns four one-line fields: attendance, test, fees and teacher note.
Step 4 · Tough weeks wait for the teacher
Needs teacher review? checks the flag. Flagged notes go to Teacher reviews on Slack with the draft and the reason. Approved? sends it on Approve, and holds it on Reject or no answer, so the teacher can call instead.
Step 5 · Sent on WhatsApp, marked, summarised
Send parent update sends the weekly_parent_update template with six variables. Mark update sent writes the week and Sent, Held or Failed to Students. Failed sends also go to Send failed alert. When the loop is done, Week summary counts the results and Send summary to owner posts them.
Setup
- Import the JSON into n8n.
- Create or adapt the Sheet:
Students,Attendance,Tests(columns in the Setup sticky note). Dates as YYYY-MM-DD. - In Meta Business Manager, create the utility template
weekly_parent_updatewith six body variables and wait for approval. Add your phone number ID in Send parent update. - Connect Google Sheets, Anthropic, Slack and WhatsApp. Change the institute name in Set week dates.
- Put your own number as a test parent, mark some attendance and a test this week, run the workflow and check the WhatsApp, Slack and sheet.
How to customise
- Different day: change the cron in the trigger (
0 18 * * 0is Sunday 6 PM). - Homework: add a Homework tab and a homework line to Note format and the template.
- Stricter or softer flags: change 0.75, 0.4 and 15 in Build each child's week.
- Monthly report: run on the 1st with the week dates changed to last month, and add a trend line.
Guardrails
- Every number comes from your sheets via code; Claude only words it.
- No child is compared with another by name.
- Flagged weeks are never sent without the teacher's Approve, and each parent gets one update per week.
Troubleshooting
- Attendance shows "no classes marked": the Student ID in
Attendancemust matchStudentsexactly, and dates must be in YYYY-MM-DD. - Template errors: six variables, no line breaks (the workflow strips them).
- Same parent twice: check Mark update sent matches on Student ID and writes
Last update week. - The run takes long: that is the one-by-one loop plus any teacher reviews; flagged children are kept to the end on purpose.
Want the members-only resources too?
A free account unlocks them all, including the ones shared in DMs.

