You can connect Opal to Google Chat to send notifications to users about access reviews and requests. Use the following steps to set up an Opal Google Chat app that can send messages to your users.
Create a service account for the project, giving it an appropriate name.Then go to the Keys tab of your service account and create a new JSON key. The key will be downloaded after creation.Opal uses the non-sensitive https://www.googleapis.com/auth/chat.bot scope for most operations. However, the chat app also needs domain-wide delegation for the readonly directory scope in order to find users and send them direct messages.To do that, go to domain-wide delegation, select Add New, and enter your service account’s client ID, granting it the following scope:
For self-hosted customers, Opal supports interaction through Google Chat messages directly to take actions like approving or denying requests. To do so, we will use pub/sub.First, create a pub/sub topic in your project here. Keep Add a default subscription enabled and leave the other options as the defaults.
Name your topic opal-chat.
This creates a topic and an associated subscription named opal-chat-sub.
Edit the subscription and ensure that the retry policy is Retry after exponential backoff.
Assign the Pub/Sub Publisher role on your project to the following service account :chat-api-push@system .gserviceaccount.com.Assign the Pub/Sub Subscriber role on the subscription to the service account you created for the chat app above.Go back to the Google Chat API configuration, toggle on Enable Interactive Features and enter the following settings:
Enable Receive 1:1 messages and Join spaces and group conversations.
Select Cloud Pub/Sub and enter your topic’s name, e.g., projects/<project-name>/topics/opal-chat.
Leave everything else default and save.
Cloud
For cloud customers, Opal’s Google Chat integration does not yet support interactivity. To allow the app to be published and installed into your workspace, go to the Google Chat API configuration, toggle on Enable Interactive Features and enter the following settings:
Enable Receive 1:1 messages and Join spaces and group conversations.
Select Cloud Pub/Sub and enter the topic name, e.g., projects/<project-name>/topics/opal-uninteractive-chat.
Leave everything else default and save.
4. Publish the Chat App
Enable the Google Workspace Marketplace SDK** API on your project.On the App configuration tab, enter the following:
App Visibility: Private
Installation Settings: Individual + Admin Install
App Integration: Chat app
For the OAuth scopes, enter https://www.googleapis.com/auth/admin.directory.user.readonly.
For Developer info, enter:
Developer Name: Opal
Developer Website URL: https://www.opal.dev/
Developer Email: support@opal.dev
Save the draft.There will be a prompt at the top of the App configuration section about setting up the OAuth consent screen. Use it to navigate to the setup page. For the settings, enter:
User Type: Internal
App Name: Opal
User Support Email: Select an appropriate support contact from the dropdown.
Select Save and continue, then skip the scope section for now by selecting it again.
Go back to the Google Workspace Marketplace SDK API page, where you should no longer see the warning about the OAuth screen. Go to the Store Listing tab to publish the app. Enter the following:
Go to the admin console to view apps installed in your workspace.Search for Opal and select the app. Select Admin Install, make sure Everyone at your organization is selected, and select Finish.
6. Connect Google Chat to Opal
In the Opal dashboard, go to Configuration > Settings > Productivity Integrations. Select the option to connect a Google Chat Integration. You’ll need two pieces of credentials:
The service account key JSON that you downloaded earlier
The email of an admin user which the chat app can authenticate as to use the domain wide delegated scopes you granted earlier
After you select Create, you’re done setting up the app. Users will begin to receive notifications about access requests and reviews and can toggle their notifications in their account settings.
Last modified on October 28, 2025
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Opal Security Docs","colors":{"primary":"#0C7997","light":"#EDFCFC","dark":"#074055"},"logo":{"light":"https://mintcdn.com/opalsecurity/FBbZyeMPZrA69UcV/logo/logo-dark.svg?fit=max\u0026auto=format\u0026n=FBbZyeMPZrA69UcV\u0026q=85\u0026s=93a4bd75f157f9f0ab43cdf4d715b5cd","dark":"https://mintcdn.com/opalsecurity/FBbZyeMPZrA69UcV/logo/logo-light.svg?fit=max\u0026auto=format\u0026n=FBbZyeMPZrA69UcV\u0026q=85\u0026s=1774b545e4f1c5cad647f5194f7b26d9"},"favicon":{"light":"https://mintcdn.com/opalsecurity/DRAwGKUXMxLRQouh/logo/icon-opal-black.svg?fit=max\u0026auto=format\u0026n=DRAwGKUXMxLRQouh\u0026q=85\u0026s=9c8bd1204b6b5b83542c2ab5be549858","dark":"https://mintcdn.com/opalsecurity/DRAwGKUXMxLRQouh/logo/icon-opal-white.svg?fit=max\u0026auto=format\u0026n=DRAwGKUXMxLRQouh\u0026q=85\u0026s=73b53b4ceab6ae0b00e30b2042a6020a"},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","latex":false},"integrations":{"ga4":{"measurementId":"G-1PPPM1WF6D"}},"errors":{"404":{"redirect":false,"title":"Page can't be found","description":"Sorry! This page might have been moved, or the link might be broken. Go back to our documentation via https://docs.opal.dev/docs/welcome."}},"metadata":{"timestamp":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"opalsecurity","hasAudioNarration":false,"actualSubdomain":"opalsecurity","customDomains":["docs.opal.dev"],"gitSource":{"type":"github","owner":"opalsecurity","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af7bc9ca5d707e66c231413","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"API Reference","count":218},{"language":"default","tag":"Opal API","count":213},{"language":"default","tag":"Documentation","count":104},{"language":"default","tag":"Integrations","count":103},{"language":"default","tag":"Entitlement Management","count":69},{"language":"default","tag":"resources","count":34},{"language":"default","tag":"groups","count":32},{"language":"default","tag":"Getting Started","count":25},{"language":"default","tag":"Access Management","count":22},{"language":"default","tag":"Infrastructure","count":22}]},"assistantConfig":{"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"deflection":{"enabled":true,"email":"support@opal.dev","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"integrations/google-chat","slug":"/integrations/google-chat","pageMetadata":{"title":"Google Chat","description":"Learn how to connect Opal to Google Chat.","href":"/integrations/google-chat"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Learn how to connect Opal to Google Chat.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,OptimizedImage}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`You can connect Opal to Google Chat to send notifications to users about access reviews and requests. Use the following steps to set up an Opal Google Chat app that can send messages to your users.`}),`\n`,_jsx(Heading,{level:`2`,id:`1-create-a-project`,children:`1. Create a Project`}),`\n`,_jsxs(_components.p,{children:[`In the GCP console, `,_jsx(_components.a,{href:`https://console.cloud.google.com/projectcreate`,children:`create a new project`}),` where your chat app will live.`]}),`\n`,_jsx(Heading,{level:`2`,id:`2-set-up-service-account-credentials`,children:`2. Set up Service Account Credentials`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://console.cloud.google.com/iam-admin/serviceaccounts/create`,children:`Create a service account`}),` for the project, giving it an appropriate name.`]}),`\n`,_jsxs(_components.p,{children:[`Then go to the `,_jsx(_components.strong,{children:`Keys`}),` tab of your service account and create a new JSON key. The key will be downloaded after creation.`]}),`\n`,_jsxs(_components.p,{children:[`Opal uses the non-sensitive `,_jsxs(_components.a,{href:`https://developers.google.com/workspace/chat/authenticate-authorize`,children:[_jsx(_components.code,{children:`https://www.googleapis.com/auth/chat.bot`}),` scope `]}),`for most operations. However, the chat app also needs domain-wide delegation for the readonly directory scope in order to find users and send them direct messages.`]}),`\n`,_jsxs(_components.p,{children:[`To do that, go to `,_jsx(_components.a,{href:`https://admin.google.com/ac/owl/domainwidedelegation`,children:`domain-wide delegation`}),`, select `,_jsx(_components.strong,{children:`Add New`}),`, and enter your service account’s client ID, granting it the following scope:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://www.googleapis.com/auth/admin.directory.user.readonly`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`2`,id:`3-set-up-google-chat-app`,children:`3. Set up Google Chat App`}),`\n`,_jsxs(_components.p,{children:[`Enable the Google Chat API for the project in the `,_jsx(_components.a,{href:`https://console.cloud.google.com/apis/library`,children:`APIs library`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Then configure the `,_jsx(_components.a,{href:`https://console.cloud.google.com/apis/api/chat.googleapis.com/hangouts-chat`,children:`chat app settings`}),`. Set the Application Info with the following:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`App Name`}),`: `,_jsx(_components.code,{children:`Opal`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Avatar URL`}),`: `,_jsx(_components.code,{children:`https://opal-logos.s3.us-east-2.amazonaws.com/opal-thumbnail-logo.png`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Description`}),`: Chat app for Opal notifications.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`self-hosted`,children:`Self-hosted`}),`\n`,_jsxs(_components.p,{children:[`For self-hosted customers, Opal supports interaction through Google Chat messages directly to take actions like approving or denying requests. To do so, we will use `,_jsx(_components.a,{href:`https://developers.google.com/workspace/chat/quickstart/pub-sub`,children:`pub/sub`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`First, create a pub/sub topic in your project `,_jsx(_components.a,{href:`https://console.cloud.google.com/cloudpubsub/topic/list`,children:`here`}),`. Keep `,_jsx(_components.strong,{children:`Add a default subscription`}),` enabled and leave the other options as the defaults.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Name your topic `,_jsx(_components.code,{children:`opal-chat`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`This creates a topic and an associated subscription named `,_jsx(_components.code,{children:`opal-chat-sub`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Edit the subscription and ensure that the retry policy is `,_jsx(_components.strong,{children:`Retry after exponential backoff`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Assign the `,_jsx(_components.strong,{children:`Pub/Sub Publisher`}),` role on your project to the following service account :`,_jsx(_components.code,{children:`chat-api-push@system .gserviceaccount.com`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Assign the `,_jsx(_components.strong,{children:`Pub/Sub Subscriber`}),` role on the subscription to the service account you created for the chat app above.`]}),`\n`,_jsxs(_components.p,{children:[`Go back to the Google Chat API configuration, toggle on `,_jsx(_components.strong,{children:`Enable Interactive Features`}),` and enter the following settings:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Enable `,_jsx(_components.strong,{children:`Receive 1:1 messages`}),` and `,_jsx(_components.strong,{children:`Join spaces and group conversations`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Cloud Pub/Sub`}),` and enter your topic’s name, e.g., `,_jsx(_components.code,{children:`projects/\u003cproject-name>/topics/opal-chat`}),`.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Leave everything else default and save.`}),`\n`,_jsx(Heading,{level:`3`,id:`cloud`,children:`Cloud`}),`\n`,_jsxs(_components.p,{children:[`For cloud customers, Opal’s Google Chat integration does not yet support interactivity. To allow the app to be published and installed into your workspace, go to the Google Chat API configuration, toggle on `,_jsx(_components.strong,{children:`Enable Interactive Features`}),` and enter the following settings:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Enable `,_jsx(_components.strong,{children:`Receive 1:1 messages`}),` and `,_jsx(_components.strong,{children:`Join spaces and group conversations`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Cloud Pub/Sub`}),` and enter the topic name, e.g., `,_jsx(_components.code,{children:`projects/\u003cproject-name>/topics/opal-uninteractive-chat`}),`.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Leave everything else default and save.`}),`\n`,_jsx(Heading,{level:`2`,id:`4-publish-the-chat-app`,children:`4. Publish the Chat App`}),`\n`,_jsx(_components.p,{children:`Enable the Google Workspace Marketplace SDK** API on your project.`}),`\n`,_jsx(_components.p,{children:`On the App configuration tab, enter the following:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`App Visibility`}),`: `,_jsx(_components.code,{children:`Private`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Installation Settings`}),`: `,_jsx(_components.code,{children:`Individual + Admin Install`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`App Integration`}),`: `,_jsx(_components.code,{children:`Chat app`})]}),`\n`,_jsxs(_components.li,{children:[`For the OAuth scopes, enter `,_jsx(_components.code,{children:`https://www.googleapis.com/auth/admin.directory.user.readonly`}),`.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`For Developer info, enter:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Developer Name`}),`: `,_jsx(_components.code,{children:`Opal`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Developer Website URL`}),`: `,_jsx(_components.code,{children:`https://www.opal.dev/`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Developer Email`}),`: `,_jsx(_components.code,{children:`support@opal.dev`})]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Save the draft.`}),`\n`,_jsxs(_components.p,{children:[`There will be a prompt at the top of the App configuration section about setting up the OAuth consent screen. Use it to navigate to the `,_jsx(_components.a,{href:`https://console.cloud.google.com/apis/credentials/consent`,children:`setup page`}),`. For the settings, enter:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`User Type`}),`: `,_jsx(_components.code,{children:`Internal`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`App Name`}),`: `,_jsx(_components.code,{children:`Opal`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`User Support Email`}),`: Select an appropriate support contact from the dropdown.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Developer Contact Information`}),`: `,_jsx(_components.a,{href:`mailto:support@opal.dev`,children:`support@opal.dev`})]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Save and continue`}),`, then skip the scope section for now by selecting it again.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Go back to the `,_jsx(_components.code,{children:`Google Workspace Marketplace SDK`}),` API page, where you should no longer see the warning about the OAuth screen. Go to the `,_jsx(_components.strong,{children:`Store Listing`}),` tab to publish the app. Enter the following:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Category`}),`: Communication`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Graphics Assets`}),`: Download Opal’s `,_jsx(_components.a,{href:`https://files.readme.io/5dec2a0fe3c00ceaa88ac200ab36823d09bc93c182a99bc0538389de5e87b0b7-opal-logo.png`,children:`logo`}),` and `,_jsx(_components.a,{href:`https://files.readme.io/d3cc5c572e555879c006fdc585858bf18e6ea5ea935acf86ed5025e8c2edafd6-opal-banner.png`,children:`banner`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Screenshots`}),`: Use `,_jsx(_components.a,{href:`https://files.readme.io/c5a5169b38d3748e1cee7c69293da7be1d3dc4814599c6b90e70940fce26dd8e-Screenshot_2025-01-23_at_2.45.45_PM.png`,children:`this screenshot`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Terms of Service URL`}),`: `,_jsx(_components.code,{children:`https://www.opal.dev/tos`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Privacy Policy URL`}),`: `,_jsx(_components.code,{children:`https://www.opal.dev/privacy-policy`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Support URL`}),`: `,_jsx(_components.code,{children:`https://opal.instatus.com/`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Regions`}),`: Select `,_jsx(_components.code,{children:`All Regions`}),`.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Save the draft, then publish.`}),`\n`,_jsx(Heading,{level:`2`,id:`5-install-the-chat-app-to-your-workspace`,children:`5. Install the Chat App to your workspace`}),`\n`,_jsxs(_components.p,{children:[`Go to the `,_jsx(_components.a,{href:`https://admin.google.com/ac/apps/gmail/marketplace/apps`,children:`admin console`}),` to view apps installed in your workspace.`]}),`\n`,_jsxs(_components.p,{children:[`Search for `,_jsx(_components.code,{children:`Opal`}),` and select the app. Select `,_jsx(_components.strong,{children:`Admin Install`}),`, make sure `,_jsx(_components.strong,{children:`Everyone at your organization`}),` is selected, and select `,_jsx(_components.strong,{children:`Finish`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`6-connect-google-chat-to-opal`,children:`6. Connect Google Chat to Opal`}),`\n`,_jsxs(_components.p,{children:[`In the Opal dashboard, go to `,_jsx(_components.strong,{children:`Configuration`}),` > `,_jsx(_components.strong,{children:`Settings`}),` > `,_jsx(_components.strong,{children:`Productivity Integrations`}),`. Select the option to connect a `,_jsx(_components.strong,{children:`Google Chat Integration`}),`. You’ll need two pieces of credentials:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The service account key JSON that you downloaded earlier`}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/opalsecurity/TlQj9FwRe9HHNEYB/images/docs/0552251ba5a6f521b9f086b30e82097ae8f9a8eb97cf28211a2f42af6119ca82-Screenshot_2025-01-23_at_4.05.38_PM.png?fit=max\u0026auto=format\u0026n=TlQj9FwRe9HHNEYB\u0026q=85\u0026s=3e4b380785bf31de36c67225a6035b99`,alt:``,\"data-og-width\":`1238`,width:`1238`,\"data-og-height\":`632`,height:`632`,\"data-path\":`images/docs/0552251ba5a6f521b9f086b30e82097ae8f9a8eb97cf28211a2f42af6119ca82-Screenshot_2025-01-23_at_4.05.38_PM.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/opalsecurity/TlQj9FwRe9HHNEYB/images/docs/0552251ba5a6f521b9f086b30e82097ae8f9a8eb97cf28211a2f42af6119ca82-Screenshot_2025-01-23_at_4.05.38_PM.png?w=280\u0026fit=max\u0026auto=format\u0026n=TlQj9FwRe9HHNEYB\u0026q=85\u0026s=d60a56f69ef002c06b5b6e7c94ecae56 280w, https://mintcdn.com/opalsecurity/TlQj9FwRe9HHNEYB/images/docs/0552251ba5a6f521b9f086b30e82097ae8f9a8eb97cf28211a2f42af6119ca82-Screenshot_2025-01-23_at_4.05.38_PM.png?w=560\u0026fit=max\u0026auto=format\u0026n=TlQj9FwRe9HHNEYB\u0026q=85\u0026s=faee1d18f606c823a53e509feb01dc5a 560w, https://mintcdn.com/opalsecurity/TlQj9FwRe9HHNEYB/images/docs/0552251ba5a6f521b9f086b30e82097ae8f9a8eb97cf28211a2f42af6119ca82-Screenshot_2025-01-23_at_4.05.38_PM.png?w=840\u0026fit=max\u0026auto=format\u0026n=TlQj9FwRe9HHNEYB\u0026q=85\u0026s=90e200f56998b037fbc819637fa324b7 840w, https://mintcdn.com/opalsecurity/TlQj9FwRe9HHNEYB/images/docs/0552251ba5a6f521b9f086b30e82097ae8f9a8eb97cf28211a2f42af6119ca82-Screenshot_2025-01-23_at_4.05.38_PM.png?w=1100\u0026fit=max\u0026auto=format\u0026n=TlQj9FwRe9HHNEYB\u0026q=85\u0026s=42e4530c601acf903245e3eb6163972e 1100w, https://mintcdn.com/opalsecurity/TlQj9FwRe9HHNEYB/images/docs/0552251ba5a6f521b9f086b30e82097ae8f9a8eb97cf28211a2f42af6119ca82-Screenshot_2025-01-23_at_4.05.38_PM.png?w=1650\u0026fit=max\u0026auto=format\u0026n=TlQj9FwRe9HHNEYB\u0026q=85\u0026s=ad5126d80bbcefa10acd250454ffbd73 1650w, https://mintcdn.com/opalsecurity/TlQj9FwRe9HHNEYB/images/docs/0552251ba5a6f521b9f086b30e82097ae8f9a8eb97cf28211a2f42af6119ca82-Screenshot_2025-01-23_at_4.05.38_PM.png?w=2500\u0026fit=max\u0026auto=format\u0026n=TlQj9FwRe9HHNEYB\u0026q=85\u0026s=10483c1b406ccd40a5870db20d55869f 2500w`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The email of an admin user which the chat app can authenticate as to use the domain wide delegated scopes you granted earlier`}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/opalsecurity/TlQj9FwRe9HHNEYB/images/docs/01735ff8b77bb2ad05d3f6190f5a2dd3498f7527bf654b44483aaa4b8916e874-Screenshot_2025-01-23_at_4.07.57_PM.png?fit=max\u0026auto=format\u0026n=TlQj9FwRe9HHNEYB\u0026q=85\u0026s=59e26dd0f6372e8ee2bb815908c30176`,alt:``,\"data-og-width\":`1242`,width:`1242`,\"data-og-height\":`650`,height:`650`,\"data-path\":`images/docs/01735ff8b77bb2ad05d3f6190f5a2dd3498f7527bf654b44483aaa4b8916e874-Screenshot_2025-01-23_at_4.07.57_PM.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/opalsecurity/TlQj9FwRe9HHNEYB/images/docs/01735ff8b77bb2ad05d3f6190f5a2dd3498f7527bf654b44483aaa4b8916e874-Screenshot_2025-01-23_at_4.07.57_PM.png?w=280\u0026fit=max\u0026auto=format\u0026n=TlQj9FwRe9HHNEYB\u0026q=85\u0026s=b27a1d4e18e852ee0901130c258d5e02 280w, https://mintcdn.com/opalsecurity/TlQj9FwRe9HHNEYB/images/docs/01735ff8b77bb2ad05d3f6190f5a2dd3498f7527bf654b44483aaa4b8916e874-Screenshot_2025-01-23_at_4.07.57_PM.png?w=560\u0026fit=max\u0026auto=format\u0026n=TlQj9FwRe9HHNEYB\u0026q=85\u0026s=d56027f40817100141cd972bd124e3fd 560w, https://mintcdn.com/opalsecurity/TlQj9FwRe9HHNEYB/images/docs/01735ff8b77bb2ad05d3f6190f5a2dd3498f7527bf654b44483aaa4b8916e874-Screenshot_2025-01-23_at_4.07.57_PM.png?w=840\u0026fit=max\u0026auto=format\u0026n=TlQj9FwRe9HHNEYB\u0026q=85\u0026s=56a0f14ea07333b4df5c801fa4019e13 840w, https://mintcdn.com/opalsecurity/TlQj9FwRe9HHNEYB/images/docs/01735ff8b77bb2ad05d3f6190f5a2dd3498f7527bf654b44483aaa4b8916e874-Screenshot_2025-01-23_at_4.07.57_PM.png?w=1100\u0026fit=max\u0026auto=format\u0026n=TlQj9FwRe9HHNEYB\u0026q=85\u0026s=93eead44ecaa15e985e7a9a5538870a0 1100w, https://mintcdn.com/opalsecurity/TlQj9FwRe9HHNEYB/images/docs/01735ff8b77bb2ad05d3f6190f5a2dd3498f7527bf654b44483aaa4b8916e874-Screenshot_2025-01-23_at_4.07.57_PM.png?w=1650\u0026fit=max\u0026auto=format\u0026n=TlQj9FwRe9HHNEYB\u0026q=85\u0026s=75d06e3121bfef282d679a6b4c6e26e9 1650w, https://mintcdn.com/opalsecurity/TlQj9FwRe9HHNEYB/images/docs/01735ff8b77bb2ad05d3f6190f5a2dd3498f7527bf654b44483aaa4b8916e874-Screenshot_2025-01-23_at_4.07.57_PM.png?w=2500\u0026fit=max\u0026auto=format\u0026n=TlQj9FwRe9HHNEYB\u0026q=85\u0026s=e584b61fa7134160da1f05da14714a16 2500w`}),`\n`,_jsxs(_components.p,{children:[`After you select `,_jsx(_components.strong,{children:`Create`}),`, you’re done setting up the app. Users will begin to receive notifications about access requests and reviews and can toggle their notifications in their account settings.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/opalsecurity/odnvD_MsXBxTor9u/images/docs/848f474a1ce0647dd62bef8cac6389d6a3e64e60eeb61f1621ef19e5284ff8fc-google-chat.png?fit=max\u0026auto=format\u0026n=odnvD_MsXBxTor9u\u0026q=85\u0026s=2d9384bf15a31721b2a9d28fbc85ab07`,alt:``,\"data-og-width\":`2570`,width:`2570`,\"data-og-height\":`682`,height:`682`,\"data-path\":`images/docs/848f474a1ce0647dd62bef8cac6389d6a3e64e60eeb61f1621ef19e5284ff8fc-google-chat.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/opalsecurity/odnvD_MsXBxTor9u/images/docs/848f474a1ce0647dd62bef8cac6389d6a3e64e60eeb61f1621ef19e5284ff8fc-google-chat.png?w=280\u0026fit=max\u0026auto=format\u0026n=odnvD_MsXBxTor9u\u0026q=85\u0026s=307378c8b7d6a752e7b90092cee08413 280w, https://mintcdn.com/opalsecurity/odnvD_MsXBxTor9u/images/docs/848f474a1ce0647dd62bef8cac6389d6a3e64e60eeb61f1621ef19e5284ff8fc-google-chat.png?w=560\u0026fit=max\u0026auto=format\u0026n=odnvD_MsXBxTor9u\u0026q=85\u0026s=765a454a461a07f497da719d8c428432 560w, https://mintcdn.com/opalsecurity/odnvD_MsXBxTor9u/images/docs/848f474a1ce0647dd62bef8cac6389d6a3e64e60eeb61f1621ef19e5284ff8fc-google-chat.png?w=840\u0026fit=max\u0026auto=format\u0026n=odnvD_MsXBxTor9u\u0026q=85\u0026s=045a04b8b8c0a563ae854a6a9147dba3 840w, https://mintcdn.com/opalsecurity/odnvD_MsXBxTor9u/images/docs/848f474a1ce0647dd62bef8cac6389d6a3e64e60eeb61f1621ef19e5284ff8fc-google-chat.png?w=1100\u0026fit=max\u0026auto=format\u0026n=odnvD_MsXBxTor9u\u0026q=85\u0026s=1d0c42655eebf19502bdcae23fd168bf 1100w, https://mintcdn.com/opalsecurity/odnvD_MsXBxTor9u/images/docs/848f474a1ce0647dd62bef8cac6389d6a3e64e60eeb61f1621ef19e5284ff8fc-google-chat.png?w=1650\u0026fit=max\u0026auto=format\u0026n=odnvD_MsXBxTor9u\u0026q=85\u0026s=98a8d3f84cf8b7065212669fabf9beee 1650w, https://mintcdn.com/opalsecurity/odnvD_MsXBxTor9u/images/docs/848f474a1ce0647dd62bef8cac6389d6a3e64e60eeb61f1621ef19e5284ff8fc-google-chat.png?w=2500\u0026fit=max\u0026auto=format\u0026n=odnvD_MsXBxTor9u\u0026q=85\u0026s=18ca80f1a403e194173f725f413ee9de 2500w`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Google Chat","description":"Learn how to connect Opal to Google Chat.","href":"/integrations/google-chat"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"1. Create a Project","slug":"1-create-a-project","depth":2,"children":[]},{"title":"2. Set up Service Account Credentials","slug":"2-set-up-service-account-credentials","depth":2,"children":[]},{"title":"3. Set up Google Chat App","slug":"3-set-up-google-chat-app","depth":2,"children":[{"title":"Self-hosted","slug":"self-hosted","depth":3,"children":[]},{"title":"Cloud","slug":"cloud","depth":3,"children":[]}]},{"title":"4. Publish the Chat App","slug":"4-publish-the-chat-app","depth":2,"children":[]},{"title":"5. Install the Chat App to your workspace","slug":"5-install-the-chat-app-to-your-workspace","depth":2,"children":[]},{"title":"6. Connect Google Chat to Opal","slug":"6-connect-google-chat-to-opal","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/opalsecurity/d0e14c3cf9bbd682/changelog-scraper.js"],"subdomain":"opalsecurity","siteName":"Opal Security Docs","title":"Google Chat - Opal Security Docs","contextualStarterQuestions":[{"_id":"69b0b49c0e8c1bf71a51a4e6","deploymentId":"68ddaa9a3f8b7de5bc3a7b47","questionText":"How do I enable Google Chat API?","status":"active","generatedBy":"contextual","path":"integrations/google-chat","createdAt":"2026-03-11T00:17:32.553Z","updatedAt":"2026-03-11T00:17:32.553Z","__v":0},{"_id":"69b0b49c0e8c1bf71a51a4e4","deploymentId":"68ddaa9a3f8b7de5bc3a7b47","questionText":"How do I create a service account?","status":"active","generatedBy":"contextual","path":"integrations/google-chat","createdAt":"2026-03-11T00:17:32.553Z","updatedAt":"2026-03-11T00:17:32.553Z","__v":0},{"_id":"69b0b49c0e8c1bf71a51a4e5","deploymentId":"68ddaa9a3f8b7de5bc3a7b47","questionText":"What scopes does Opal need?","status":"active","generatedBy":"contextual","path":"integrations/google-chat","createdAt":"2026-03-11T00:17:32.553Z","updatedAt":"2026-03-11T00:17:32.553Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-28T20:32:08.800Z","gitLastModified":"2025-10-28T01:01:05.000Z","originalFileLocation":"integrations/google-chat.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Learn how to connect Opal to Google Chat.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Opal Security Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Google Chat - Opal Security Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn how to connect Opal to Google Chat.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Opal Security Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.opal.dev/integrations/google-chat\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://opalsecurity.mintlify.site/_mintlify/api/og/v2?division=Communication\u0026amp;title=Google+Chat\u0026amp;description=Learn+how+to+connect+Opal+to+Google+Chat.\u0026amp;theme=156eb1ba223f12a303f95077\u0026amp;signature=73a45ca95b5a71177f7cbc023582a46c2c6c618345a6ba5257acf16420fcd481\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Google Chat - Opal Security Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn how to connect Opal to Google Chat.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://opalsecurity.mintlify.site/_mintlify/api/og/v2?division=Communication\u0026amp;title=Google+Chat\u0026amp;description=Learn+how+to+connect+Opal+to+Google+Chat.\u0026amp;theme=156eb1ba223f12a303f95077\u0026amp;signature=73a45ca95b5a71177f7cbc023582a46c2c6c618345a6ba5257acf16420fcd481\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Opal Security Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0C7997\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.opal.dev/integrations/google-chat\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/integrations/google-chat.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.opal.dev/#organization\",\"name\":\"Opal Security Docs\",\"url\":\"https://docs.opal.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/opalsecurity/FBbZyeMPZrA69UcV/logo/logo-dark.svg?fit=max\u0026auto=format\u0026n=FBbZyeMPZrA69UcV\u0026q=85\u0026s=93a4bd75f157f9f0ab43cdf4d715b5cd\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.opal.dev#website\",\"name\":\"Opal Security Docs\",\"url\":\"https://docs.opal.dev\",\"publisher\":{\"@id\":\"https://docs.opal.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.opal.dev/integrations/google-chat#webpage\",\"url\":\"https://docs.opal.dev/integrations/google-chat\",\"name\":\"Google Chat\",\"description\":\"Learn how to connect Opal to Google Chat.\",\"dateModified\":\"2025-10-28T01:01:05.000Z\",\"isPartOf\":{\"@id\":\"https://docs.opal.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.opal.dev/integrations/google-chat#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.opal.dev/integrations/google-chat#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Opal Security Docs\",\"item\":\"https://docs.opal.dev\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Google Chat\",\"item\":\"https://docs.opal.dev/integrations/google-chat\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.opal.dev/integrations/google-chat#article\",\"headline\":\"Google Chat\",\"name\":\"Google Chat\",\"description\":\"Learn how to connect Opal to Google Chat.\",\"url\":\"https://docs.opal.dev/integrations/google-chat\",\"mainEntityOfPage\":{\"@id\":\"https://docs.opal.dev/integrations/google-chat#webpage\"},\"dateModified\":\"2025-10-28T01:01:05.000Z\",\"publisher\":{\"@id\":\"https://docs.opal.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.opal.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Opal Security Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Opal Security Docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/integrations/google-chat.md","siteName":"Opal Security Docs","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/welcome"}]},{"tab":"Integrations","pages":[{"title":"Integrations","sidebarTitle":"Overview","mode":"wide","href":"/integrations/overview"},{"group":"IDP \u0026 HRIDP","pages":[{"group":"Okta","pages":[{"title":"Okta","sidebarTitle":"Connect to Okta","href":"/integrations/okta"},{"title":"Okta IDP/HRIS Integration","href":"/integrations/okta-idphris-integration"},{"title":"Import Okta apps","href":"/integrations/okta-apps"},{"title":"Okta rate limits","href":"/integrations/okta-rate-limits"}]},{"group":"OneLogin","pages":[{"title":"OneLogin IDP/HRIS Integration","tag":"NEW","href":"/integrations/onelogin-idphris-integration"}]},{"group":"Google","pages":[{"title":"Google","sidebarTitle":"Connect to Google","href":"/integrations/google"},{"title":"Google IDP/HRIS Integration","href":"/integrations/google-idphris-integration"},{"title":"Google Groups","href":"/integrations/google-groups"},{"title":"Google Shared Drive","tag":"NEW","href":"/integrations/google-shared-drive"},{"title":"Google Workspace","href":"/integrations/google-workspace"}]},{"group":"Azure","pages":[{"title":"Azure","sidebarTitle":"Connect to Azure","href":"/integrations/azure"},{"title":"Azure Entra IDP/HRIS Integration","href":"/integrations/azure-entra-idphris-integration"},{"title":"Azure Infrastructure Setup","href":"/integrations/azure-infrastructure-setup"},{"title":"Add Azure Databases","href":"/integrations/adding-azure-sql-databases"},{"title":"Azure Real Time Sync Setup","href":"/integrations/azure-real-time-sync"}]},{"group":"Active Directory","pages":[{"title":"Overview","sidebarTitle":"Connect to Active Directory","href":"/integrations/active-directory"},{"title":"Active Directory IDP/HRIS Integration","href":"/integrations/active-directory-idphris-integration"}]},{"group":"Workday","pages":[{"title":"Overview","sidebarTitle":"Connect to Workday","href":"/integrations/workday"},{"title":"Workday IDP/HRIS Integration","href":"/integrations/workday-idphris-integration"}]},{"group":"Rippling","pages":[{"title":"Rippling IDP/HRIS Integration","tag":"NEW","href":"/integrations/rippling-idphris-integration"}]}]},{"group":"Entitlement Management","pages":[{"group":"Infrastructure","expanded":true,"pages":[{"group":"Amazon Web Services (AWS)","expanded":false,"pages":[{"title":"Amazon Web Services (AWS)","href":"/integrations/setting-up-your-aws-organization-in-opal"},{"title":"Configure AWS for self-hosted Opal","href":"/integrations/aws-integration-on-prem-setup"},{"title":"Configure additional AWS accounts to manage in Opal","href":"/integrations/configure-additional-aws-accounts-to-manage-in-opal"},{"title":"AWS IAM Identity Center Workflows","href":"/integrations/aws-iam-identity-center-formerly-aws-sso"},{"title":"Add an IAM role","href":"/integrations/adding-an-iam-role"},{"title":"Add an RDS database","href":"/integrations/adding-an-rds-database"},{"title":"Add an EC2 instance","href":"/integrations/adding-an-ec2-instance"},{"title":"Add an EKS cluster","href":"/integrations/adding-an-eks-cluster"},{"title":"Adding AWS Resources to Opal Groups via AWS Tags","href":"/integrations/adding-aws-resources-to-opal-groups-via-aws-tags"},{"title":"AWS Real Time Sync Setup","href":"/integrations/aws-real-time-sync"}]},{"group":"Google Cloud Platform (GCP)","expanded":false,"pages":[{"title":"Google Cloud Platform (GCP)","sidebarTitle":"Connect to GCP","href":"/integrations/google-cloud-platform"},{"title":"Add an organization","href":"/integrations/adding-gcp-organization"},{"title":"Add a project","href":"/integrations/adding-gcp-project"},{"title":"Add a folder","href":"/integrations/adding-gcp-folder"},{"title":"Add a BigQuery Dataset","href":"/integrations/adding-bigquery-dataset"},{"title":"Add a Cloud Storage bucket","href":"/integrations/adding-gcp-bucket"},{"title":"Add a Cloud SQL Instance","href":"/integrations/adding-sql-instance"},{"title":"Add a Compute Engine Instance","href":"/integrations/adding-compute-instance"},{"title":"Google Kubernetes Engine (GKE)","href":"/integrations/google-kubernetes-engine-getting-started"},{"title":"GCP Service Accounts","href":"/integrations/gcp-service-accounts"}]},{"group":"Snowflake","expanded":false,"pages":[{"title":"Snowflake","sidebarTitle":"Connect to Snowflake","href":"/integrations/snowflake"},{"title":"Snowflake User Provisioning","href":"/integrations/snowflake-user-provisioning"}]}]},{"title":"1Password","tag":"NEW","href":"/integrations/1password"},{"title":"Anthropic Platform","href":"/integrations/anthropic"},{"title":"Astra","href":"/integrations/astra"},{"title":"Axiom","href":"/integrations/axiom"},{"title":"Box","tag":"NEW","href":"/integrations/box"},{"title":"Clickhouse","href":"/integrations/clickhouse"},{"title":"Atlassian Confluence","sidebarTitle":"Atlassian Confluence","href":"/integrations/confluence"},{"title":"Coupa","href":"/integrations/coupa"},{"title":"Cursor","href":"/integrations/cursor"},{"title":"Databricks","href":"/integrations/databricks"},{"title":"Datadog","href":"/integrations/datadog"},{"title":"Devin AI","href":"/integrations/devin"},{"title":"Docusign","href":"/integrations/docusign"},{"title":"Duo","href":"/integrations/duo"},{"title":"GitGuardian","tag":"NEW","href":"/integrations/gitguardian"},{"title":"GitHub","href":"/integrations/github"},{"title":"GitHub Enterprise","href":"/integrations/github-enterprise"},{"title":"GitLab","href":"/integrations/gitlab"},{"title":"Grafana","href":"/integrations/grafana"},{"title":"Hubspot","href":"/integrations/hubspot"},{"title":"Incident.io","href":"/integrations/incidentio"},{"title":"Atlassian Jira","sidebarTitle":"Atlassian Jira","href":"/integrations/jira"},{"title":"LDAP","href":"/integrations/ldap"},{"title":"Linear","sidebarTitle":"Linear","href":"/integrations/linear"},{"title":"NetSuite","href":"/integrations/netsuite"},{"title":"Okta CIAM","href":"/integrations/okta-ciam"},{"title":"OneLogin","tag":"NEW","href":"/integrations/onelogin"},{"title":"OpenAI Platform","href":"/integrations/openai"},{"title":"Oracle Fusion Cloud","href":"/integrations/oracle-fusion-cloud"},{"title":"PagerDuty","href":"/integrations/pagerduty-entitlements"},{"title":"Ramp","href":"/integrations/ramp"},{"title":"Rippling","href":"/integrations/rippling"},{"title":"Rootly","href":"/integrations/rootly"},{"title":"Salesforce","href":"/integrations/salesforce"},{"title":"Sentry","tag":"NEW","href":"/integrations/sentry"},{"title":"Slack users, groups, and roles","href":"/integrations/slack-user-groups"},{"title":"Square","tag":"NEW","href":"/integrations/square"},{"title":"Salesforce Tableau","href":"/integrations/tableau"},{"title":"Tailscale","href":"/integrations/tailscale"},{"title":"Teleport","href":"/integrations/teleport"},{"title":"Twingate","href":"/integrations/twingate"},{"title":"Vercel","href":"/integrations/vercel"},{"title":"Workato","tag":"NEW","href":"/integrations/workato"},{"title":"Workday groups and roles","href":"/integrations/workday-groups-and-roles"},{"title":"Wrike","href":"/integrations/wrike"},{"title":"Zendesk","href":"/integrations/zendesk"},{"title":"Zoom","description":"Learn how to connect your Zoom instance to Opal to manage and review access.","href":"/integrations/zoom"}]},{"group":"Productivity Tools","pages":[{"group":"Communication","expanded":true,"pages":[{"title":"Google Chat","href":"/integrations/google-chat"},{"title":"Lark","description":"Learn how to connect Opal to Lark to send notifications and manage access requests.","href":"/integrations/lark"},{"title":"Microsoft Teams","href":"/integrations/microsoft-teams"},{"title":"Slack","href":"/integrations/slack"}]},{"group":"Ticketing","expanded":true,"pages":[{"title":"Freshservice","href":"/integrations/freshservice"},{"title":"Jira","href":"/integrations/jira-ticketing"},{"title":"Linear","href":"/integrations/linear-ticketing"},{"title":"Notion","href":"/integrations/notion"},{"title":"Risotto","tag":"BETA","href":"/integrations/risotto"},{"title":"ServiceNow","href":"/integrations/servicenow"},{"title":"Shortcut","href":"/integrations/shortcut"}]},{"group":"On-call","expanded":true,"pages":[{"title":"Opsgenie","deprecated":true,"href":"/integrations/opsgenie"},{"title":"PagerDuty","deprecated":true,"href":"/integrations/pagerduty-oncall"}]}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/reference/authentication"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/changelog"}]}]},"basePath":"","title":"Google Chat - Opal Security Docs","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-BbK2OBGL.js","lightbox-handle-r17bVUz3.js"]}