11 Google apps, 1 platform in the cloud
Try a 5-minute quickstart
Add-on for Google DocsCreate a Docs add-on that transforms selected text into other languages with Google Translate.
Macros, menus, and custom functionsTailor spreadsheet functions to your needs and build reports with a custom menu in Google Sheets.
Managing responses for Google FormsEmail Calendar invites and a personalized Google Doc to every user who responds to a form.
Build add-ons to extend Google Sheets, Docs, and Forms
Desktop add-ons for Docs, Sheets and Forms
Apps Script makes it easy to create and publish add-ons in an online store for Google Sheets, Docs, and Forms. There’s no better way to distribute scripts to large numbers of users, whether you want to ship your code to the whole world or keep it private to the users in your Google Apps domain.
Android add-ons for Docs and Sheets
Developers can use Apps script to connect Android apps to the Google Docs and Sheets apps on Android. This allows users to pass data to and from their Docs and Sheets to those apps, all from their mobile device.
A living, breathing platform (well, metaphorically)
October 19, 2016
- Added X-Frame-Option header support to HtmlService, allowing iframes to render Apps Script HTML and web apps.
July 28, 2016
- Added support for Android add-ons. Now you can make Google Docs and Sheets add-ons that work on Android.
July 12, 2016
- The use of project keys to identify scripts is now deprecated. The preferred unique identifier for a script is the Script ID. There are no plans to turn off or disable the use of project keys; code that uses project keys will continue to work for the foreseeable future.
April 11, 2016
- Support for
PATCHrequests has been added to
February 29, 2016Announcing the following recent changes:
The Spreadsheet API adds a new NamedRange type and the following related methods:
- NamedRange.getName() gets the name of the named range
- NamedRange.setName(name) sets the name of the named range
- NamedRange.getRange() gets the underlying range associated with the named range
- NamedRange.setRange(range) sets the underlying range associated with the named range
- NamedRange.remove() deletes the named range
- Spreadsheet.getNamedRanges() gets an array of all the named ranges in the spreadsheet
- Sheet.getNamedRanges() gets an array of all the named ranges in the sheet
- Protection.setNamedRange(range) associates an existing protected range with an existing named range
The Utilities API includes a new getUuid() method that generates a unique identifier.