Publish apps

Once you’ve created a Chat app, you can publish it so that it’s available to select people or groups, everyone in your domain, or any Google Chat user. Users can start a direct message with the app or add it to a space by choosing it from the proposed recipient list as shown below.

Users can also narrow the proposed recipient list by @mentioning the app by name. For example, if you publish an app called “Scheduler Bot” and a user in your domain types “@sch”, then Google Chat will propose your app as one of the autocomplete options.

Share your app with others

To make your app available to others, you must enable and configure the Google Chat API. See Enable the Google Chat API.

Depending on your intended audience and domain settings, you might need to perform the additional steps listed below.

Share your app only within your domain

Unless your administrator must manually add trusted apps, your app becomes available to the users you specify in the Chat API when you save the app configuration.

If your administrator must manually add trusted apps, perform the steps below:

  1. Follow the steps to publish your app privately to your domain using the Google Workspace Marketplace SDK. See Publish your app with the Google Workspace Marketplace SDK.
  2. Have your administrator add your app to the domain’s allowlist.

Make your app public

After you configure the Chat API, follow the steps to publish publicly using the Google Workspace Marketplace SDK. See Publish your app with the Google Workspace Marketplace SDK.

Enable the Google Chat API

Set up a project for your app in the Google API Console and enable the Google Chat API.

  1. Use the button below to create a new project (or select an existing one) and add a service account to it. Give the service account the Project Owner role.
    Enable the API
  2. Save the downloaded JSON key. Your app can use this key to authenticate messages that it sends to spaces asynchronously.
  3. Open your project in the API Console. In the list of APIs, click Google Chat API.
  4. Select the Configuration tab and enter the information for the app, as described below.

When you save the app configuration, your app becomes available to the specified users in your domain.

About app configuration

Field Description
App name The name that people use when interacting with your app.
Avatar URL An HTTPS URL pointing to a square graphics image (e.g. PNG or JPEG), at least 128x128, that will appear as the avatar for your app.
Description A description of the app's functionality which appears below your app's name.
Functionality A set of fields that determine what events can trigger the app:
  • App works in spaces: Enables apps to be triggered by name in chat spaces.
  • App works in spaces with multiple users: Enables sending direct messages to the app.
Connection settings The endpoint for the app, which is one of the following:
  • App URL: An HTTPS endpoint where the app implementation is hosted.
  • Apps Script project: A deployment ID for an Apps Script project that implements an app.
  • Cloud Pub/Sub topic name: A Cloud Pub/Sub topic that the app subscribes to as an endpoint.
  • Dialogflow: Registers the app with a Dialogflow integration. For more information, see the Dialogflow documentation on integration with Google Chat.
Slash commands Commands that can be surfaced to users within Google Chat. Allows users to see core actions for your app within Google Chat, and choose a specific action they wish to interact with.
Link unfurling URL patterns that the app recognizes and provides additional content for when users send links. For more information, refer to Unfurl links.
Permissions The developer-specified permissions for the app. You can give install permissions to all members of your domain, or just to select individuals or groups. NOTE: If your administrator requires apps to be added to the domain's allowlist, these permissions won't take effect until you publish your app to your domain using the Google Workspace Marketplace SDK and have it added to the allowlist by your administrator.

Disable your app

After you save the configuration page, an App Status field appears. This field lets you control whether the app is Live or Disabled.

To disable a Chat app:

  1. Open the Google Cloud Console.
  2. If necessary, select the Google Cloud project that hosts the Chat app:
    1. Next to "Google Cloud Platform," click the Down arrow . A dialog listing current projects appears.
    2. Select the project that hosts the migrated Chat app.
    3. Click Open.
  3. Search for "Google Chat API" and click Google Chat API.
  4. Click Manage.
  5. Click Configuration.
  6. In the "App status" section, select Disabled.
  7. Click Save.

Grant app configuration permissions

You can grant specific users access to the app configuration page. To do this, use the Chat Apps Owner and Chat Apps Viewer IAM roles. Users with these roles can't navigate to the app configuration page via the APIs & Services dashboard, but can access the configuration page by navigating to the console for their project as follows:

https://console.developers.google.com/apis/api/chat.googleapis.com/hangouts-chat?project=your-project-id

Publish your app with the Google Workspace Marketplace SDK

Use the Google Workspace Marketplace SDK to:

  • Publish your app publicly and let any Google Chat user add your Chat app to a space.
  • Publish your app to your domain if your administrator needs to add trusted Chat apps to the domain’s allowlist.

Before you publish your app using the Google Workspace Marketplace SDK, follow these steps:

  1. Test your Chat app. Make sure your app is fully functional and not a work in progress.
  2. Review the publication requirements and verify that your app satisfies all of them. See Areas of review.
  3. Record your app’s version number--you need this to configure the Google Workspace Marketplace SDK.

When you’re ready to publish, see Overview: Publish an app.