Requirements
- A Google Workspace account with Google Chat access. The Workspace domain can be different from Atoll’s production app domain.
- Google Workspace administrator access for domain-wide installation in the Workspace domain you use for rollout.
- A Google Cloud project owned by the Google account or Workspace organization that will configure the Chat app.
- The Atoll Google Chat app configured in Google Cloud with the Chat API enabled and interactive features pointed at Atoll.
GOOGLE_CHAT_AUDIENCEorGOOGLE_CHAT_CALLBACK_URLset to the HTTPS callback URL configured in Google Chat. If neither is set, Atoll derives the callback fromNEXT_PUBLIC_APP_URL.- Google application credentials that can request the
https://www.googleapis.com/auth/chat.botscope. GOOGLE_CHAT_ADMIN_INSTALL_URLset to the Workspace admin install URL. SetGOOGLE_CHAT_MARKETPLACE_LISTING_URLwhen a Marketplace listing is available.- Atoll organization owner or admin access.
Google Cloud setup
Use one Cloud project for the Chat app. Google’s Chat API configuration controls the app identity users see in Chat, while the Marketplace SDK controls listing visibility and admin installation. The Google Workspace account/domain and the Atoll production domain do not need to match. For example, you can configure and test the Chat app from a Workspace account on one domain while the app callback, support, privacy, and terms URLs live onatollhq.com.
1. Prepare URLs and assets
Before opening Google Cloud, decide these values:| Item | Value |
|---|---|
| Chat callback URL | https://atollhq.com/api/integrations/google-chat/events |
| App name | Atoll |
| Avatar URL | https://njkleeczlhowxkaszvii.supabase.co/storage/v1/object/public/attachments/public/google-chat/atoll-chat-avatar-256.png |
| Description | Atoll mention notifications |
| Support URL | https://atollhq.com/about |
| Privacy policy URL | https://atollhq.com/legal/privacy |
| Terms URL | https://atollhq.com/legal/terms |
agent-pm/public/google-chat/ and are also uploaded to Supabase storage:
| Asset | Local file | Public URL |
|---|---|---|
| Chat avatar, 256x256 | agent-pm/public/google-chat/atoll-chat-avatar-256.png | https://njkleeczlhowxkaszvii.supabase.co/storage/v1/object/public/attachments/public/google-chat/atoll-chat-avatar-256.png |
| Marketplace icon, 128x128 | agent-pm/public/google-chat/atoll-chat-marketplace-icon-128.png | https://njkleeczlhowxkaszvii.supabase.co/storage/v1/object/public/attachments/public/google-chat/atoll-chat-marketplace-icon-128.png |
| Marketplace icon, 32x32 | agent-pm/public/google-chat/atoll-chat-marketplace-icon-32.png | https://njkleeczlhowxkaszvii.supabase.co/storage/v1/object/public/attachments/public/google-chat/atoll-chat-marketplace-icon-32.png |
| Marketplace banner, 220x140 | agent-pm/public/google-chat/atoll-chat-marketplace-banner-220x140.png | https://njkleeczlhowxkaszvii.supabase.co/storage/v1/object/public/attachments/public/google-chat/atoll-chat-marketplace-banner-220x140.png |
https://atollhq.com/google-chat/....
Suggested Marketplace copy:
| Field | Suggested value |
|---|---|
| Short description | Get Atoll mention notifications in Google Chat. |
| Detailed description | Atoll sends direct-message notifications in Google Chat when someone mentions you in an Atoll task. Workspace admins install the Chat app, and each user links their own direct message with a one-time command from Atoll profile settings. |
| Setup URL | https://docs.atollhq.com/integrations/google-chat |
| Admin config URL | https://docs.atollhq.com/integrations/google-chat |
| Developer email | support@atollhq.com |
2. Enable APIs
- Open the Google Cloud project.
- Configure the OAuth consent screen for the project.
- Enable the Google Chat API.
- Enable the Google Workspace Marketplace SDK.
3. Configure the Chat API
In Google Cloud Console, open APIs & Services > Google Chat API > Configuration. Set Application info:- App name:
Atoll. - Avatar URL:
https://njkleeczlhowxkaszvii.supabase.co/storage/v1/object/public/attachments/public/google-chat/atoll-chat-avatar-256.png. - Description:
Atoll mention notifications.
- Enable interactive features.
- Under Functionality, leave Join spaces and group conversations unchecked for the first rollout. Atoll currently delivers mention notifications through direct messages with the Chat app. Enable this later only if you want the app to be addable to group spaces.
- Under Connection settings, choose HTTP endpoint URL.
- If Google shows Triggers, select Specify an HTTP endpoint URL for each trigger and enter the same Atoll callback URL in every required field:
| Trigger field | Value |
|---|---|
| App command | https://atollhq.com/api/integrations/google-chat/events |
| Added to space | https://atollhq.com/api/integrations/google-chat/events |
| Message | https://atollhq.com/api/integrations/google-chat/events |
| Removed from space | https://atollhq.com/api/integrations/google-chat/events |
- Do not add commands in the Commands section for this version. Atoll links users by parsing a normal direct message that starts with
connect <token>, not by using a slash command. - Do not add Link previews for this version.
- Under Visibility during testing, check Make this chat app available to specific people and groups and enter your own Google Workspace email address or a test Google Group from the Workspace domain you are using for setup. To make the app available beyond that test domain, publish/install it through the Google Workspace Marketplace flow below.
- Under Logs, check Log errors to Logging so callback and configuration errors are visible in Google Cloud Logs Explorer.
- Authentication audience: choose the HTTP endpoint URL option and use
https://atollhq.com/api/integrations/google-chat/events.
MESSAGE, ADDED_TO_SPACE, and REMOVED_FROM_SPACE events to this endpoint. Atoll uses direct-message MESSAGE events to consume connect <token> commands and REMOVED_FROM_SPACE to revoke a user’s link when the app is removed from that direct message.
4. Create app credentials
Atoll sends Google Chat messages with app authentication and thehttps://www.googleapis.com/auth/chat.bot scope.
- In Google Cloud Console, open IAM & Admin > Service Accounts.
- Create a service account for the Chat app, for example
atoll-chat. - Create a JSON key for the service account.
- Store the key only in the deployment secret store. Do not commit it.
GOOGLE_APPLICATION_CREDENTIALS_JSON to the full JSON key. For environments with a mounted secret file or workload identity, use Google’s standard Application Default Credentials path and set GOOGLE_APPLICATION_CREDENTIALS when needed.
chat.bot app auth does not require the extra one-time Workspace administrator approval that the newer chat.app.* scopes require. The Chat app still must be installed in a user’s direct message before Atoll can deliver to that direct-message space.
Google’s app authentication docs:
5. Configure the Marketplace SDK
In Google Cloud Console, open APIs & Services > Google Workspace Marketplace SDK > App Configuration. Recommended starting configuration:- App visibility: Private for the Workspace domain while testing. Public requires Google review.
- Installation settings: For Chat apps, use Individual + Admin Install. Workspace admins can still install the app for the domain, groups, or organizational units; domain policy can restrict whether individual users may install apps themselves.
- App integration: Google Chat app.
- OAuth scopes: include
https://www.googleapis.com/auth/chat.bot. - Developer information: fill in the support/developer contact fields.
6. Create the Marketplace listing
Open APIs & Services > Google Workspace Marketplace SDK > Store Listing and fill out:- App details and descriptions.
- Icons, banner, and screenshots.
- Terms, privacy, and support links.
- Optional setup/admin configuration links pointing to this guide or your internal runbook.
Atoll deployment config
Set these variables in the Atoll deployment:GOOGLE_CHAT_AUDIENCE is optional when it matches GOOGLE_CHAT_CALLBACK_URL, but setting both makes the Google token verification behavior explicit.
After setting the variables:
- Deploy Atoll with the Google Chat migration applied.
- Confirm the callback route is reachable:
POST /api/integrations/google-chat/events. - Open Settings > Integrations > Google Chat as an Atoll owner/admin.
- Confirm the install link appears.
Workspace admin setup
- In Atoll, open Settings > Integrations > Google Chat.
- Open the admin install link.
- In Google Admin, choose Everyone at your organization or selected groups and organizational units.
- Return to Atoll and send a test message from the Google Chat integration card.
google_chat_installations.admin_install_url row for the organization or a deployment-level GOOGLE_CHAT_ADMIN_INSTALL_URL.
User setup
Users can open Settings > Profile > Notification preferences and turn on Google Chat mentions. If the app is installed by the Workspace admin, Atoll sends enabled mention notifications to the user’s direct message with the Atoll app. To link a direct message, users generate a one-time Connect Google Chat command from Profile settings, copy it, and send it to the Atoll app in Google Chat. The command expires after 10 minutes and can only be used once. If Google Chat includes a verified email address in an event, Atoll can also use it as a fallback link signal. Recommended rollout copy:- Ask users to open Settings > Profile > Notification preferences in Atoll.
- Turn on Google Chat mentions.
- Click Generate under Connect Google Chat.
- Copy the
connect <token>command. - Open a direct message with the Atoll app in Google Chat and send the command.
- Return to Atoll or ask an admin to send a test message.
Delivery behavior
Atoll keeps in-app notifications as the source of truth. Google Chat delivery is a separate channel for mentions. Muting Google Chat mentions does not clear existing in-app notifications. Muting in-app mentions does not stop Google Chat mention delivery when Google Chat mentions remain enabled.API endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /api/orgs/{id}/integrations/google-chat | Read Google Chat integration status |
POST | /api/orgs/{id}/integrations/google-chat/link-token | Create a one-time user connect command |
POST | /api/orgs/{id}/integrations/google-chat/test-message | Send a Google Chat test message to the current admin |
POST | /api/integrations/google-chat/events | Receive Google Chat app events |

