๐Ÿซ School Fee Notification System โ€” Auto-notify Parents via Telegram When Fee Status Changes in Google Sheets

:waving_hand: Overview

This workflow automatically sends Telegram messages to parents when their childโ€™s semester fee status is updated in Google Sheets โ€” eliminating the need for manual follow-ups. It runs every hour, checks for new status changes, and sends the right message (payment confirmation or payment reminder) without sending duplicates.

Built for schools, coaching centers, and educational institutions that want to automate fee communication professionally.


:gear: How It Works

  1. Google Sheets Trigger โ€” Polls the student_data sheet every hour for new/updated rows

  2. Filter: Paid & Unsent โ€” Checks if payment_status = paid AND message_sent โ‰  true

  3. Payment Confirmation Message โ€” Sends a Telegram thank-you message to the parent

  4. Mark Paid Notified โ€” Updates message_sent = true in the sheet to prevent duplicates

  5. Filter: Unpaid & Unsent โ€” Checks if payment_status is empty AND message_sent โ‰  true

  6. Payment Reminder Message โ€” Sends a Telegram fee reminder to the parent with student name, ID, and fee amount

  7. Mark Unpaid Notified โ€” Updates message_sent = true for reminder tracking

  8. Error Trigger + Error Alert โ€” Catches any workflow errors and sends an instant Telegram alert


:hammer_and_wrench: Nodes Used

Node Purpose
Google Sheets Trigger Polls student data every hour
IF (ร—2) Filters paid/unpaid and unsent messages
Telegram (ร—3) Sends confirmation, reminder & error alerts
Google Sheets Update (ร—2) Marks rows as notified
Error Trigger Catches execution errors

:clipboard: Google Sheets Column Structure

Your student_data sheet should have these columns:

Column Description
student_name Studentโ€™s full name
student_id Unique student ID
semester_fee Fee amount due
payment_status paid or leave empty
telegra_chat_id Parentโ€™s Telegram Chat ID
message_sent Set to true after notification is sent

:wrench: Setup Instructions

  1. Import the workflow JSON into your n8n instance

  2. Connect Google Sheets credential and link your spreadsheet

  3. Connect Telegram Bot credential (create a bot via @BotFather)

  4. Fill in parent Telegram Chat IDs in your Google Sheet

  5. Activate the workflow โ€” it will run automatically every hour


:sparkles: Key Features

  • :white_check_mark: Duplicate prevention via message_sent flag

  • :white_check_mark: Separate messages for paid confirmation and unpaid reminders

  • :white_check_mark: Built-in error alerting via Telegram

  • :white_check_mark: Zero manual effort after setup


:bust_in_silhouette: Author

Md Mustakim Ali (siratal) | Built with n8n + Google Sheets + Telegram | v1.0

https://github.com/Siratalm/n8n_school_automation

the flag column for dedup is solid. one edge case: if you have the same student ID in multiple rows for different semesters, the flag only marks one row and youd miss the other. probaly not your setup but ran into that once.

2 Likes

:heart: I understand your concern.if you add some sheet & add a code node instead of if node (solved). Thank you for your feedback.Please feel free to reach out if you have any other questions or suggestions!