The resource configuration that is used to define
[Google Workspace add-on](https://developers.google.com/workspace/add-ons/concepts/types#g_suite_add-ons)
content and behavior. add-on manifests must include all
components marked as **Required**.

## AddOns

The top-level of the Google Workspace add-on manifest configuration.

| JSON representation |
|---|
| ``` { "common": { object (Common) }, "calendar": { object (Calendar) }, "chat": { object (Chat) }, "drive": { object (Drive) }, "gmail": { object (Gmail) }, "docs": { object (Docs) }, "sheets": { object (Sheets) }, "slides": { object (Slides) }, "meet": { object (Meet) } } ``` |

| Fields ||
|---|---|
| `common` | `object (https://developers.google.com/apps-script/manifest/addons#common)` **Required.** Defines values for a [Google Workspace add-on](https://developers.google.com/workspace/add-ons/concepts/types#g_suite_add-ons) that are common for every host application. Values defined here serve as defaults when specific values for a particular host are omitted. |
| `calendar` | `object (https://developers.google.com/apps-script/manifest/calendar-addons)` **Required if the Google Workspace add-on extends Calendar**. Appearance and behavior configurations within the Google Calendar host application. If omitted, the add-on is disabled in Google Calendar. |
| `chat` | `object ()` **Required if the Google Workspace add-on extends Chat**. Configuration of a Google Chat app. If omitted, the add-on is disabled in Google Chat. The `addOns.chat` object must be empty. To configure add-on behavior and appearance in Chat, see [Configure a Google Chat app.](https://developers.google.com/workspace/chat/configure-chat-api) |
| `drive` | `object (https://developers.google.com/apps-script/manifest/drive-addons)` **Required if the Google Workspace add-on extends Drive**. Appearance and behavior configurations within the Drive host application. If omitted, the add-on is disabled in Drive. |
| `gmail` | `object (https://developers.google.com/apps-script/manifest/gmail-addons)` **Required if the Google Workspace add-on extends Gmail**. Appearance and behavior configurations within the Gmail host application. If omitted, the add-on is disabled in Gmail. |
| `docs` | `object (https://developers.google.com/apps-script/manifest/editor-addons)` **Required if the Google Workspace add-on extends Docs**. Appearance and behavior configurations within the Docs host application. If omitted, the add-on is disabled in Docs. |
| `sheets` | `object (https://developers.google.com/apps-script/manifest/editor-addons)` **Required if the Google Workspace add-on extends Sheets**. Appearance and behavior configurations within the Sheets host application. If omitted, the add-on is disabled in Sheets. |
| `slides` | `object (https://developers.google.com/apps-script/manifest/editor-addons)` **Required if the Google Workspace add-on extends Slides**. Appearance and behavior configurations within the Slides host application. If omitted, the add-on is disabled in Slides. |
| `meet` | `object (https://developers.google.com/apps-script/manifest/meet-addons)` **Required if the Google Workspace add-on extends Meet**. Appearance and behavior configurations within the Meet host application. If omitted, the add-on is disabled in Meet. |

### Common

Manifest configuration for parameters common to every
[host application](https://developers.google.com/workspace/add-ons/guides/glossary#host_or_host_application).
Values defined here serve as defaults when specific values for a host are
omitted.

| JSON representation |
|---|
| ``` { "homepageTrigger": { object (HomepageTrigger) }, "layoutProperties": { object (LayoutProperties) }, "logoUrl": string, "name": string, "openLinkUrlPrefixes": [ string ], "universalActions": [ { object (UniversalAction) } ], "useLocaleFromApp": boolean } ``` |

| Fields ||
|---|---|
| `homepageTrigger` | `object (https://developers.google.com/apps-script/manifest/homepage-trigger)` The default trigger function for the add-on [homepage](https://developers.google.com/workspace/add-ons/concepts/homepages). This specification is used if a host-specific homepage trigger isn't defined. If omitted, a generic homepage card is used. |
| `layoutProperties` | `object (https://developers.google.com/apps-script/manifest/addons#layoutproperties)` Configuration for the colors used in the add-on toolbar and buttons. |
| `logoUrl` | `string` **Required.** The public URL of the toolbar image. |
| `name` | `string` **Required.** The name of the add-on shown in the toolbar. |
| `openLinkUrlPrefixes[]` | `string` **Required if the add-on displays outbound links within widgets using an [`OpenLink`](https://developers.google.com/apps-script/reference/card-service/open-link) or text widget using HTML anchor tags.** A list of HTTPS URL prefixes. To protect user data, links rendered by the add-on must match a prefix in this list. See [Allowlist URLs](https://developers.google.com/apps-script/add-ons/concepts/workspace-manifests#allowlist) for details. |
| `universalActions[]` | `object (https://developers.google.com/apps-script/manifest/addons#universalaction)` List of [universal actions](https://developers.google.com/workspace/add-ons/how-tos/universal-actions) always available in the add-on UI. |
| `useLocaleFromApp` | `boolean` If `true`, add-on [event objects](https://developers.google.com/workspace/add-ons/concepts/event-objects) passed to [action callback functions](https://developers.google.com/workspace/add-ons/concepts/actions#callback-functions) or trigger functions include the user locale and timezone. Defaults to `false`. See [Accessing user locale and timezone](https://developers.google.com/workspace/add-ons/how-tos/access-user-locale) for details. |

### LayoutProperties

Configuration for the Google Workspace add-on
toolbar and button appearance.

| JSON representation |
|---|
| ``` { "primaryColor": string, "secondaryColor": string } ``` |

| Fields ||
|---|---|
| `primaryColor` | `string` Toolbar color. Defaults to grey (#424242). |
| `secondaryColor` | `string` Default button color. Defaults to the primary color if set; otherwise defaults to blue (#2196F3). |

### UniversalAction

Configuration for a
[universal action](https://developers.google.com/workspace/add-ons/how-tos/universal-actions).
When selected, a universal action opens a URL or runs a
Apps Script function.

| JSON representation |
|---|
| ``` { "label": string, // Union field rule can be only one of the following: "openLink": string, "runFunction": string, // End of list of possible types for union field rule. } ``` |

| Fields ||
|---|---|
| `label` | `string` **Required for each universal action.** The UI menu text for this action. |
| `openLink` | `string` **Required for each universal action if `runFunction` is missing.** The URL that opens in a tab when selected. |
| `runFunction` | `string` **Required for each universal action if `openLink` is missing.** The name of the Apps Script function that executes when selected. See the [Universal actions](https://developers.google.com/workspace/add-ons/how-tos/universal-actions) guide for details. |