This guide tells you how to submit a Hangouts Chat bot to the G Suite Marketplace. Listing your bot this way lets any Hangouts Chat user add it to a space.
Testing within a domain
When you first start developing your bot, you should build and test locally, then expand your scope to include other users in your domain.
You'll create the bot, fill out metadata, and then publish it to specific users, groups, or your entire domain. This work consists of the following steps:
- Create a bot using HTTP, Apps Script, or another technology
- Enable Hangouts Chat API in the API Console and go to the Configuration screen
- Fill out bot data like name, avatar, description
- Choose where the bot works and who can install it in their domain
- Publish the bot
Once your bot has been published—to whomever you specified in the Hangouts Chat API configuration screen—those end users can discover the bot in Hangouts Chat. Users discover the bot by starting a new direct message with it or by adding it to a room:
The autocompletion when they start typing the bot name is how they discover the bot.
G Suite Marketplace publication steps
This section tells you the specific steps you need to perform to publish your bot on G Suite Marketplace. The general steps are:
- Create an OAuth client ID, if your project doesn't already have one.
- Add the G Suite Marketplace SDK to your project and populate its configuration tab.
- Populate the SDK's publish tab and submit.
The detailed steps for each of these are described in the following paragraphs.
Define an OAuth client
You must create an OAuth client ID for any bot you publish. To do this, perform the following steps, using the Google Cloud project that corresponds to the production version of your bot:
- Open your project in the Google Cloud Console.
- Select Credentials then OAuth Consent screen and fill out the consent screen details (the consent screen is usually not displayed to Hangouts Chat users, but is a prerequisite anyway).
- On the Credentials tab, choose Create credentials > OAuth client ID, choosing Web application as the application type.
- Fill out the other OAuth configuration details, then click Create.
Now that your project has an OAuth client ID, you can continue defining the G Suite Marketplace listing.
Populate the configuration tab
When you're ready to release your bot to a wider audience, you can publish it to the G Suite Marketplace for approval. This consists of the following steps:
- Open the Google Cloud Console and choose the project you're using for the production version of your bot.
- Use the ENABLE APIS AND SERVICES button to enable the G Suite Marketplace SDK
- Fill out marketplace listing information in the G Suite Marketplace SDK configuration screen. Be sure to select the following options:
- Select Enable individual install.
- Select Hangouts Chat bot. This links your bot to the marketplace listing.
- Click the 'Save changes' button.
Some other general notes on the config tab:
- The Test installation flow feature of G Suite Marketplace doesn't work for Hangouts Chat bots.
- Even though we don't require OAuth for profile and email scopes, you must create an OAuth client ID to even be able to fill in this page.
- You can't bundle Hangouts Chat bots with other G Suite Marketplace listings.
Populate the publish tab and submit
- After you fill out the configuration tab, you next fill out the Publish tab. Add a detailed description, application banner, any number of screenshots, and choose a Category.
- Make sure that all your graphics assets (icon, application banner, and
screenshots) are sized correctly.
- When you are ready, click the publish button and your bot will be
submitted to reviewers at Google. When it is approved, it will show up in the
autocomplete for all Hangouts Chat users:
Bot approval guidelines
To be approved for public availability, your bot must meet the following requirements:
Bot name & avatar
- The bot has a unique name: there are no other bots with this name
- The name starts with “A-Z” (uppercase) or “0-9”: must not start with a symbol
- The bot's avatar and description are clear and recognizable
- The name does not contain ‘Google’ or any Google applications (e.g. YouTube)
- The avatar does not use Google or Google application trademarks
- The bot does not use trademarks without expressed permission from owner
- The bot sends a welcome message when a user starts a direct message or bot is added to room
- The bot supports a ‘help’ command.
- The bot always responds with something when spoken to in a Room or DM
- All messages use correct spelling, capitalization, punctuation, and grammar
- All messages use clear, concise, consistent formatting for text and cards
- The bot doesn’t spam users: when it's in a room, it calls @all only sparingly
- For responses that take longer than 2 seconds, send a message explaining delay
- Bots that do notifications must allow users to turn them off
- If there are bot setting screens, they must be mobile responsive
- The bot functions as described
- It does not contain malicious, offensive, or abusive material
- It does not have obvious bugs
- It must verify that requests are coming from Google using verification token.
- If it uses sensitive auth scopes, it must have OAuth client verification
- It does not use more Google auth scopes than claimed in marketplace listing
- It only uses those Google auth scopes that it needs in order to work
- The support channel provided is up to date
Bot review process
When you complete the publication steps for a public bot, a request for bot review is automatically sent to the Google review team. A review team member then examines your bot and its listing to ensure it is designed well, follows the style guidelines, takes the appropriate steps to protect user data, and does not include any malicious code or unacceptable content.
After the review team member makes their initial assessment, you will receive an email communicating whether your bot has been approved or if it requires additional work before it is publicly available.
If your bot requires additional work, you will receive a review document containing specific information about what aspects of the bot need improvement. Address all highlighted issues and follow the provided instructions to resubmit your bot. Many developers are required to improve their bots prior to public release; some may be required to do this multiple times. You may always contact our review team for more information and guidance with this process. Once the review team's concerns are satisfied, you will be informed and your bot will become publicly discoverable.