An automated smart-sheet system to monitor borrowed assignments and fair notebooks.
Solution to track your goods.
This repository contains the Google Apps Script source code and the setup guide for a smart notebook tracking system. Designed to prevent lost assignments and fair notebooks, it automatically logs timestamps when a status changes and sends HTML email alerts for items that have been borrowed for too long.
The backend automation is divided into two main scripts:
| File Name | Description | Automation Triggers |
|---|---|---|
update.js |
Handles real-time sheet edits. Auto-generates timestamps and manages the "Borrowed By" column dynamically. | onEdit(e) (Simple Trigger) |
reminder.js |
Calculates date differences and sends automated, formatted HTML emails for overdue items. | Time-Driven (Cron) Trigger |
Follow these steps to deploy your own automated tracker in under 5 minutes.
Click the link below to generate your own private copy of the tracker sheet. This will also carry over the background scripts.
🔗 Get the Google Sheet Template Here
To receive alerts, you need to tell the script where to send them.
- In your copied Google Sheet, click on Extensions > Apps Script.
- Open the
reminder.gsfile. - Scroll to the bottom and replace the placeholder email with your actual email address.
Before the scripts can run, you must grant Google permission to send emails on your behalf.
- In the Apps Script editor, select the
checkOverdueNotebooksfunction from the top toolbar dropdown. - Click Run.
- A warning pop-up will appear. Click Review permissions > Choose your account > Advanced > Go to Tracker (unsafe).
Set the script to check your notebook statuses automatically every morning.
- Click the Clock Icon (Triggers) on the left sidebar of the Apps Script editor.
- Click + Add Trigger (bottom right).
- Set it up exactly like this:
- Function:
checkOverdueNotebooks - Event Source:
Time-driven - Type of trigger:
Day timer - Time of day:
8 AM to 9 AM
- Function:
- Click Save.
Once configured, the system will calculate the difference between the LAST UPDATED date and TODAY(). If a notebook's status is not set to "Me" and has been missing for over 5 days, you will receive an automated HTML report.




