Page Summary
-
Google Workspace Add-ons provide a framework for extending the functionality of Google Workspace applications like Gmail, Drive, and Calendar.
-
This API enables management of add-on deployments, including creation, deletion, installation, and updates.
-
Developers can define add-on configurations specifying scopes, manifests, and HTTP options for each supported application.
-
Authorization information for deployments is managed through this API, enabling secure access to user data.
-
Deployments can be installed for testing, and their install status can be monitored using this API.
Index
GSuiteAddOns(interface)AddOns(message)AppCommand(message)AppCommand.CommandType(enum)AppsScriptEndpointConfig(message)AppsScriptPerEventEndpointConfig(message)Authorization(message)ChatAppConfig(message)ChatAppConfig.AppState(enum)ChatAppConfig.MarkupSyntax(enum)CloudPubSubEndpointConfig(message)ConnectionConfig(message)CreateDeploymentRequest(message)DeleteDeploymentRequest(message)Deployment(message)DialogflowEndpointConfig(message)DialogflowEndpointConfig.DialogflowEdition(enum)GetAuthorizationRequest(message)GetChatAppConfigRequest(message)GetChatAppConfigRequest.ChatAppConfigView(enum)GetDeploymentRequest(message)GetInstallStatusRequest(message)HttpEndpointConfig(message)HttpPerEventEndpointConfig(message)InstallDeploymentRequest(message)InstallStatus(message)InteractiveFeatureConfig(message)ListDeploymentsRequest(message)ListDeploymentsResponse(message)ReplaceDeploymentRequest(message)UninstallDeploymentRequest(message)UpdateChatAppConfigRequest(message)UrlPattern(message)
GSuiteAddOns
A service for managing Google Workspace add-on deployments.
| CreateDeployment |
|---|
|
Creates a deployment with the specified name and configuration.
|
| DeleteDeployment |
|---|
|
Deletes the deployment with the given name.
|
| GetAuthorization |
|---|
|
Gets the authorization information for deployments in a given project.
|
| GetChatAppConfig |
|---|
|
Gets the Chat app configuration of a project. Only Chat apps built as Google Workspace add-ons are supported. Each Google Cloud project has exactly one Chat app configuration. Requires authenticating and authorizing with user credentials and the
|
| GetDeployment |
|---|
|
Gets the deployment with the specified name.
|
| GetInstallStatus |
|---|
|
Gets the install status of a test deployment.
|
| InstallDeployment |
|---|
|
Installs a deployment to your account for testing. For more information, see Test your add-on
|
| ListDeployments |
|---|
|
Lists all deployments in a particular project.
|
| ReplaceDeployment |
|---|
|
Creates or replaces a deployment with the specified name.
|
| UninstallDeployment |
|---|
|
Uninstalls a test deployment from the user’s account. For more information, see Test your add-on.
|
| UpdateChatAppConfig |
|---|
|
Updates the Chat app configuration of a project. Only Chat apps built as Google Workspace add-ons are supported. Each Google Cloud project has exactly one Chat app configuration. Requires authenticating and authorizing with user credentials and the
|
AddOns
A Google Workspace add-on configuration.
| Fields | |
|---|---|
common |
Configuration that is common across all Google Workspace add-ons. |
gmail |
Gmail add-on configuration. |
drive |
Drive add-on configuration. |
calendar |
Calendar add-on configuration. |
docs |
Docs add-on configuration. |
meet |
Meet add-on configuration. |
sheets |
Sheets add-on configuration. |
slides |
Slides add-on configuration. |
httpOptions |
Options for sending requests to add-on HTTP endpoints |
AppCommand
Configuration for an app command.
| Fields | |
|---|---|
commandType |
Required. The type of this command. |
commandId |
Required. The ID of the command (1-1000). Must be unique within the app. |
command |
Optional. The name of the command. Required for SLASH_COMMAND, do not set for other command types. Must start with a "/", e.g., "/command". |
displayName |
Optional. The user-friendly display name of the command. Required for MESSAGE_ACTION and QUICK_COMMAND, do not set for SLASH_COMMAND. |
description |
Required. A short description of the command. |
dialogEnabled |
Optional. Whether this command should trigger a dialog. Defaults to |
loadingNotificationMessage |
Optional. A notification to be sent to the user when they trigger the message action. Only supported for MESSAGE_ACTION commands. |
CommandType
The type of the App Command.
| Enums | |
|---|---|
COMMAND_TYPE_UNSPECIFIED |
Default value. Unspecified. |
SLASH_COMMAND |
A command invoked by typing a '/' followed by the command name. It may accept additional arguments in the message text. |
QUICK_COMMAND |
A quick command invoked from the message compose context menu. Quick commands do not accept additional arguments. |
MESSAGE_ACTION |
A command invoked from a message context menu. |
AppsScriptEndpointConfig
Apps Script endpoint configuration.
| Fields | |
|---|---|
deploymentId |
Required. The Apps Script deployment ID. |
perEventEndpointConfig |
Optional. The names of the Apps Script functions that Google Chat calls for each type of interactive event. If not specified, Chat calls the default function for each event type. |
AppsScriptPerEventEndpointConfig
Apps Script endpoint configuration for specific event types.
| Fields | |
|---|---|
appCommandEndpoint |
Optional. Function name for app command events. If not specified, the default |
addedToSpaceEndpoint |
Optional. Function name for added to space events. If not specified, the default |
messageEndpoint |
Optional. Function name for message events. If not specified, the default |
removedFromSpaceEndpoint |
Optional. Function name for removed from space events. If not specified, the default |
Authorization
The authorization information used when invoking deployment endpoints.
| Fields | |
|---|---|
name |
The canonical full name of this resource. Example: |
serviceAccountEmail |
The email address of the service account used to authenticate requests to add-on callback endpoints. |
oauthClientId |
The OAuth client ID used to obtain OAuth access tokens for a user on the add-on's behalf. |
ChatAppConfig
Represents the configuration of a Google Chat app built as a Google Workspace add-on.
| Fields | |
|---|---|
name |
Required. Identifier. Resource name of the Chat app configuration. Format: |
displayName |
Required. The display name of the Chat app. Length should be between 3 and 25 characters. |
description |
Required. A short description of the Chat app. Should be between 1 and 40 characters. |
interactiveFeatureConfig |
Optional. The settings for interactive features of the app. If this is not provided, the app will be non-interactive, meaning that it can use the Chat API, but users can't interact with the app. |
avatarUri |
Optional. The URL for the app's avatar image. Must be an HTTPS URL that hosts a square (aspect ratio of 1:1) PNG image. Recommended minimum size: 256 by 256 pixels. A default app avatar will be used if not specified. |
state |
Optional. The state of the app. Defaults to |
errorLoggingEnabled |
Optional. Whether to log errors to Cloud Logging. Defaults to |
markupSyntax |
Optional. The default markup syntax for messages sent or read by this Chat app. Defaults to |
AppState
The current state of the Chat app.
| Enums | |
|---|---|
APP_STATE_UNSPECIFIED |
Default value. Unspecified. |
ACTIVE |
Maps to LIVE in the Chat API configuration page. The app is active, it can be found and used by people with visibility. |
DISABLED |
The app is disabled, it can no longer be found by anyone, and nobody can talk to the app any more. |
MarkupSyntax
The markup syntax used to format message text for this Chat app.
| Enums | |
|---|---|
MARKUP_SYNTAX_UNSPECIFIED |
Default value. Unspecified. Existing Chat apps created before markup_syntax was introduced have this value and use MARKUP_SYNTAX_CHAT until explicitly updated. |
MARKUP_SYNTAX_CHAT |
Uses Google Chat's markup syntax. See https://developers.google.com/workspace/chat/format-messages#format-texts for more information. |
MARKUP_SYNTAX_MARKDOWN |
Uses Markdown syntax. This syntax is based on the CommonMark specification, with additional extensions. See https://developers.google.com/workspace/chat/format-messages#format-texts for more information. |
CloudPubSubEndpointConfig
Pub/Sub endpoint configuration.
| Fields | |
|---|---|
topic |
Required. The Pub/Sub topic to which Google Chat publishes all interactive events. The topic must be in the same Google Cloud project as the app, and Chat must have permission to publish messages to the topic. For details, see Build a Google Chat app with Pub/Sub. Format: |
ConnectionConfig
How the app receives events.
| Fields | |
|---|---|
Union field config. The type of connection. config can be only one of the following: |
|
httpEndpointConfig |
HTTP endpoint configuration. |
appsScriptEndpointConfig |
Apps Script deployment configuration. |
cloudPubSubEndpointConfig |
Pub/Sub topic configuration. |
dialogflowEndpointConfig |
Dialogflow configuration. |
CreateDeploymentRequest
Request message to create a deployment.
| Fields | |
|---|---|
parent |
Required. Name of the project in which to create the deployment. Example: Authorization requires the following IAM permission on the specified resource
|
deploymentId |
Required. The ID to use for this deployment. The full name of the created resource will be |
deployment |
Required. The deployment to create (deployment.name cannot be set). |
DeleteDeploymentRequest
Request message to delete a deployment.
| Fields | |
|---|---|
name |
Required. The full resource name of the deployment to delete. Example: Authorization requires the following IAM permission on the specified resource
|
etag |
The etag of the deployment to delete. If this is provided, it must match the server's etag. |
Deployment
A Google Workspace add-on deployment
| Fields | |
|---|---|
name |
The deployment resource name. Example: |
oauthScopes[] |
The list of Google OAuth scopes for which to request consent from the end user before executing an add-on endpoint. |
addOns |
The Google Workspace add-on configuration. |
etag |
This value is computed by the server based on the version of the deployment in storage, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. |
DialogflowEndpointConfig
Dialogflow endpoint configuration.
| Fields | |
|---|---|
dialogflowEdition |
Required. The Dialogflow edition. |
agent |
Optional. The Dialogflow CX agent or environment name. Required for Dialogflow CX. Do not set for Dialogflow ES. Format: |
DialogflowEdition
Dialogflow edition type.
| Enums | |
|---|---|
DIALOGFLOW_EDITION_UNSPECIFIED |
Default value. Unspecified. |
ES |
Dialogflow ES edition. To use this edition, a Dialogflow ES agent must exist in the same Google Cloud project as the app. Google Chat sends all interactive events to that agent. |
CX |
Dialogflow CX edition. To use this edition, a Dialogflow CX agent must exist in the same Google Cloud project as the app and be specified in the agent field. Google Chat sends all interactive events to that agent. |
GetAuthorizationRequest
Request message to get the Google Workspace add-on authorization information.
| Fields | |
|---|---|
name |
Required. Name of the project for which to get the Google Workspace add-on authorization information. Example: Authorization requires the following IAM permission on the specified resource
|
GetChatAppConfigRequest
Request message to get the Chat app configuration.
| Fields | |
|---|---|
name |
Required. Resource name of the Chat app configuration. Format: Authorization requires the following IAM permission on the specified resource
|
view |
Optional. The view of the ChatAppConfig to return. If unspecified, defaults to |
ChatAppConfigView
A view that specifies which fields should be populated in the ChatAppConfig resource.
| Enums | |
|---|---|
CHAT_APP_CONFIG_VIEW_UNSPECIFIED |
The default or unset value. Defaults to BASIC. |
BASIC |
Populates only the basic metadata about the app configuration, without the interactive feature configuration. This is the default value. |
FULL |
Populates all the fields including the interactive feature configurations. |
GetDeploymentRequest
Request message to get a deployment.
| Fields | |
|---|---|
name |
Required. The full resource name of the deployment to get. Example: Authorization requires the following IAM permission on the specified resource
|
GetInstallStatusRequest
Request message to get the install status of a test deployment.
| Fields | |
|---|---|
name |
Required. The full resource name of the deployment. Example: Authorization requires the following IAM permission on the specified resource
|
HttpEndpointConfig
HTTP endpoint configuration.
| Fields | |
|---|---|
Union field config. The HTTP endpoint URL configuration. config can be only one of the following: |
|
commonUrl |
Optional. The HTTPS URL to which Google Chat sends all interactive events. |
perEventEndpointConfig |
Optional. Separate HTTPS URLs to which Google Chat sends each type of interactive event. |
HttpPerEventEndpointConfig
HTTP endpoint configuration for specific event types.
| Fields | |
|---|---|
appCommandEndpoint |
Required. HTTPS URL endpoint for app command events. |
addedToSpaceEndpoint |
Required. HTTPS URL endpoint for added to space events. |
messageEndpoint |
Required. HTTPS URL endpoint for message events. |
removedFromSpaceEndpoint |
Required. HTTPS URL endpoint for removed from space events. |
InstallDeploymentRequest
Request message to install a deployment for testing.
| Fields | |
|---|---|
name |
Required. The full resource name of the deployment to install. Example: Authorization requires the following IAM permission on the specified resource
|
InstallStatus
Install status of a test deployment.
| Fields | |
|---|---|
name |
The canonical full resource name of the deployment install status. Example: |
installed |
True if the deployment is installed for the user. |
InteractiveFeatureConfig
Settings for the interactive features of the app.
| Fields | |
|---|---|
connectionConfig |
Required. How the app receives events from Google Chat. |
appCommands[] |
Optional. Configuration for app commands. |
urlPatterns[] |
Optional. Configuration for link previews. |
allowlistedTestingPrincipals[] |
Optional. The email addresses of users and groups in your Google Workspace domain who can find and use the app. |
supportsMultiuserSpaces |
Optional. Whether the app can be added to 1:1 human DMs, group chats and spaces. Defaults to |
ListDeploymentsRequest
Request message to list deployments for a project.
| Fields | |
|---|---|
parent |
Required. Name of the project in which to create the deployment. Example: Authorization requires the following IAM permission on the specified resource
|
pageSize |
The maximum number of deployments to return. The service might return fewer than this value. If unspecified, at most 1,000 deployments are returned. The maximum possible value is 1,000; values above 1,000 are changed to 1,000. |
pageToken |
A page token, received from a previous When paginating, all other parameters provided to |
ListDeploymentsResponse
Response message to list deployments.
| Fields | |
|---|---|
deployments[] |
The list of deployments for the given project. |
nextPageToken |
A token, which can be sent as |
ReplaceDeploymentRequest
Request message to create or replace a deployment.
| Fields | |
|---|---|
deployment |
Required. The deployment to create or replace. Authorization requires the following IAM permission on the specified resource
|
UninstallDeploymentRequest
Request message to uninstall a test deployment.
| Fields | |
|---|---|
name |
Required. The full resource name of the deployment to install. Example: Authorization requires the following IAM permission on the specified resource
|
UpdateChatAppConfigRequest
Request message for UpdateChatAppConfig.
| Fields | |
|---|---|
chatAppConfig |
Required. The app configuration to update. Authorization requires the following IAM permission on the specified resource
|
updateMask |
Optional. The list of fields to update. If omitted, only the fields with non-empty values in the provided Chat app configuration are updated. |
UrlPattern
Configuration for a link preview.
| Fields | |
|---|---|
hostPattern |
Required. The domain to match. Match a specific subdomain, like "subdomain.example.com", or an entire domain by including an asterisk (*) as a leading wildcard character. For example, "*.example.com" matches "https://subdomain.example.com" and "https://any.number.of.subdomains.example.com". |
pathPrefix |
Optional. Path prefix appended to the host pattern. If blank, matches all URLs in the host pattern. For example, when paired with the host pattern "subdomain.example.com", specify "path/" to match page URLs that begin with "https://subdomain.example.com/path/". |