What is Apps Script
Apps Script is a coding platform in G Suite that can be used to build simple applications on top of existing apps such as Sheets, Docs, Forms, etc. For example, you can use Apps Script to send you an email every time a Google Form is submitted. You can also use it to write simple applications such as an application to send you birthday reminders. Apps Script is my secret superpower. It can become yours too!
If you already know JavaScript, you'll find Apps Script to be very familiar because they're both based on the ECMAScript specification. If not, don't worry, Apps Script is easy to learn.
Why should you learn Apps Script?It is easy to get started
One of the most frustrating aspects of learning to code is the amount of time and effort it takes to set up your computer correctly. With Apps Script, you don't have to install anything because Google provides a browser based UI where you can write and run your code. All you need is a web browser, an internet connection and a Google account (GMail or G Suite). Apps Script is FREE and you don't have to pay Google to host your Apps Script applications.
You can apply the concepts you learn almost immediately to solve problems that are important to you
Most programming languages and frameworks have a steep learning curve and it will usually take several weeks or even months to go from writing simple programs to building useful applications.
With Apps Script, you can build useful applications in just a few lines of code. This is because
Apps Script does the heavy lifting in areas that are hard to get right such as authentication, authorization and security.
Apps Script makes it easy for you to build applications that integrate with G Suite apps like Sheets, Docs, Slides and Forms. You can build simple productivity apps that are tailored to your needs.
Google will run your application on their servers for you. You don't have to deal with hosting and running your application.
You can build different types of applications using Apps Script
Here are some types of applications that you can build using Apps Script:
You can automate various tasks and workflows. For example, you can write an Apps Script to automatically generate invoices from data stored in Google Sheets.
You can create custom functions in Sheets. For example, you can write a function that assigns a final grade based on students' test scores.
You can build add-ons for G Suite products like Sheets, Docs, Slides and Forms. Add-ons are apps that other users can install and use. For example, you can build a Google Forms add-on that sends you an email whenever there is a new submission.
You'll also learn a ton of programming concepts along the way. The best part is that you can apply these concepts immediately by building mini applications.
Examples of applications that you can build with Apps Script
I love Apps Script because you can do so many things with it. Here are some types of applications that I've built (or have seen others build):
Reminder apps (eg. send birthday reminders)
Tracker apps (eg. help you track your mood over time)
Workflow automation apps (eg. Mail Merge)
Apps for teaching (eg. create flashcards from data in a Google Sheet)
Google Drive audit (eg. list all the files in Google Drive that are shared with other people)
When should you not use Apps Script?
Apps Script is best suited for writing simple applications on top of G Suite apps. If your use case does not involve any G Suite app then Apps Script may not be the right fit. Google also restricts what you can and cannot do with Apps Script. For example, there are quotas and application review processes (for certain types of apps). That being said, if you are new to programming and you use G Suite, Apps Script is a great way to learn programming since there are a large number of useful apps that you can build for personal use.
I've written a series of articles to teach you how to code with Apps Script. I'm excited to see what applications you will build.
Master Google Sheets Automation
I'd appreciate any feedback you can give me regarding this post.
Was it useful? Are there any errors or was something confusing? Would you like me to write a post about a related topic? Any other feedback is also welcome. Thank you so much!