Create a Google Chat app that you can directly message and that responds by echoing your messages.
The following diagram shows the architecture and messaging pattern:
In the preceding diagram, a user interacting with an Apps Script Chat app has the following flow of information:
- A user sends a message to a Chat app, either in a direct message or in a Chat space.
- The Chat app logic that's implemented in Apps Script, which resides in Google Cloud, receives and processes the message.
- Optionally, the Chat app logic can integrate with Google Workspace services, such as a Calendar or Sheets, or other Google Services, such as Google Maps or YouTube.
- The Chat app logic sends a response back to the Chat app service in Chat.
- The response is delivered to the user.
- Set up your environment.
- Set up the script.
- Publish the Chat app.
- Test the Chat app.
Set up your environment
Open your Cloud project in the Google Cloud console
If it's not open already, open the Cloud project that you intend to use for this sample:
- In the Google Cloud console, go to the Select a project page.
- Select the Google Cloud project you want to use. Or, click Create project and follow the on-screen instructions. If you create a Google Cloud project, you might need to turn on billing for the project.
Turn on the Chat APIBefore using Google APIs, you need to turn them on in a Google Cloud project. You can turn on one or more APIs in a single Google Cloud project.
In the Google Cloud console, enable the Google Chat API.
Configure the OAuth consent screen
All apps using OAuth 2.0 require a consent screen configuration. Configuring your app's OAuth consent screen defines what is displayed to users and app reviewers, and registers your app so you can publish it later.
- In the Google Cloud console, go to Menu > APIs & Services > OAuth consent screen.
- Select the user type for your app, then click Create.
- Complete the app registration form, then click Save and Continue.
For now, you can skip adding scopes and click Save and Continue. In the future, when you create an app for use outside of your Google Workspace organization, you must add and verify the authorization scopes that your app requires.
- If you selected External for user type, add test users:
- Under Test users, click Add users.
- Enter your email address and any other authorized test users, then click Save and Continue.
- Review your app registration summary. To make changes, click Edit. If the app registration looks OK, click Back to Dashboard.
Set up the script
To set up the script, you use a template and then set your Cloud project in Apps Script.
Create the script from the template
- Go to the Apps Script Getting Started page.
- Click the Chat App template. You might have to scroll down to see this template.
- Click Untitled project, type
Quickstart app, and click Rename.
Copy the Cloud project number
- Go to your Cloud project in the Google Cloud console.
- Click Settings and Utilities > Project settings.
- Copy the Project number.
Set the Apps Script project's Cloud project
- In the Chat app Apps Script project, click Project Settings .
- Under Google Cloud Platform (GCP) Project, click Change project.
- In GCP project number, paste the Google Cloud project number.
- Click Set project.
You now have working app code that you can try out (as described in the following steps) and then customize to meet your requirements.
Make sure that you're signed in to the correct Google Account when you open the Apps Script template. The current account can sometimes switch to your default account without you noticing.
Create a test deployment
You need a deployment ID for this Apps Script project, so that you can use it in the next step.
To get the head deployment ID, do the following:
- In the Chat app Apps Script project, click Deploy > Test deployments.
- Copy the Head deployment ID for use in a later step and click Done.
Publish the Chat app
Publish the Chat app from the Google Cloud console.
- In the
Google Cloud console,
Google Chat API, and click Google Chat API.
- Click Manage.
Click Configuration and set up the Chat app:
- In the App name field, enter
- In the Avatar URL field, enter
- In the Description field, enter
- Under Functionality, select Receive 1:1 messages and Join spaces and group conversations.
- Under Connection settings, select Apps Script project and paste the Deployment ID into the field.
- Under Visibility, select Specific people and groups in your domain, and enter your email.
- In the App name field, enter
Click Save and refresh the page.
On the configuration page, under App status, set the status to Live - available to users.
The Chat app is ready to respond to messages.
Test the Chat app
- Open Chat.
- Send a new direct message to the app by clicking Start a chat > Find apps.
- On the Find apps page, search for
- Next to Quickstart App, click Chat.
- In the new direct message with the app, type
The app thanks you for adding it and echoes your message.
- Create interactive cards–Card messages support a defined layout, interactive UI elements like buttons, and rich media like images. Use card messages to present detailed information, gather information from users, and guide users to take a next step.
- Support slash commands–Slash commands let
you register and advertise specific commands that users can give your app
by typing a command that begins with a forward slash (
- Launch dialogs–Dialogs are windowed, card-based interfaces that your app can open to interact with a user. Multiple cards can be strung together sequentially, which helps users complete multi-step processes, like filling in form data.