Stay organized with collections
Save and categorize content based on your preferences.
This page describes the top-level of an Apps Script project's
manifest file JSON data structure. The manifest defines the function or purpose
of the Apps Script project.
The configuration of the project if deployed as a
Google Chat app.
Note: For new Chat apps, we recommend that you use the addOns.chat field instead. If you are maintaining an existing Chat app that uses the chat field, it should be an empty object.
To configure the details of the
Chat app, you must
enable the Google Chat API. For details, see
Configure the
Google Chat API.
Apps Script handles authorization at the script level.
Chat apps that require authorization can't perform
any actions until the user authorizes the Chat app.
To post a message before authorization, you can add an
addToSpaceFallbackMessage object to the manifest. If
your Chat app requires
initialization logic, you might need to duplicate this logic in the
onMessage action.
The following example shows a Chat app
that responds with a default welcome message when a user adds it
to a Chat space:
"chat": {
"addToSpaceFallbackMessage": "Thank you for adding me!"
}
The runtime version the
script is using. If this field is not present in the manifest, the
script uses the default runtime (STABLE). Valid options
for this field are the following:
STABLE indicates the default runtime
(currently Rhino).
V8 indicates the V8 powered runtime.
DEPRECATED_ES5 indicates the Rhino runtime. Setting
this value also prevents automatic migration to V8.
A list of HTTPS URL prefixes. If present, any URL endpoint fetched
must match one of the prefixes in this list. This can help to protect
user data. This field is optional for test deployments, but is
required for deployments. Learn more about
allowlisting URLs.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-18 UTC."],[[["\u003cp\u003eThe manifest file defines the configuration of an Apps Script project, including add-ons, Chat apps, dependencies, and execution settings.\u003c/p\u003e\n"],["\u003cp\u003eThe manifest uses a JSON structure with top-level fields like \u003ccode\u003eaddOns\u003c/code\u003e, \u003ccode\u003echat\u003c/code\u003e, \u003ccode\u003edependencies\u003c/code\u003e, \u003ccode\u003eexceptionLogging\u003c/code\u003e, \u003ccode\u003eexecutionApi\u003c/code\u003e, \u003ccode\u003eoauthScopes\u003c/code\u003e, \u003ccode\u003eruntimeVersion\u003c/code\u003e, \u003ccode\u003esheets\u003c/code\u003e, \u003ccode\u003etimeZone\u003c/code\u003e, \u003ccode\u003eurlFetchWhitelist\u003c/code\u003e, and \u003ccode\u003ewebapp\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eEach top-level field provides specific configurations for different aspects of the project like add-on types, Chat app behavior, external libraries, and runtime environment.\u003c/p\u003e\n"],["\u003cp\u003eThe manifest structure allows developers to control various aspects of their Apps Script project, such as authorization scopes, exception logging, and the execution environment.\u003c/p\u003e\n"],["\u003cp\u003eDetailed substructures and examples are provided in separate pages for each top-level field within the manifest file.\u003c/p\u003e\n"]]],[],null,[]]