Google Chat is Google Workspace's messaging service for direct messages, group conversations and spaces, with support for Chat apps, interactive cards and attachments. The UnifyApps Google Chat connector uses the Google Chat API to create and manage spaces and memberships, send, read and delete messages, send card messages, download attachments and react when your Chat app receives a message or is added to a space, from workflows and agents.
This guide covers every authentication type available on the connection form, and the actions and triggers supported, along with the Google Chat scope each one needs.
Authentication
Before you begin, you should have the following information:
Connection name: a descriptive name such as MyAppGoogleChatIntegration, so the connection is easy to identify later.
Authentication type: select the type of authentication for connecting to your Google Chat account:
OAuth
OAuth with Client Credentials
Service Account
OAuth has no Scopes field and always requests chat.messages, chat.messages.readonly, chat.messages.create, chat.spaces, chat.spaces.readonly, chat.spaces.create, chat.memberships, chat.memberships.readonly, chat.memberships.app and chat.delete. OAuth with Client Credentials has a Scopes field with the same ten scopes selected by default. Service Account has an optional Scopes field that defaults to chat.app.messages, chat.app.memberships, chat.app.spaces.create, chat.bot, chat.messages, chat.spaces, chat.delete and chat.memberships. See the Scopes Required column in the tables below.
1. OAuth
Use this when you want to connect with your own Google account and do not need to create a Google Cloud app.
Enter a Connection name.
Select OAuth as the Authentication type.
Click Authorize. You are redirected to the Google sign-in page.
Sign in with the Google account the connection should act as in Google Chat.
Review the permissions on the consent screen and click Allow.
You are redirected back to UnifyApps with a confirmation that the account is connected.
2. OAuth with Client Credentials
Use this when your organization wants the connection to use its own Google Cloud OAuth client, while actions still run as the Google user who signs in.
Step 1: Create an OAuth client in Google Cloud
In the Google Cloud Console, select or create a project, and enable the Google Chat API under APIs & Services → Library.
Open the Google Chat API's Configuration page, enter an App name, Avatar URL and Description under Application info, and click Save. Google Chat API calls need a configured Chat app in the project.
Go to Google Auth platform → Branding. If you see Google Auth platform not configured yet, click Get Started, enter an App name, User support email, Audience and contact email, and click Create.
Go to Data Access, click Add or Remove Scopes, select the Google Chat scopes the connection will use, and click Save. If the audience is External, add the users who will sign in under Audience → Test users.
Go to Google Auth platform → Clients and click Create Client. Choose Web application as the Application type and enter a name.
Under Authorized redirect URIs, click Add URI and paste the Callback URL shown on the UnifyApps connection form (it is copyable and differs per environment).
Click Create, then copy the Client ID and Client secret. Copy the secret immediately: Google shows it only once.


Step 2: Connection setup in UnifyApps
Open Connections → New Connection → Google Chat and enter a Connection name.
Select OAuth with Client Credentials as the Authentication type.
Enter the Client ID and Client Secret copied from Google Cloud.
Keep the default Scopes, or select the same scopes you added to the consent screen.
Click Authorize, sign in with Google and click Allow on the consent screen.
Confirm the success message after the redirect back to UnifyApps.
3. Service Account
Use this for Google Workspace domains, where a service account acts on behalf of a user in the domain through domain-wide delegation. No user has to sign in.
Step 1: Create a service account in Google Cloud
In the Google Cloud Console, select or create a project, enable the Google Chat API under APIs & Services → Library, and fill in the Application info on the Google Chat API's Configuration page.
Go to IAM & Admin → Service Accounts and click Create service account. Enter a name and click Done.
Open the service account and copy its Email. Click Show advanced settings and, under Domain-wide delegation, copy the Client ID used in the next step.
Go to the Keys tab → Add key → Create new key, choose JSON and click Create. The downloaded file holds the
client_emailandprivate_key. Store it securely.


Step 2: Give the service account domain-wide access
A Google Workspace super administrator opens the Admin console → Security → Access and data control → API controls.
Click Manage Domain Wide Delegation → Add new.
Enter the service account's client ID, add the OAuth scopes the connection will request (for example
https://www.googleapis.com/auth/chat.messages,https://www.googleapis.com/auth/chat.spaces,https://www.googleapis.com/auth/chat.membershipsandhttps://www.googleapis.com/auth/chat.delete), separated by commas, and click Authorize. See Delegate domain-wide authority to your service account for details.
Note: every scope selected in the UnifyApps Scopes field must also be authorized here, or Google refuses to issue a token. Because this type always acts as the User email, select only user scopes such as chat.messages, chat.spaces, chat.memberships and chat.delete. Google does not allow the chat.bot and chat.app.* scopes in the default list with domain-wide delegation; they are for a Chat app authenticating as itself. Google says changes can take up to 24 hours to apply.
Step 3: Create the connection in UnifyApps
Select Service Account as the Authentication type.
Enter the GCP Project Service Account Email and paste the Private Key from the JSON key file.
Enter the User email of the Workspace user the connection acts as.
In Scopes, clear the default
chat.botandchat.app.*scopes and keep the scopes granted in Step 2.Click Create. Google Chat has no connection test, so the credentials are first checked when an action runs.
Actions
Scopes are shown in short form: chat.messages means https://www.googleapis.com/auth/chat.messages. Any broader scope also works.
Actions | Description | Scopes Required |
|---|---|---|
| Adds your Chat app (bot) to a Google Chat space. | chat.memberships.app (or chat.memberships) |
| Adds a user to a Google Chat space. | chat.memberships |
| Sends a rich card message with interactive elements to a Google Chat space as your Chat app. | chat.bot (app authentication only) |
| Creates a message in Google Chat. | chat.messages.create (or chat.messages) |
| Creates a space in Google Chat. | chat.spaces.create (or chat.spaces) |
| Deletes a message in Google Chat. | chat.messages |
| Deletes a space in Google Chat. | chat.delete |
| Downloads an attachment in Google Chat. | chat.messages.readonly (or chat.messages) |
| Gets a list of messages in a Google Chat space. | chat.messages.readonly (or chat.messages) |
| Gets a list of spaces in Google Chat. | chat.spaces.readonly (or chat.spaces) |
| Gets a message from Google Chat. | chat.messages.readonly (or chat.messages) |
| Gets a space in Google Chat. | chat.spaces.readonly (or chat.spaces) |
| Gets a list of members in a Google Chat space. | chat.memberships.readonly (or chat.memberships) |
| Sends a rich card message with interactive elements to a Google Chat space through the space's incoming webhook. | None; uses the webhook key and token from the space's incoming webhook |
Triggers
Both triggers receive events from your Chat app over HTTP, so they need no scope. Copy the Webhook URL shown in the trigger, then in the Google Cloud Console open the Google Chat API's Configuration page. Under Interactive features, turn them on and select Join spaces and group conversations. Under Connection settings, select HTTP endpoint URL, then under Triggers select Use a common HTTP endpoint URL for all triggers, paste the webhook URL and click Save.
Triggers | Description | Scopes Required |
|---|---|---|
| Triggers when your Google Chat app is added to a new space. | None; set up in the Chat app configuration |
| Triggers when your Google Chat app receives a message. In spaces, the app receives a message only when it is @mentioned. | None; set up in the Chat app configuration |