Aquarium of Appreciation a.k.a. “Box of Thanks”

This project is now verified by Google!








A.K.A. Box of Thanks

This project was “Box of Thanks” for most of its design cycle, until a deep dive down the rabbit hole of name options with ChatGPT, which yielded, among others, “Basket of Blessings”, “Bin of Beneficence”, “Barrel of Blessings”, “Bottle of Bravos”, “Bowl of Benevolence”, “Binder of Benisons”, “Chest of Cheers”, “Canister of Compliments”, “Cup of Commendations”, “Crate of Credit”, “Capsule of Congratulations”, “Cask of Compliments”, “Coffer of Congratulations”, “Container of Compliments”, “Carafe of Cheers”, “Dish of Devotion”. “Drawer of Dedication”, “Envelope of Esteem”,  “Flask of Felicitations”, “Folder of Favors”, “Goblet of Gratitude”, “Hive of Homage”, “Jar of Jubilation”, “Jug of Joy”, “Keg of Kudos”, “Kit of Kindness”, “Locker of Love”, “Mug of Merit”, “Magazine of Magnanimity”, “Notebook of Nods”, “Niche of Niceties”, “Pouch of Praise”, “Pot of Props”, “Receptacle of Recognition”, “Reservoir of Respect”, “Sack of Salutations”, “Safe of Support”, “Tub of Tribute”, “Trunk of Thanks”, “Urn of Uplift”, “Vase of Validation”

I then requested some names that end with “… of Appreciation”, which yielded “Archive of Appreciation”, “Album of Appreciation”, “Anthology of Appreciation”, “Alcove of Appreciation”, “Atrium of Appreciation” “Attic of Appreciation”, and “Aquarium of Appreciation (if you’re open to a bit of a metaphorical stretch, with each message of appreciation being like a colorful, unique fish in a communal tank)”. Yes, it was ChatGPT’s idea.  It seems more engaging to click ‘Save to Aquarium’ rather than ‘Submit’, and to click on the fish to read the messages others wrote, rather than boring old ‘Read Messages’.  The underlying code is virtually identical.


Having a “Box of Thanks” or “Aquarium of Appreciation” for a class serves as a powerful tool for acknowledgment, recognition, and appreciation. It allows individuals to express their gratitude towards others who have made a positive impact on their lives or contributed to the school community. By encouraging the habit of expressing thanks, the “Box of Thanks” promotes a culture of appreciation and strengthens interpersonal relationships. This practice cultivates emotional intelligence by nurturing empathy, recognizing the efforts of others, and fostering a supportive and uplifting atmosphere.

Having a virtual Box of Thanks or a suggestion box in Google Sheets offers significant practical advantages over a physical box located somewhere at school or in the office. The traditional method of using a physical box requires individuals to locate the box, write their notes on paper using a pen, and physically place their submissions inside. However, this process can be cumbersome and may present several challenges.

Firstly, finding the physical box itself can be a barrier. Individuals must know the specific location where the box is placed, which may not always be easily accessible or well-known to everyone. In contrast, a virtual box in Google Sheets can be easily accessed by all stakeholders with just a click, ensuring that the submission process is convenient and readily available to everyone.

Secondly, the use of paper notes in a physical box can lead to challenges in organization and preservation. Paper scraps can get lost or damaged, making it difficult to keep track of the submissions. On the other hand, a virtual box in Google Sheets allows for efficient data management, ensuring that all entries are stored securely, organized, and easily retrievable.

Furthermore, the process of reading and addressing submissions from a physical box can be time-consuming and limited to a single person or a small group of individuals responsible for handling the box. It may take a considerable amount of time for the box to be opened and for the contents to be reviewed. This can delay acknowledgment or action on the feedback provided. In contrast, a virtual box in Google Sheets enables multiple authorized individuals to access and review the submissions simultaneously, facilitating a more efficient and prompt response to the ideas, suggestions, or expressions of gratitude received.

Welcome to the Aquarium of Appreciation

Under the surface (of the water), it’s just this:

With this tool, students or teachers can share their messages of gratitude by clicking on “Appreciate Someone”. They can also read previous notes of appreciation by clicking on the fish.

The template features an ‘Appreciate Someone’ script-enabled button in the “Main Display” sheet, which allow users to add messages to the aquarium. When clicked, this button opens a modal dialog box with a form, enabling users to enter a name, recipient, and a message of thanks. The form submission triggers the processForm(form) function. This function stores the form values in the “Entries” sheet and protects the newly added range, ensuring that only the owner can edit it.

Each fish is assigned the same Google Apps Script function. Clicking on a fish triggers this getRandomKindness() function. When clicked, this function retrieves a random entry from the “Entries” sheet, displays it in a modal dialog, and keeps track of the displayed rows to avoid displaying the same entry twice.

All the data is stored in a hidden sheet but can be accessed by a user. This is because the script needs to update the entries on the user’s behalf, so it cannot be locked or protected in this implementation.

The data is stored in a hidden sheet but can be accessed by a user. This is because the script needs to update the entries on the user’s behalf, so it cannot be locked or protected in this implementation.


Here is what you can expect when trying to run functions or after clicking on buttons:

1. Authorization Request: When you run the script, you will encounter an authorization request. This is a standard procedure for the script to access specific data within your Google account.

2. Clicking ‘Advanced’: During authorization, you will need to click on ‘Advanced’ to review and understand the script’s permissions.

3. Allowing the Script to Run: You might see a warning about the script being unverified. Rest assured, this is not indicative of any malicious activity. Simply select the option to allow the script to run. It’s important to note that this grants the script permission to read and modify the contents of cells in the sheet, which is necessary for it to perform the requested actions.

Privacy Policy for Aquarium of Appreciation

This is required by Google for verification purposes.

What data do we handle? Our application does not actively collect any personal data. However, the application verifies ownership of the Aquarium of Appreciation Google Sheet Template for certain permissions using the user’s Google account.

Google Data Usage Compliance This application’s use and transfer to any other app of information received from Google APIs will adhere to Google API Services User Data Policy, including the Limited Use requirements. This ensures that your data received via Google APIs is used and handled according to strict standards.

How do we use your data? The user’s Google account is solely used to check the ownership of the Aquarium of Appreciation Google Sheet Template and to grant permissions accordingly within the context of the application.

How is your data stored? All data inputted by the user is stored within the Aquarium of Appreciation Google Sheet Template, and not elsewhere. Users can manually delete the data in the Aquarium of Appreciation Google Sheet Template.

Limited Use Compliance Disclosure We comply with the Google API Services User Data Policy, including the Limited Use requirements. For more information, please review the Google API Services User Data Policy by clicking here What are your data protection rights? You have the right to access your own personal data, which is stored directly in the Aquarium of Appreciation Google Sheet Template you are using. Your data is not stored anywhere else.

Cookies Our application does not use cookies.

Changes to this privacy policy We keep this privacy policy under regular review and place any updates on our website and other platforms where we have posted our application. This privacy policy was last updated on July 26, 2023.

How to contact us If you have any questions about this privacy policy, please do not hesitate to contact us. Email us at megiddo at

Terms of Service (required by Google for verification):

1. Agreement to Terms

By using this Aquarium of Appreciation Google Sheet Template application, you agree to abide by these Terms of Service. If you disagree with any part of the terms, then you may not access the application.

2. Changes to Terms

I reserve the right, at my sole discretion, to modify or replace these Terms at any time.

3. Use of the Application

You are responsible for any activity that occurs through your use of the application. You agree not to distribute any part of the application without my explicit permission.

4. Ownership

The application, including the associated Aquarium of Appreciation Google Sheet Template and Apps Script code, is owned by me. You are granted a limited, non-exclusive, non-transferable license to use the application for its intended purpose.

5. Limitation of Liability

In no event shall I, nor my partners, agents, suppliers, or affiliates, be accountable for any indirect, incidental, special, consequential or punitive damages, including without limitation, loss of profits, data, use, goodwill, or other intangible losses, resulting from your use of the application.

6. Governing Law

These Terms shall be governed and construed in accordance with the laws of [Your Country], without regard to its conflict of law provisions.

7. Contact Information

If you have any questions about these Terms, please contact me at
megiddo at

Complete code and explanations here:

There are 3 scripts you will need to add to the Google Apps Script Editor:  UI.html, and messages.html. You will need all three in order to implement the Box of Thanks in Google Sheets.

Code.GS file:

Box of Thanks - Code.GS

UI.html file:

Box of Thanks - UI.HTML

message.html file:

Box of Thanks - message.HTML

Aquarium of Appreciation - Privacy Policy


Leave a Reply

Your email address will not be published. Required fields are marked *