Google Apps Script is a
scripting platform developed by
Google
Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
for light-weight application development in the
Google Workspace
Google Workspace (formerly G Suite, formerly Google Apps) is a collection of cloud computing, Productivity software, productivity and Collaborative software, collaboration tools, software and products developed and marketed by Google. It con ...
platform. Google Apps Script was initially developed by Mike Harm as a side project while working as a developer on
Google Sheets
Google Sheets is a spreadsheet application and part of the free, web-based Google Docs Editors suite offered by Google. Google Sheets is available as a web application; a mobile app for: Android, iOS, and as a desktop application on Googl ...
.
The primary function of Google Apps Script is to facilitate the creation of custom tools for organizations, primarily focusing on automating tasks and simplifying system administration processes. It supports a community-based model for user support.
Google Apps Script was first publicly announced in May 2009 when a beta testing program was announced by Jonathan Rochelle, then Product Manager for
Google Docs. In August 2009, Google Apps Script was subsequently made available to all Google Apps Premier and Education Edition customers.
Technical details
Until 2020, Google Apps Script was based on
Mozilla
Mozilla is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, publishes and supports Mozilla products, thereby promoting free software and open standards. The community is supported institution ...
's Rhino
JavaScript
JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior.
Web browsers have ...
(JS) interpreter, which limited its JS language support to version 1.6, with a subset of the
ECMAScript
ECMAScript (; ES) is a standard for scripting languages, including JavaScript, JScript, and ActionScript. It is best known as a JavaScript standard intended to ensure the interoperability of web pages across different web browsers. It is stan ...
5 API. In March 2020, Google announced the introduction of the
V8 JS runtime, bringing with it full support of modern
ECMAScript
ECMAScript (; ES) is a standard for scripting languages, including JavaScript, JScript, and ActionScript. It is best known as a JavaScript standard intended to ensure the interoperability of web pages across different web browsers. It is stan ...
except for JS modules.
The development environment for Google Apps Script is hosted in the cloud, with an
IDE with a
debugger
A debugger is a computer program used to test and debug other programs (the "target" programs). Common features of debuggers include the ability to run or halt the target program using breakpoints, step through code line by line, and display ...
for developing scripts directly within a web browser. The infrastructure provided by Google serves as the execution environment for Apps Script projects. This platform enables the automation of tasks across Google services and integration with third-party applications. Additionally, Google Apps Script facilitates the development of add-ons for Google Docs, Sheets, and Slides, enhancing their functionality.
Limitations
Google Apps Script has a number of different limitations. As a cloud-based service, Apps Script limits the time that a user's script may run, as well as limiting access to Google services. Currently, Google Apps Script does not allow direct connections to internal databases, which is key to building business apps. However, this can be overcome via the use of the
JDBC
Java Database Connectivity (JDBC) is an application programming interface (API) for the Java (programming language), Java programming language which defines how a client may access a database. It is a Java-based data access technology used for Java ...
service if connections are allowed from Google servers to the internal database server. Additionally, due to the cloud nature of Apps Script, functions related to date and time will produce results that seem to be incorrect due to the data crossing
time zone
A time zone is an area which observes a uniform standard time for legal, Commerce, commercial and social purposes. Time zones tend to follow the boundaries between Country, countries and their Administrative division, subdivisions instead of ...
s. Using Date/Time objects and functions without precise declaration and thorough testing may result in inaccurate results.
Alongside this Apps Script can be difficult to work with when multiple people are working on a single project. As App Script development is done through an online IDE it can be difficult to integrate App Script projects with traditional
Version control
Version control (also known as revision control, source control, and source code management) is the software engineering practice of controlling, organizing, and tracking different versions in history of computer files; primarily source code t ...
systems like
Git
Git () is a distributed version control system that tracks versions of files. It is often used to control source code by programmers who are developing software collaboratively.
Design goals of Git include speed, data integrity, and suppor ...
. One alternative to this would be to use a tool like Clasp which allows developers to work on there Apps Script projects locally instead of through a web browser.
Add-ons
In March 2014, Google introduced add-ons for
Docs and
Sheets (soon followed by Forms). The add-on stores let users add extra features to Google editors, such as mail-merging, workflows, and diagram builders. All add-ons are either 100% built with Apps Script or simply use Apps Script to display a UI in the Google editors while relying on an external back-end to perform some tasks. For example, MailChimp, a mail-merging tool, has an add-on for Google Docs that communicates with MailChimp platform to send emails.
Before add-ons, it was possible to publish scripts for Google Sheets in the Script Gallery. When users installed scripts through this gallery, a copy of the Apps Script code was installed on the user's Sheet. With add-ons, the source code is not visible to the end user, and everyone is using the latest version published by the developer. This new approach makes it easier to support existing code and helped convince several companies, such as
MailChimp
Mailchimp is a marketing automation and email marketing platform. "Mailchimp" is the trade name of its operator, Rocket Science Group, an American company founded in 2001 by Ben Chestnut and Mark Armstrong, with Dan Kurzius joining at a later ...
or
Lucidchart to invest in Apps Script.
As part of the add-ons release, Google also introduced a UI Style Guide and CSS package to help developers build add-ons that integrate into the editors. Each add-on is also reviewed by Google before its publication, and developers can benefit from advice from Googlers to provide a better user experience. It is not possible to embed ads in add-ons but it is possible to monetize them.
See also
*
List of scripting languages
References
External links
*
Google Apps Script case studies
{{Google LLC
Apps Script
Cross-platform software
JavaScript
Prototype-based programming languages
Object-based programming languages
Scripting languages
Web frameworks
Internet properties established in 2009