li# Bornomala Bangla School — Reminder Automation
A lightweight automation that sends WhatsApp reminders to volunteer teachers and coordinators 24 hours and 30 minutes before each Saturday class. Built with Google Calendar, Google Sheets, Google Apps Script, and the TextMeBot WhatsApp API.
Bornomala Bangla School is a community school in Germany where volunteer teachers teach Bangla to children every Saturday across three sections (KG, Class 2, Class 4).
Every week, coordinators were manually messaging teachers on WhatsApp to confirm assignments, send reminders the day before class, and nudge again before class started. Multiply that by three sections, rotating teachers, and human forgetfulness — and you get last-minute scrambles, missed classes, and coordinators spending their evenings chasing confirmations.
Small problem. Real impact. Kids whose parents drove them across the city for a class that didn't happen because nobody reminded the teacher.
A small automation pipeline using free Google tools and a low-cost WhatsApp delivery service:
┌────────────────────┐
│ Google Calendar │ ← schedule (1 event per class)
└─────────┬──────────┘
│
│ (every 15 min)
▼
┌────────────────────┐ ┌────────────────────┐
│ Google Apps Script ├────────▶│ Google Sheet │
│ (trigger) │ reads │ (phone directory) │
└─────────┬──────────┘ └────────────────────┘
│
│ -24h and -30min before class
▼
┌────────────────────┐
│ TextMeBot API │ → WhatsApp messages to teachers
└────────────────────┘
How it works:
- Google Calendar holds the weekly schedule — one event per class, with the assigned teacher and coordinator added as guests.
- The calendar invite itself is the first notification (free, native, trusted).
- Google Apps Script runs every 15 minutes via a time-driven trigger, scans upcoming events.
- TextMeBot API delivers WhatsApp reminders 24 hours and 30 minutes before each class.
- Google Sheet holds the phone directory so non-technical coordinators can add or edit teachers without touching code.
- Coordinators get their evenings back
- Teachers stop forgetting which week they're assigned
- Kids show up to a class that's actually happening
.
├── README.md ← you are here
├── reminder-script.gs ← the Apps Script (paste into script.google.com)
├── setup-guide.md ← step-by-step deployment guide
├── LICENSE ← MIT
└── .gitignore
If you want to deploy this for your own community organization:
- Create a dedicated Google Calendar
- Create a Google Sheet with three columns:
Email,Name,WhatsApp Number - Sign up at textmebot.com and link your WhatsApp via QR code
- Create a new Google Apps Script project, paste in
reminder-script.gs - Fill in the four config values (Calendar ID, Sheet ID, Sheet Tab name, TextMeBot API key)
- Run
setup()to verify the wiring, thensendTestMessage()to confirm delivery - Add a 15-minute time-driven trigger on
checkAndSendReminders
Full instructions in setup-guide.md.
- Google Calendar — schedule and first-notification
- Google Sheets — phone directory
- Google Apps Script — JavaScript runtime, time-driven triggers
- TextMeBot API — WhatsApp delivery (low-cost, no Facebook account needed)
The hardest part wasn't the code — it was choosing the right WhatsApp delivery method. I went through three iterations before landing on one reliable enough for volunteers who don't have time to debug:
- Meta Cloud API — most enterprise option, generous free tier, but requires an active Facebook account and Business Manager setup. Blocker for me.
- CallMeBot — free and elegant in theory, but per-recipient activation flow is fragile and the bot's number rotates frequently. Two of my test activations got no response.
- TextMeBot — paid (a few euros a month), but works with a single API key linked to one WhatsApp account, and recipients don't need to do anything.
Calendar invites turned out to be an underrated notification primitive — free, native, trusted, and they handle "you've been assigned" perfectly without any code.
A reminder that the real engineering tradeoffs are rarely in the code itself.
MIT — see LICENSE. Use it, fork it, adapt it for your community.
Built by Asifur Rahman — BI Analyst, volunteer coordinator at Bornomala Bangla School, Germany.
If you adapt this for your own school or community, I'd love to hear about it.